Skip to main content

Secure End to End encrypted video chat over terminal.

Project description

S2C

demo

A secret video chat "in terminal" using PGP encryptions and AES encryptions. No Browser needed !

Features

  • Video + Audio Chat in terminal

Requirements

  • Python (>3.10 is recommended)
  • poraudio.h (for the audio forwarding, more details later)

How to use

Installation

Install bindings librairies for pyaudio !

  • On linux/Mac : sudo apt install -y portaudio19-dev and sudo apt install -y pyaudio

Because it's a pip package, you need to install it using pypi !

pip install s2c

Manual

Client

The manual of s2c :

usage: s2c [-h] [-s SESSION_ID] [-c CLIENT_ID] [-k KEY] [-i IP] [-p PORT]

optional arguments:
  -h, --help            show this help message and exit
  -s SESSION_ID, --session_id SESSION_ID
                        The sesion_id, if noting is provide,it will generate
                        for you
  -c CLIENT_ID, --client_id CLIENT_ID
                        Your id or name in the session, if noting is
                        provide,it will generate for you
  -k KEY, --key KEY     To provide the custom key for the AES encryption
  -i IP, --ip IP        The host of the server where websockets will transits
  -p PORT, --port PORT  The port of the host

For example : $s2c -s 1 -c 1 -i 127.0.0.1 -p 1122 Will connect you to the server '127.0.0.1:1122' in the session '1', your id is '1' !

Server

NB : At this step, the server should be running on ip : 127.0.0.1 and on port 1122, don't forget to allow the port using ufw (on linux)

To run the server :

s2c_server -p 1122

FROM SOURCES

HOW TO INSTALL

Install bindings librairies for pyaudio !

  • On linux/Mac : sudo apt install -y portaudio19-dev and sudo apt install -y pyaudio

Clone and set the virtualenvironment :

# We clone the repository
git clone https://github.com/sanix-darker/s2c

# Install uv if you haven't
pip install uv

# Build the package (will use pyproject.toml)
uv pip install .

# Or for development install
uv pip install -e .

HOW TO LAUNCH

SERVER

The server take only one parameter, the port, where it's going to run !

python3 -m server.main -h

usage: main.py [-h] [-p PORT]

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT  The port where the server will be running

CLIENT

Just as the section Manual under How to use, you just have to replace s2c by python3 -m client.main

About

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

s2c-0.0.7.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

s2c-0.0.7-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file s2c-0.0.7.tar.gz.

File metadata

  • Download URL: s2c-0.0.7.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for s2c-0.0.7.tar.gz
Algorithm Hash digest
SHA256 06130d37550e18240b362b85695401a5c426dcb68bc725dd4f08ce7fe1366d58
MD5 3fcc971894a7d6a11893c9f86e54467d
BLAKE2b-256 ca841547e55bcdfe0b506a9abb6032d4077b5c889ec2be713924c988b8cc9fed

See more details on using hashes here.

File details

Details for the file s2c-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: s2c-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for s2c-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 bf28ecd1771edd8090f3e984c2b53dc2276dd0cb9e2eee5d82474379edeb8672
MD5 59a4ae747e3c54e5a37ef2d09f2f1116
BLAKE2b-256 c0a8817bd44c3f5948a460d59c0717fa247d14ff17082efb614c9b57b29ac96c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page