explaingit

edengilbertus/terminalphone

Analysis updated 2026-05-18

71ShellAudience · generalComplexity · 3/5Setup · moderate

TLDR

A single Bash script that lets two or more people have anonymous, encrypted walkie-talkie style voice and text calls over Tor.

Mindmap

mindmap
  root((repo))
    What it does
      Push to talk voice
      Encrypted text chat
      Tor hidden service identity
    Tech stack
      Bash
      Tor
      Opus codec
    Use cases
      Anonymous voice calls
      Group relay calls
      Censorship circumvention
    Audience
      Privacy focused users
    Setup
      Clone repo
      Run install menu

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Hold an anonymous, encrypted voice conversation with someone using only their .onion address.

USE CASE 2

Exchange encrypted text messages during a call without any server or phone number.

USE CASE 3

Run a relay so multiple anonymous callers can join a group call without the operator reading the content.

What is it built with?

ShellTorOpussox

How does it compare?

edengilbertus/terminalphoneduolahypercho/fusion-fableduggasco/bc250-40cu-unlock
Stars717074
LanguageShellShellShell
Setup difficultymoderateeasyhard
Complexity3/52/55/5
Audiencegeneraldeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Tor and a few audio dependencies (opus-tools, sox, socat), installed through the script's own menu.

The README does not clearly state license terms in the available text.

In plain English

TerminalPhone is a single Bash script that lets two or more people have anonymous, encrypted voice conversations over the Tor network, which routes internet traffic through multiple relays to obscure who is talking to whom. It works like a walkie-talkie: you hold a key to record a voice message, release it to send, and the other person receives and plays it back. You can also exchange encrypted text messages during a call by pressing a key to type. Each person who runs the script automatically gets their own Tor hidden service address, which is a .onion address that acts as their identity. You share this address with the people you want to talk to, and they dial it to connect. No server, no account, and no phone number is involved. The voice audio is compressed with the Opus codec at a very low bitrate (about 20 KB for a 10-second message) to keep it practical over Tor's limited speeds. All audio and text is encrypted before being sent, using a shared secret that both parties agree on in advance. The encryption algorithm is configurable from a list of 21 options, defaulting to AES-256. An optional HMAC authentication layer can sign every message so that forged or replayed messages are silently dropped. Temporary files use random names with no identifying extensions, so nothing about the conversation leaks to the local filesystem. Additional features include a voice changer with several presets, the ability to display your address as a QR code in the terminal, a relay mode that lets multiple callers join a group call without the relay operator being able to read the content, and the option to exclude specific countries from your Tor circuit path. The script runs on Linux, macOS, and Android (via the Termux terminal app) and requires no root access. Dependencies install through the script's own menu.

Copy-paste prompts

Prompt 1
Walk me through cloning this repo and running the install menu on Linux.
Prompt 2
Explain how each person gets their own Tor hidden service address in this script.
Prompt 3
How do I change the encryption cipher used for a call?
Prompt 4
What does relay mode do and how do multiple callers join a group call?

Frequently asked questions

What is terminalphone?

A single Bash script that lets two or more people have anonymous, encrypted walkie-talkie style voice and text calls over Tor.

What language is terminalphone written in?

Mainly Shell. The stack also includes Shell, Tor, Opus.

What license does terminalphone use?

The README does not clearly state license terms in the available text.

How hard is terminalphone to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is terminalphone for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.