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.4.tar.gz (7.8 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.4-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freq_cli-0.1.4.tar.gz
  • Upload date:
  • Size: 7.8 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.4.tar.gz
Algorithm Hash digest
SHA256 19896304cef5f62446136805aa58d4d727aca0147f2e84a509bc2b59a125946f
MD5 8d6d75563f6c932826023616471c6edf
BLAKE2b-256 d714ba17e1894ff863d62d36519025c4e0f89a624f86c7b3657a31c3525165d4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: freq_cli-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3aa9ceb44bf9d2160b57328aa7790f68cb38f45a594d39d58ccdd713eb4cf157
MD5 34aba5fb974a1dd624ee490c99b2a292
BLAKE2b-256 56e8e5b0660f5083933b214eaaf8eb7b060eed357a65c3f9e7983b640acbd515

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