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.

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)

Uploaded Source

Built Distribution

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

freq_cli-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

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

Hashes for freq_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 840c8c1d62c415836f7d4a194bbdccffe2da77a08160070837a153acafdfd32c
MD5 a5d568ce7e7eb5724aa54c2bcf07eb0b
BLAKE2b-256 531217b588141200d832321565773878ad301dca280cb0804a82ecc81d9cb06c

See more details on using hashes here.

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

Hashes for freq_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d70fc5fa98cd35a09d272b30eb6354a6890186b9e13cfeed462f5b90e91c163
MD5 6fb9bbe09149367b0be0b89c23cba9a0
BLAKE2b-256 c845b86491a369d5ae6c5628128d96306d419681bb8d83743e8e45fc7eda9c17

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