
Verschlüsselte Push-to-Talk-Sprach- und Textkommunikation über Tor-Versteckdienste mit Ende-zu-Ende-Verschlüsselung, konfigurierbaren Ciphern, Relay-Modus für Gruppenanrufe und anti-forensischer Datenvernichtung.
Verschlüsselte Push-to-Talk-Sprachkommunikation über Tor-Hidden-Services.
TerminalPhone ist ein einzelnes, eigenständiges Bash-Skript, das anonyme, Ende-zu-Ende-verschlüsselte Sprach- und Textkommunikation zwischen zwei oder mehr Parteien über das Tor-Netzwerk ermöglicht. Es funktioniert wie ein Walkie-Talkie: Sie nehmen eine Sprachnachricht auf, die komprimiert, verschlüsselt und als einzelne Einheit an die Gegenstelle übertragen wird. Sie können während eines Anrufs auch verschlüsselte Textnachrichten senden. Keine Serverinfrastruktur, keine Konten, keine Telefonnummern. Ihre Tor-Hidden-Service-.onion-Adresse ist Ihre Identität.
T, um eine Nachricht zu tippen..onion-Adressen aus. Die entfernte Adresse wird im Anrufkopf angezeigt.S, um auf die Einstellungen zuzugreifen. Ändern Sie Ihre Chiffre im laufenden Betrieb; die Anzeige der Gegenstelle aktualisiert sich automatisch.jq (wird bei Bedarf installiert). Die Lautstärke wird nach jedem Auslösen automatisch wiederhergestellt..onion-Adresse dient als permanenter, routbarer Endpunkt. Keine Portweiterleitung oder öffentliche IP erforderlich..onion-Adresse als scannbaren QR-Code im Terminal anzeigen. Wenn qrencode nicht installiert ist, werden Sie zur Installation aufgefordert. Der QR-Code wird auf dem alternativen Bildschirmpuffer gerendert und beim Schließen zerstört. Ein Hinweis warnt, dass einige QR-Scanner automatisch http:// voranstellen; dieses Präfix wird beim Wählen automatisch entfernt..tmp-Erweiterungen und zufällige Hex-Identifikatoren. Keine Dateityp- oder Zeitstempel-Metadaten werden an das Dateisystem weitergegeben.ExcludeNodes mit StrictNodes in der torrc./dev/urandom überschreibt. Die Dateigröße wird gelesen, so viele Bytes Zufallsdaten werden mit dd unter Verwendung von conv=notrunc über die Datei geschrieben, der Schreibvorgang wird mit sync auf das Speichergerät geleert, und dann wird die Datei mit rm entfernt. Deckt alle sensiblen Laufzeitdateien ab: rohe PCM-Aufnahmen, Opus-kodiertes Audio, verschlüsselte Payloads, entschlüsseltes eingehendes Audio und Chat, Stimmeffekt-Zwischenprodukte, Chiffre- und HMAC-Schlüsselmaterial, Nonce-Protokolle, Sitzungsflags, PID-Dateien, Named Pipes, Tor-Hidden-Service-Schlüssel bei Rotation und Relais-Sitzungsdaten. Bei Verzeichnissen werden alle darin enthaltenen Dateien rekursiv überschrieben. Eine integrierte Testoption erstellt eine Beispieldatei, zeigt den ursprünglichen Inhalt im Klartext und als Hex an, überschreibt sie und zeigt das überschriebene Hex an, damit der Benutzer visuell bestätigen kann, dass die Daten zerstört wurden. Standardmäßig deaktiviert -- für die meisten Benutzer ist ein normales rm völlig ausreichend. Die temporären Dateien von TerminalPhone sind klein und kurzlebig, und der Speicherplatz wird typischerweise schnell durch normale Systemaktivität wiederverwendet. Diese Funktion ist für Benutzer gedacht, die eine zusätzliche Schutzschicht gegen forensische Wiederherstellung wünschen. Hinweis: Auf SSDs und Flash-Speichern bedeutet Wear Leveling, dass das Überschreiben auf anderen physischen NAND-Zellen landen kann -- Vollplattenverschlüsselung ist der einzige zuverlässige Schutz auf Flash-Medien. Auf herkömmlichen HDDs ersetzt das Überschreiben die Daten an derselben physischen Stelle und ist gegen alle softwarebasierten Wiederherstellungsmethoden wirksam.RELAY:1-Handshake und zeigen die Live-Anzahl der Gruppenanrufer an. Wenn ein Anrufer geht, werden die anderen nicht getrennt. Das Operator-Dashboard zeigt Anruferanzahl, Betriebszeit und Datendurchsatz.Unterstützte Distributionen: Debian/Ubuntu (apt), Fedora/RHEL (dnf), Arch (pacman).``` bash
git clone https://gitlab.com/here_forawhile/terminalphone.git cd terminalphone bash terminalphone.sh
Wählen Sie Option **7** im Menü, um alle Abhängigkeiten automatisch zu installieren. Die folgenden Pakete werden installiert:
| Paket | Zweck |
|---|---|
| `tor` | Onion-Routing und versteckter Dienst |
| `opus-tools` | Sprachkomprimierung (Opus-Codec) |
| `sox` | Audioverarbeitungsprogramme |
| `socat` | Bidirektionales TCP-Relay über Tor-SOCKS-Proxy |
| `openssl` | AES-256-CBC-Verschlüsselung und -Entschlüsselung |
| `alsa-utils` | Audioaufnahme und -wiedergabe (`arecord`, `aplay`) |
### macOS``` bash
git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh
Wählen Sie Option 7, um alle Abhängigkeiten automatisch zu installieren. Wenn Homebrew nicht installiert ist, installiert das Skript es zuerst und dann die folgenden Pakete:
Hinweis: macOS verwendet sox sowohl für die Aufnahme (rec) als auch für die Wiedergabe (play) anstelle von ALSA. Es sind keine zusätzlichen Audiopakete erforderlich.
Apple Silicon (M1/M2/M3+): Falls Ihr Terminal zufällig unter Rosetta 2 läuft (ein x86_64-Prozess), während Homebrew im nativen ARM-Präfix (/opt/homebrew) installiert ist, schlägt brew install normalerweise mit Cannot install under Rosetta 2 in ARM default prefix fehl. Der Abhängigkeitsinstaller erkennt dies nun und führt Homebrew automatisch unter arch -arm64 erneut aus, sodass Option 7 unabhängig davon funktioniert, wie das Skript gestartet wurde.
TerminalPhone unterstützt Android-Geräte über Termux. Aufgrund der Sandbox-Audioarchitektur von Android sind zwei zusätzliche Komponenten erforderlich.
Schritt 1: Termux installieren
Installieren Sie Termux von F-Droid. Verwenden Sie nicht die Play-Store-Version, da diese veraltet ist und keine Updates mehr erhält.
Schritt 2: Die Termux:API-App installieren
Installieren Sie Termux:API von F-Droid. Dies ist eine separate Android-Anwendung (kein Termux-Paket), die eine Brücke zwischen Termux und den Android-System-APIs bereitstellt. TerminalPhone benötigt sie, um auf das Gerätemikrofon und die Medienwiedergabe zuzugreifen.
Ohne die auf dem Gerät installierte Termux:API-App funktionieren die Befehle termux-microphone-record und termux-media-player nicht, und Audioaufnahme und -wiedergabe schlagen still fehl.
Nach der Installation der Termux:API-App erteilen Sie ihr die Mikrofonberechtigungen, wenn Sie dazu aufgefordert werden.
Schritt 3: Das Termux:API-Paket innerhalb von Termux installieren```bash pkg install termux-api
Dies installiert die Befehlszeilen-Dienstprogramme, die mit der Termux:API-App kommunizieren.
**Schritt 4: TerminalPhone ausführen**```bash
git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh
Wählen Sie Option 7, um alle verbleibenden Abhängigkeiten zu installieren. Das Installationsprogramm führt zuerst pkg upgrade aus, um etwaige Paketverknüpfungsprobleme zu beheben, und installiert dann tor, opus-tools, sox, socat, openssl-tool, ffmpeg und termux-api.
Termux-spezifische Abhängigkeiten:
| Paket | Zweck |
|---|---|
termux-api | CLI-Brücke zum Android-Mikrofon und Media Player |
ffmpeg | Konvertiert Android-M4A-Aufnahmen in rohes PCM für die Opus-Kodierung |
To receive a call: Select option 1 (Listen for calls) To make a call: Select option 2 (Call an onion address)
Beide Parteien müssen Tor ausführen und vor dem Initiieren eines Anrufs dasselbe gemeinsame Geheimnis konfiguriert haben.
---
## Verwendung
### Menüoptionen```
1 Listen for calls Wait for an incoming connection
2 Call an onion address Connect to a remote .onion endpoint
3 Show my onion address Display your .onion address (with optional QR code)
4 Set shared secret Configure the pre-shared encryption key
5 Test audio (loopback) Record and play back audio locally
6 Show status Display Tor, secret, and connection status
7 Install dependencies Install all required packages
8 Start Tor Start the Tor process and hidden service
9 Stop Tor Stop the Tor process
10 Restart Tor Stop and restart Tor
11 Rotate onion address Generate a new .onion address (destroys the old one)
12 Settings Configure Opus quality, PTT chime, Snowflake, auto-listen, PTT key, voice changer, security, Tor settings
13 Relay mode Start a zero-knowledge group bridge for N callers
0 Quit Stop Tor and exit
Vollduplex-Modus (WebSockets):
| Taste | Aktion |
|---|---|
| M | Mikrofon stummschalten / Stummschaltung aufheben. |
| T | Eine verschlüsselte Textnachricht während des Anrufs senden. |
| Q | Auflegen und zum Menü zurückkehren. |
Push-to-Talk-Modus (Linux / macOS):
| Taste | Aktion |
|---|---|
| LEERTASTE gedrückt halten | Sprachnachricht aufnehmen. Wird beim Loslassen automatisch gesendet. |
| T | Eine verschlüsselte Textnachricht senden. |
| S | Einstellungen während des Anrufs öffnen (Chiffre ändern, Qualität anpassen). |
| Q | Auflegen und zum Menü zurückkehren. |
Push-to-Talk-Modus (Termux):
Die Software-Tastatur von Android sendet Tastenevents beim Loslassen, nicht beim Drücken. TerminalPhone passt sich an, indem es auf Termux den Umschaltmodus verwendet.
| Taste | Aktion |
|---|---|
| LEERTASTE antippen | Aufnahme starten. Erneut antippen, um zu stoppen und zu senden. |
bash terminalphone.sh install # Install dependencies bash terminalphone.sh test # Audio loopback test bash terminalphone.sh status # Show status bash terminalphone.sh listen # Listen for incoming calls bash terminalphone.sh call ADDRESS # Call a .onion address bash terminalphone.sh relay # Start relay mode (group bridge)
---
## So funktioniert es
TerminalPhone verwendet ein Aufzeichnen-dann-Senden-Modell. Wenn Sie PTT aktivieren, zeichnet das Mikrofon kontinuierlich auf, bis Sie loslassen. Die vollständige Aufnahme wird dann durch die folgende Pipeline verarbeitet:```
SENDER RECEIVER
────── ────────
Microphone Speaker
│ ▲
▼ │
Raw PCM (8kHz, 16-bit, mono) Opus decode
│ ▲
▼ │
Opus encode (16kbps) AES-256-CBC decrypt
│ ▲
▼ │
AES-256-CBC encrypt Base64 decode
│ ▲
▼ │
Base64 encode ──▶ socat ──▶ Tor ──▶ socat ──▶ Receive
Das Drahtprotokoll ist zeilenbasiert über eine TCP-Verbindung:
Unter Termux übernimmt ein zusätzlicher Konvertierungsschritt das native M4A-Aufnahmeformat von Android, wobei ffmpeg zur Konvertierung in rohes PCM vor der Opus-Kodierung verwendet wird.
Verschlüsselung: Alle Audiodaten werden vor der Übertragung mit einem benutzerkonfigurierbaren Algorithmus verschlüsselt (Standard: AES-256-CBC). 21 kuratierte Algorithmen sind verfügbar, eingestuft vom stärksten (256-Bit) bis zum ausreichenden (128-Bit). Der Schlüssel wird aus einem vorab geteilten Geheimnis mit PBKDF2 und 10.000 Iterationen abgeleitet. Die Verschlüsselung erfolgt auf der Anwendungsebene, unabhängig von Tors Transportverschlüsselung. Geheimnisse werden OpenSSL über Dateideskriptoren (-pass fd:3) übergeben, nicht über Befehlszeilenargumente, sodass sie niemals in der Prozesstabelle sichtbar sind.
Algorithmus-Aushandlung: Beide Parteien tauschen die Algorithmusnamen bei Verbindungsaufbau und bei jeder Änderung während des Anrufs aus. Algorithmusnamen sind nicht geheim (Kerckhoffs-Prinzip). Wenn lokaler und entfernter Algorithmus nicht übereinstimmen, sehen beide Parteien rote Indikatoren im Anrufkopf.
Transport: Alle Daten werden über Tor-Hidden-Service-Schaltkreise geleitet. Die IP-Adresse keiner Partei wird offengelegt. Es gibt keinen Clearnet-Verkehr. Die Verbindung kann von einem Netzwerkbeobachter keiner Partei zugeordnet werden.
Widerstand gegen Verkehrsanalyse: Das Aufzeichnen-und-Senden-Modell erzeugt unregelmäßige Übertragungsmuster (Nachrichten variabler Länge in unregelmäßigen Abständen), die schwerer zu identifizieren sind als kontinuierliches Streaming.
Authentifizierung: Das gemeinsame Geheimnis dient als implizite Authentifizierung. Wenn beide Parteien nicht dasselbe Geheimnis haben, schlägt die Entschlüsselung fehl und es wird kein Audio abgespielt. Bei Verbindungsaufbau tauschen beide Parteien .onion-Adressen zur Anruferidentifikation aus. Das Geheimnis kann optional im Ruhezustand mit einer Passphrase verschlüsselt werden; beim Start fordert das Skript zur Eingabe der Passphrase auf, um es zu entsperren.
HMAC-Protokollsignierung (optional): Wenn aktiviert, wird jede Drahtprotokollnachricht – einschließlich Steuersignalen wie HANGUP, PTT_START und PING – mit HMAC-SHA256 signiert, das aus dem gemeinsamen Geheimnis abgeleitet wird. Pro Nachricht wird eine zufällige Nonce eingefügt, sodass identische Befehle eindeutige Signaturen erzeugen. Gesehene Nonces werden pro Anruf verfolgt und Duplikate abgelehnt, was Replay-Angriffe verhindert. Die HMAC-Einstellung wird zu Anrufbeginn über eine Laufzeitdatei eingefroren, sodass Sende- und Empfangspfad immer übereinstimmen, selbst wenn die Einstellung während des Anrufs umgeschaltet wird (Änderungen gelten ab dem nächsten Anruf). Auf der Empfängerseite wird jede Nachricht mit ungültiger, fehlender oder wiedergegebener Signatur stillschweigend verworfen. Dies verhindert, dass ein Angreifer, der den Tor-Schaltkreis kompromittiert (aber nicht das gemeinsame Geheimnis besitzt), Befehle einschleust oder wiedergibt. Beide Parteien müssen HMAC aktivieren, damit Anrufe funktionieren. Nicht kompatibel mit Versionen vor 1.1.3.
Einschränkungen:
Relay-Modus-Sicherheit: Das Relay ist architektonisch Zero-Knowledge. Es besitzt niemals das gemeinsame Geheimnis und kann keine Inhalte entschlüsseln. Audiodaten fließen durch Kernel-Pipe-Puffer (FIFOs), die nur im Speicher existieren – nichts wird auf die Festplatte geschrieben. Wenn das Relay stoppt, werden alle temporären Dateien gelöscht. Der Relay-Betreiber kann nicht feststellen, was gesagt wurde, wer die Anrufer sind, oder Nachrichten lesen. Das Relay filtert alle Steuersignale (HANGUP, ID:, CIPHER:, PTT_START, PTT_STOP) und leitet nur AUDIO:, MSG: und PING weiter. Ein globaler passiver Gegner könnte Verkehrskorrelationsanalysen durchführen, um Anrufer dem Relay zuzuordnen, aber der Nachrichteninhalt bleibt undurchsichtig.
Relay-Kapazität: Der primäre Engpass ist die Tor-Bandbreite. Der Durchsatz von Tor-Hidden-Services ist stark variabel und hängt von der Schaltkreisqualität, der Relay-Überlastung und der geografischen Entfernung ab. Eine typische 10-Sekunden-Sprachnachricht ist ~20KB verschlüsselt, und jede Übertragung wird an N-1 Zuhörer verteilt.
Die realistische Kapazität beträgt 3–5 Anrufer für ein Relay, das auf einem Telefon (Termux) läuft, oder 5–10 Anrufer auf einem dedizierten Linux-Rechner mit stabiler Verbindung. Relays auf mobilen Geräten stehen vor zusätzlichen Einschränkungen: Mobile Daten erhöhen die Latenz zusätzlich zu Tor, Android kann Hintergrund-Termux-Prozesse beenden, um Speicher freizugeben, und der Akkuverbrauch steigt mit jedem verbundenen Anrufer. Die Tor-Schaltkreisbandbreite kann je nach Pfadqualität zwischen 50KB/s und 500KB/s variieren, und Schaltkreise können sich mitten in der Sitzung verschlechtern oder rotieren. Der Einzelhop-Modus verbessert den Durchsatz, beseitigt aber nicht die Tor-Relay-Überlastung. Diese Schätzungen gehen vom PTT-Modell aus, bei dem nur eine Person gleichzeitig sendet – gleichzeitige Übertragungen würden die Leistung weiter verschlechtern. Anrufer in einem Gruppenanruf sollten erwägen, ihre Opus-Bitrate zu senken (Einstellungen → Opus-Kodierung), um die Nachrichtengrößen zu reduzieren und das Relay zu entlasten.
Die gesamte Konfiguration wird in .terminalphone/ relativ zum Skriptspeicherort gespeichert:```
.terminalphone/
tor_data/ Tor data directory and hidden service keys
audio/ Temporary audio files (cleaned on exit)
pids/ Process ID tracking
shared_secret Encrypted shared secret file
torrc Generated Tor configuration
Standardmäßige Audio-Parameter (am Anfang des Skripts definiert):
| Parameter | Standard | Beschreibung |
|---|---|---|
| `LISTEN_PORT` | 7777 | TCP-Port für eingehende Verbindungen |
| `TOR_SOCKS_PORT` | 9050 | Tor-SOCKS-Proxy-Port |
| `OPUS_BITRATE` | 16 | Opus-Codierungs-Bitrate in kbps |
| `CIPHER` | aes-256-cbc | Verschlüsselungs-Chiffre (über Einstellungen konfigurierbar) |
| `SNOWFLAKE_ENABLED` | 0 | Snowflake-Bridge zur Umgehung von Zensur |
| `AUTO_LISTEN` | 0 | Automatisches Lauschen auf Anrufe, wenn Tor startet |
| `PTT_KEY` | LEERTASTE | Push-to-Talk-Taste (über Einstellungen konfigurierbar) |
| `VOL_PTT` | 0 | Lautstärke-Doppeltipp-PTT, nur Termux (experimentell) |
| `EXCLUDE_NODES` | (leer) | Tor-ExcludeNodes-Länderliste (z. B. `{US},{GB}`) |
| `HMAC_AUTH` | 0 | HMAC-Signierung aller Protokollnachrichten (optional, beide Seiten müssen übereinstimmen) |
| `OVERWRITE_DELETE` | 0 | Temporäre Dateien vor dem Löschen mit Zufallsdaten überschreiben (standardmäßig aus) |
| `PTT_CHIME` | aus | PTT-Benachrichtigungston-Voreinstellung (aus, Ton, Doppelton, Zwitschern, Klingeln, Klick, benutzerdefiniert) |
| `SINGLE_HOP` | 0 | Ein-Hop-Tor-Modus für geringere Latenz (deaktiviert Server-Anonymität) |
| `SAMPLE_RATE` | 8000 | Audio-Abtastrate in Hz |
| `CHUNK_DURATION` | 1 | Dauer für Audio-Test-Chunks in Sekunden |
---
## Fehlerbehebung
**Tor kann nicht bootstrappen:**
Überprüfen Sie das Tor-Protokoll unter `.terminalphone/tor_data/tor.log`. Häufige Ursachen sind Uhrzeitabweichungen, Netzwerkbeschränkungen, die Tor blockieren, oder eine andere Tor-Instanz, die denselben SOCKS-Port verwendet.
**Kein Audio auf Termux:**
Stellen Sie sicher, dass die Termux:API-App von F-Droid installiert ist (nicht nur das `termux-api`-Paket). Gewähren Sie der Termux:API-App in den Android-Einstellungen Mikrofonberechtigungen. Führen Sie den Audio-Loopback-Test (Option 5) aus, um dies zu überprüfen.
**ffmpeg-Installation schlägt auf Termux fehl:**
Führen Sie `pkg upgrade` aus, bevor Sie Abhängigkeiten installieren. Der Installer erledigt dies automatisch, aber wenn Sie Pakete manuell installiert haben, können veraltete gemeinsam genutzte Bibliotheken Verknüpfungsfehler verursachen.
**Audio-Test funktioniert, aber Anrufe sind stumm:**
Bestätigen Sie, dass beide Parteien dasselbe gemeinsame Geheimnis verwenden. Nicht übereinstimmende Geheimnisse führen zu einem Entschlüsselungsfehler ohne Fehlermeldung – der Anruf wird verbunden, aber es ist kein Audio zu hören.
**Snowflake-Bridge verbindet langsam:**
Snowflake leitet Datenverkehr über WebRTC-Proxys weiter, was zusätzliche Bootstrap-Zeit erfordert. Es ist normal, dass Tor 30–60 Sekunden (oder mehr) benötigt, um 100 % zu erreichen, wenn Snowflake aktiviert ist. Das Skript zeigt während des Bootstraps einen Geduldshinweis an.
**Erster Tor-Bootstrap ist langsam:**
Beim ersten Start muss Tor den vollständigen Netzwerk-Konsens von Grund auf herunterladen, was ein oder zwei Minuten dauern kann. Das Skript erkennt dies und zeigt einen Hinweis an. Das Bootstrap-Timeout wird beim ersten Lauf automatisch von 120 auf 300 Sekunden verlängert. Nachfolgende Starts verwenden zwischengespeicherte Konsensdaten und sind viel schneller.
**Auflegen führt nicht zum Menü zurück:**
Wenn das Skript nach dem Drücken von Q hängt, drücken Sie Strg+C, um die Bereinigung zu erzwingen und zur Shell zurückzukehren.
**`Cannot install under Rosetta 2 in ARM default prefix` auf macOS:**
Dies geschieht auf Apple Silicon, wenn das Terminal unter Rosetta 2 läuft (ein `x86_64`-Prozess), Homebrew sich jedoch im nativen ARM-Präfix (`/opt/homebrew`) befindet. Der Abhängigkeits-Installer (Option **7**) erkennt dies jetzt und führt `brew` automatisch unter `arch -arm64` erneut aus. Wenn Sie Pakete manuell installieren, stellen Sie ihnen selbst `arch -arm64` voran: `arch -arm64 brew install <pkg>`. Alternativ starten Sie das Skript nativ mit `arch -arm64 bash terminalphone.sh`.
---
[MIRROR V1.0.0](https://bin.disroot.org/?e1356291b098cb75#FMQ4gxFwgdr3rjR1dpGS2csLmDPzDEkQW16fQ5P2Vt4y)
[MIRROR V1.0.1](https://bin.disroot.org/?d3bc0b8976113f58#AuUm4ev4vfeVmPyrh2KjAdhDP6WN4UX6yKQh9ERGD5Qt)
[MIRROR V1.0.2](https://bin.disroot.org/?6bc5b2fd046de1d7#G7TmnytrMeaM5AZYWth6BjjdqUb9RDf3K9erHUExKcGX)
[MIRROR V1.0.3](https://bin.disroot.org/?c5010f039e4693fd#Brp1w7LRQH9d5Ye5npZDPxNVR855SW9QUAk9cJaUuLYX)
[MIRROR V1.0.4](https://bin.disroot.org/?1831f6b78e349142#7zaAMVPNJL3MfbGJzjtm6cCPcvQftf4ULXupdne5dRKw)
[MIRROR V1.0.5](https://bin.disroot.org/?edfcfc844987ed03#56LuBbqbkfNDXfHpydyaB3VcWYhYenX18dtSvNumERY9)
[MIRROR V1.0.6](https://bin.disroot.org/?6c7b4774108b0c1c#GQPst46zjAYidndmNvytforX7MK2LyHanL4d829vVcv4)
[MIRROR V1.0.7](https://bin.disroot.org/?047003637623b4fa#EwmaysciDpiDkht8xV7ce3QcR9oxFXaxSikh4cLheXBB)
[MIRROR V1.0.8](https://bin.disroot.org/?06e38bd64e6fbdad#88MYs3dmq9rSMkmocpW3NYaaG4YfSdRCc9LJnEEzqGYp)
[MIRROR V1.0.9](https://bin.disroot.org/?950218a9a7c71c66#E7Z94VCGBZozrfXYhGwKyAdMeTxuavg92tA1pn2DbrrB)
[MIRROR V1.1.0](https://bin.disroot.org/?0b0da14f31521b3a#B1c23J8xFoZZKErvGG28PgbtfgtMUcDABWmQEoSZfXgh)
[MIRROR V1.1.1](https://bin.disroot.org/?d8e2d4f0300eb5af#9Y1C8CkcH9jAmv1fh4GZs1yYpJmWCG5xG3SvDYdwnJam)
[MIRROR V1.1.2](https://bin.disroot.org/?b1059616f880925f#8ef2oscZXUkPAsJZwGfWvLPQagVAk5GgW4DyssmLvQpG)
[MIRROR V1.1.3](https://bin.disroot.org/?b02658801518aaa7#JE6CsBLWUwAnTdBqeHgeXL7QF5UExgi9rnygcfyMZjCJ)
[MIRROR V1.1.4](https://bin.disroot.org/?d31248fc44c287a0#HQELFWFEMpM9kfTZSGDXTdGFMVKTejox5CajF9Vm4Www)
[MIRROR V1.1.5](https://bin.disroot.org/?284b723ed6aad15f#8VCrrri6yRpdg3uVDSY94wpx7LYkw5uYhm4Vbhka83sM)
[MIRROR V1.1.5.1](https://bin.disroot.org/?26aaef1eff20c271#4GxQQPSDhrszTu1RmERySNVqD2fZW5GZwm3JeL1parpB)
[MIRROR V1.1.6](https://bin.disroot.org/?ae8270578cd9e081#BbcDLU49XqhecvwviHRcdfrZ4vhKdL2AMeKaT5v9oLV1)
[MIRROR V1.1.7](https://bin.disroot.org/?457e4308abe582d8#B9LJG88rmUwrGHHuCof8WpE8CXGmkc2tyrXXicEiJFWk)
[MIRROR V1.1.8](https://bin.disroot.org/?ef81486d3a5141a1#EN1YuLPqqs2FAEsvXkGbZdiWXt3vxvGTw845C4QsYmSn)
[MIRROR V1.1.9](https://bin.disroot.org/?fbcca457ac58964f#DsUCbJwgBRhnL1FK3a6VpwE5sCRNProXvk86u7RpWQM9)
---
## Lizenz
MIT
| Paket | Zweck |
|---|
tor | Onion-Routing und versteckter Dienst |
opus-tools | Sprachkomprimierung (Opus-Codec) |
sox | Audioaufnahme und -wiedergabe (rec, play) |
socat | Bidirektionales TCP-Relay über Tor-SOCKS-Proxy |
openssl | AES-256-CBC-Verschlüsselung und -Entschlüsselung |
| T | Eine verschlüsselte Textnachricht senden. |
| S | Einstellungen während des Anrufs öffnen (Chiffre ändern, Qualität anpassen). |
| Q | Auflegen und zum Menü zurückkehren. |
| Lautstärke runter ×2 | Aufnahme über die Lautstärketaste umschalten (erfordert Volume PTT in den Einstellungen). |
| Nachricht | Beschreibung |
|---|
ID:<onion> | Anrufer-ID – die .onion-Adresse des Absenders |
CIPHER:<name> | Verschlüsselungsalgorithmus des Absenders. Wird bei Verbindungsaufbau und bei Änderung ausgetauscht. |
PTT_START | Der Absender hat mit der Aufnahme begonnen |
PTT_STOP | Der Absender ist fertig; Audio folgt oder wurde gesendet |
AUDIO:<base64> | Vollständige verschlüsselte Audionachricht |
MSG:<base64> | Verschlüsselte Textnachricht |
HANGUP | Der Absender trennt die Verbindung |
PING | Keepalive-Signal |
RELAY:1 | Relay-Begrüßung – wird vom Relay bei Verbindungsaufbau gesendet, aktiviert den Gruppenmodus |
GROUP:<n> | Aktualisierung der Gruppengröße – wird vom Relay gesendet, wenn Anrufer beitreten oder gehen |
| Anrufer | Ausgehend pro Nachricht | Erwartete Erfahrung |
|---|
| 2–3 | 20–40KB | Zuverlässig auf den meisten Verbindungen |
| 3–5 | 40–80KB | Gut auf stabilen Schaltkreisen, Verzögerungen bei mobilen Daten möglich |
| 5–10 | 80–180KB | An der Grenze, spürbare Verzögerungen zwischen Übertragungen |
| 10+ | 180KB+ | Unzuverlässig, erhebliche Warteschlangen und möglicher Nachrichtenverlust |