Secure, stateless TUI chat and voice. Drop into a frequency and broadcast.
Project description
freq
Secure, stateless TUI chat and voice. Drop into a frequency and broadcast. Zero logs, zero identity, end-to-end encrypted.
Install
pip install freq-cli
Usage
freq
Inside the app:
| Command | Action | Example |
|---|---|---|
/tune <frequency> |
Join a frequency | /tune 104.5 or /tune flavortown |
/nick <name> |
Set your display name | /nick flavorpheus |
/leave |
Disconnect | /leave |
Ctrl+R |
Toggle audio streaming | Press Ctrl+R to start/stop |
| (Type anything else) | Send an encrypted message | Hello! |
How it works
- You type a frequency. The client uses Argon2id to derive a 32-byte AES key from that string.
- The client connects to the relay server and joins a room identified by the SHA-256 hash of the AES key. The server never sees the frequency or the key.
- All messages and audio are encrypted with AES-256-GCM before leaving your machine.
- Audio uses real-time streaming — each ~100ms chunk is encrypted and sent individually. Multiple voices are mixed with numpy for overlapping audio.
- The server is a stateless blind relay. It broadcasts encrypted blobs to the room and stores nothing.
Security
| Layer | Implementation |
|---|---|
| Key derivation | Argon2id (64 MiB, 3 iterations) |
| Encryption | AES-256-GCM with random 12-byte nonce |
| Room identity | SHA-256 of AES key (server never sees frequency) |
| Transport | WSS (TLS) to relay server |
| Identity | None. No accounts, no keys on disk, no persistent state. |
Requirements
- Python 3.10+
- A microphone (for audio streaming)
- A terminal that supports 256 colors
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
freq_cli-0.1.0.tar.gz
(7.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file freq_cli-0.1.0.tar.gz.
File metadata
- Download URL: freq_cli-0.1.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
840c8c1d62c415836f7d4a194bbdccffe2da77a08160070837a153acafdfd32c
|
|
| MD5 |
a5d568ce7e7eb5724aa54c2bcf07eb0b
|
|
| BLAKE2b-256 |
531217b588141200d832321565773878ad301dca280cb0804a82ecc81d9cb06c
|
File details
Details for the file freq_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: freq_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d70fc5fa98cd35a09d272b30eb6354a6890186b9e13cfeed462f5b90e91c163
|
|
| MD5 |
6fb9bbe09149367b0be0b89c23cba9a0
|
|
| BLAKE2b-256 |
c845b86491a369d5ae6c5628128d96306d419681bb8d83743e8e45fc7eda9c17
|