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.3.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.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freq_cli-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 ea5119700ff52838a2cf6aa06dbcef50b1b9da8a94d65ce98b9788226c8f236a
MD5 e0a80da6e142f4d44d4cc720a49341bc
BLAKE2b-256 19ca62b3e62d6111747dafcbd7819b481e85c89a9a23c886d6afe9ca4b3a0261

See more details on using hashes here.

File details

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

File metadata

  • Download URL: freq_cli-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 40e05439cc5ce56f1147b1f0dfd25de78bdf8584d5e9e2d061142bdf9f81ae67
MD5 62592e4d3c001f395f1877e051491656
BLAKE2b-256 c91b2616a7b79321cd9aec1a8797124c7850aff6e2d8f7131891abca75fe0a1b

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