Skip to main content

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.

Fullscreen and unmute for better experience

Watch the Freq Demo

This is between two different devices on different Operating Systems and different terminals

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.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freq_cli-0.1.2-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file freq_cli-0.1.2.tar.gz.

File metadata

  • Download URL: freq_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for freq_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b270dc2191d2c307b19bceedf0360ec424d0395cac008bbf594469d018700a05
MD5 5254a7f31c213f41992bf73456a4bb24
BLAKE2b-256 87369adf5424941d765e431887fbacc93f34bfc0c56cf31eabbeb23b218ff5db

See more details on using hashes here.

File details

Details for the file freq_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: freq_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for freq_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8770230c2c75eb5cc7d8ae603f964c684430e0623ce509fbc41abba4c48a783e
MD5 674dff673914c4771eaf3ffbb64101a8
BLAKE2b-256 6a0f6a345c5284a82995b56b685960ab5de0b7f5c7429609d751a23329b9217f

See more details on using hashes here.

Supported by

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