Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
terminalphone — Comunicazione vocale e testuale push-to-talk crittografata tramite servizi nascosti Tor con crittografia end-to-end, cifrari configurabili, modalità relay per chiamate di gruppo e distruzione dati anti-forense. | Kitploit
Strumenti/GitLabGitLab/here_forawhile/terminalphone
OSINT (Open Source Intelligence)Strumenti di Crittografia/DecrittografiaSicurezza di RetePrivacyCommand and ControlRed Teaming
GitLabhere_forawhile/terminalphone

terminalphone

Comunicazione vocale e testuale push-to-talk crittografata tramite servizi nascosti Tor con crittografia end-to-end, cifrari configurabili, modalità relay per chiamate di gruppo e distruzione dati anti-forense.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
2683726 giorni faRevisionato da Kitploit

TerminalPhone

Comunicazione vocale push-to-talk crittografata tramite hidden service Tor.

TerminalPhone è un singolo script Bash autonomo che fornisce comunicazione vocale e testuale anonima, crittografata end-to-end, tra due o più parti tramite la rete Tor. Funziona come una radio ricetrasmittente: registri un messaggio vocale, che viene compresso, crittografato e trasmesso alla parte remota come un'unica unità. Puoi anche inviare messaggi di testo crittografati durante una chiamata. Nessuna infrastruttura server, nessun account, nessun numero di telefono. Il tuo indirizzo .onion dell'hidden service Tor è la tua identità.


Indice

  • Funzionalità
  • Installazione
    • Linux
    • macOS
    • Termux (Android)
  • Avvio Rapido
  • Utilizzo
    • Opzioni del Menu
    • Controlli Durante la Chiamata
    • Modalità CLI
  • Come Funziona
  • Modello di Sicurezza
  • Configurazione
  • Risoluzione dei Problemi
  • Licenza

Funzionalità

  • Streaming Vocale Full Duplex (WebSockets) -- Streaming audio bidirezionale continuo in tempo reale tramite Hidden Service Tor usando WebSockets. Entrambe le parti possono parlare e ascoltare simultaneamente senza tenere premuta la barra spaziatrice. Configurabile tramite Impostazioni (opzione 9) con selezione integrata del routing:
    • Modalità Standard (6 Hop): Routing completo a 3 hop per il chiamante + 3 hop per l'hidden service, preservando la massima anonimità per entrambe le parti (~800–1200ms RTT).
    • Modalità Turbo (Hop Singolo): Riduce il routing dell'ascoltatore a 1 hop (~450–700ms RTT) per una conversazione vocale fluida, con prompt espliciti sui compromessi (anonimità della posizione del server disabilitata sull'ascoltatore; dialing client SOCKS in uscita disabilitato sul nodo ascoltatore).
  • Modalità Walkie-Talkie Push-to-Talk -- Registra un messaggio vocale completo e trasmettilo al rilascio.
  • Chat Crittografata Durante la Chiamata -- Invia e ricevi messaggi di testo crittografati durante una chiamata. Premi T per digitare un messaggio.
  • Identificazione del Chiamante -- Entrambe le parti scambiano automaticamente gli indirizzi .onion alla connessione. L'indirizzo remoto viene visualizzato nell'intestazione della chiamata.
  • Rilevamento Automatico di Chiusura -- Quando una parte termina la chiamata, l'altra viene notificata immediatamente e la chiamata termina automaticamente.
  • Cifrario Configurabile -- Scegli tra 21 cifrari selezionati classificati per robustezza (256-bit → 128-bit). Include le famiglie AES, ChaCha20, Camellia e ARIA. I cifrari deboli (DES, RC4, modalità ECB) sono esclusi.
  • Negoziazione Cifrario in Tempo Reale -- Entrambe le parti scambiano le informazioni sul cifrario alla connessione. L'intestazione della chiamata mostra sia il cifrario locale che quello remoto con indicatori verdi (corrispondenza) o rossi (mancata corrispondenza), aggiornati in tempo reale.
  • Impostazioni a Metà Chiamata -- Premi S durante una chiamata per accedere alle impostazioni. Cambia il tuo cifrario al volo; il display della parte remota si aggiorna automaticamente.
  • Informazioni sul Bridge Snowflake -- Quando usi Snowflake per eludere la censura, la pagina della chiamata mostra il nome descrittore del bridge, l'impronta digitale e lo stato della connessione di trasporto analizzati dai log di Tor.
  • Ascolto Automatico -- Quando è abilitato, un listener in background si avvia automaticamente all'avvio di Tor. Le chiamate in arrivo vengono rilevate e accettate dal menu principale senza dover selezionare manualmente "Ascolta chiamate". Dopo la fine di una chiamata, il listener si riavvia.
  • Tasto PTT Configurabile -- Cambia il tasto push-to-talk dalla barra spaziatrice predefinita a qualsiasi tasto tramite il menu Impostazioni.
  • Statistiche dei Messaggi -- La schermata della chiamata mostra la dimensione del payload crittografato per i messaggi inviati e ricevuti, aggiornata sul posto.
  • Stato PTT Remoto -- La schermata della chiamata mostra un indicatore statico per lo stato della parte remota: "Inattivo" (verde) o "● Registrazione" (rosso). Si azzera immediatamente quando arrivano i dati audio, prima dell'inizio della riproduzione.
  • Suoneria PTT -- Suono di notifica opzionale quando la parte remota inizia a registrare. Cinque preset integrati (tono, doppio, cinguettio, ding, click) generati con sox, oltre alla possibilità di registrare un suono personalizzato di 2 secondi. Configurabile tramite Impostazioni.
  • Animazione di Connessione -- Quando chiami un indirizzo remoto, viene riprodotta un'animazione ciclica finché non viene caricata l'interfaccia della chiamata.
  • Cambia Voce -- Applica effetti vocali all'audio in uscita. Include 6 preset (profondo, acuto, robot, eco, sussurro) e una modalità personalizzata completamente configurabile con shift di pitch, overdrive, flanger, eco, filtro passa-alto e tremolo. Gli effetti vengono elaborati usando sox prima della codifica Opus.
  • PTT con Volume (Termux) -- Modalità sperimentale che ti consente di toccare due volte il pulsante Volume Giù per attivare/disattivare la registrazione, anche quando Termux è in background. Richiede jq (installato su richiesta). Il volume viene ripristinato automaticamente dopo ogni attivazione.
  • Hidden Service Tor -- Ogni istanza esegue il proprio hidden service Tor. Il tuo indirizzo .onion funge da endpoint permanente e instradabile. Nessun port forwarding o IP pubblico richiesto.
  • Crittografia End-to-End -- Tutto l'audio e il testo vengono crittografati usando un cifrario configurabile (predefinito: AES-256-CBC) con derivazione della chiave PBKDF2 da un segreto condiviso prima di entrare nella rete Tor.
  • Segreto Protetto da Passphrase -- Il segreto condiviso può essere crittografato a riposo usando una passphrase scelta dall'utente (AES-256-CBC, 100.000 iterazioni PBKDF2). I segreti in chiaro esistenti vengono rilevati automaticamente con un'offerta di migrazione.
  • Bassa Larghezza di Banda -- Codec Opus a 16kbps, 8kHz mono. Un tipico messaggio vocale di 10 secondi è inferiore a 20KB, ben entro la capacità di Tor.
  • Condivisione Codice QR -- L'opzione 3 può visualizzare il tuo indirizzo .onion come codice QR scansionabile nel terminale. Se qrencode non è installato, ti viene chiesto di installarlo. Il codice QR viene renderizzato sul buffer dello schermo alternativo e viene distrutto quando viene chiuso. Una nota avverte che alcuni scanner QR antepongono automaticamente http://; questo prefisso viene rimosso automaticamente durante la composizione.
  • File Temporanei Opachi -- Tutti i file temporanei usano estensioni .tmp generiche e identificatori esadecimali casuali. Nessun tipo di file o metadati temporali viene divulgato al filesystem.
  • Visualizzazione Hop del Circuito -- Visualizzazione opzionale del percorso del tuo circuito Tor durante le chiamate, mostrando i nomi dei relay e i nomi completi dei paesi. Si aggiorna automaticamente ogni 60 secondi. Configurabile tramite Impostazioni → Impostazioni Tor.
  • Escludi Paesi -- Escludi paesi specifici dai tuoi circuiti Tor. Preset per le alleanze Five Eyes, Nine Eyes e Fourteen Eyes, oppure inserisci codici paese personalizzati. Usa ExcludeNodes con StrictNodes nel torrc.
  • Autenticazione Protocollo HMAC -- Firma opzionale HMAC-SHA256 di tutti i messaggi del protocollo (voce, testo, segnali di controllo) usando il segreto condiviso. Un nonce casuale viene incluso per ogni messaggio, e i nonce già visti vengono tracciati per rifiutare le replay. I messaggi non firmati, contraffatti o riprodotti vengono scartati silenziosamente. Lo stato HMAC viene congelato all'avvio della chiamata per prevenire desincronizzazioni a metà chiamata. Configurabile tramite Impostazioni → Sicurezza.
  • Sovrascrittura Prima dell'Eliminazione -- Opzione opzionale in Impostazioni → Sicurezza che sovrascrive ogni file temporaneo con dati casuali da /dev/urandom prima dell'eliminazione. La dimensione del file viene letta, quel numero di byte di dati casuali viene scritto sul file con dd usando conv=notrunc, la scrittura viene scaricata sul dispositivo di archiviazione con sync, e poi il file viene rimosso con rm. Copre tutti i file sensibili di runtime: registrazioni PCM grezze, audio codificato Opus, payload crittografati, audio e chat in ingresso decrittografati, intermediari degli effetti vocali, materiale chiave del cifrario e HMAC, log dei nonce, flag di sessione, file PID, named pipe, chiavi dell'hidden service Tor alla rotazione e dati di sessione dei relay. Per le directory, tutti i file al loro interno vengono sovrascritti ricorsivamente. Un'opzione di test integrata crea un file di esempio, mostra il contenuto originale in testo semplice ed esadecimale, lo sovrascrive e visualizza l'esadecimale sovrascritto così l'utente può confermare visivamente che i dati sono stati distrutti. Disattivata per impostazione predefinita — per la maggior parte degli utenti, la normale rm è perfettamente sufficiente. I file temporanei di TerminalPhone sono piccoli e di breve durata, e lo spazio su disco viene tipicamente riutilizzato rapidamente dalla normale attività di sistema. Questa funzionalità è per utenti che vogliono un ulteriore livello di protezione contro il recupero forense. Nota: su SSD e memoria flash, il wear leveling significa che la sovrascrittura potrebbe finire su diverse celle NAND fisiche — la crittografia completa del disco è l'unica difesa affidabile sui supporti flash. Su HDD tradizionali, la sovrascrittura sostituisce i dati nella stessa posizione fisica ed è efficace contro tutto il recupero basato su software.
  • Modalità Relay (Bridge di Gruppo) -- Esegui un relay a conoscenza zero che collega N chiamanti anonimi. Il relay inoltra audio e chat crittografati senza decrittografarli, non richiede segreto condiviso né hardware audio. I client rilevano automaticamente la modalità relay tramite l'handshake RELAY:1 e mostrano il conteggio live dei chiamanti del gruppo. L'uscita di un chiamante non disconnette gli altri. La dashboard dell'operatore mostra il conteggio dei chiamanti, l'uptime e il throughput dei dati.
  • Modalità Tor a Hop Singolo -- Modalità opzionale a latenza ridotta per gli operatori di relay. Usa 1 hop Tor invece di 3 per l'hidden service, sacrificando l'anonimato del server per una latenza inferiore. Ideale per gli operatori di relay che non hanno bisogno di nascondere il proprio IP.
  • Configurazione delle Porte -- Configura la porta di ascolto e la porta SOCKS insieme tramite Impostazioni → Impostazioni Tor. Consente di eseguire più istanze sullo stesso dispositivo con processi Tor separati. Utile principalmente per gli operatori di relay che vogliono anche unirsi alla propria chiamata di gruppo — esegui il relay su un'istanza, cambia la porta SOCKS su una seconda istanza e componi come chiamante.
  • Multi-Piattaforma -- Funziona su distribuzioni Linux standard, macOS e Android tramite Termux. I backend audio specifici della piattaforma vengono gestiti in modo trasparente.
  • Nessun Root Richiesto -- L'input PTT usa la modalità raw del terminale. Nessun permesso speciale o modulo del kernel necessario.
  • Script Singolo -- Un file Bash. Nessun sistema di build, nessun runtime, nessun framework.

Installazione

Linux

Distribuzioni supportate: Debian/Ubuntu (apt), Fedora/RHEL (dnf), Arch (pacman).``` bash

git clone https://gitlab.com/here_forawhile/terminalphone.git cd terminalphone bash terminalphone.sh

root@kitploit:~
Seleziona l'opzione **7** dal menu per installare automaticamente tutte le dipendenze. Verranno installati i seguenti pacchetti:

| Pacchetto | Scopo |
|---|---|
| `tor` | Routing a cipolla e servizio nascosto |
| `opus-tools` | Compressione vocale (codec Opus) |
| `sox` | Utility di elaborazione audio |
| `socat` | Relay TCP bidirezionale tramite proxy SOCKS di Tor |
| `openssl` | Crittografia e decrittografia AES-256-CBC |
| `alsa-utils` | Registrazione e riproduzione audio (`arecord`, `aplay`) |

### macOS``` bash

git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh

Seleziona l'opzione 7 per installare automaticamente tutte le dipendenze. Se Homebrew non è installato, lo script lo installerà prima, poi installerà i seguenti pacchetti:

Nota: macOS usa sox sia per la registrazione (rec) che per la riproduzione (play) invece di ALSA. Non sono necessari pacchetti audio aggiuntivi.

Apple Silicon (M1/M2/M3+): Se il tuo terminale dovesse essere in esecuzione sotto Rosetta 2 (un processo x86_64) mentre Homebrew è installato nel prefisso ARM nativo (/opt/homebrew), brew install normalmente fallisce con Cannot install under Rosetta 2 in ARM default prefix. L'installatore delle dipendenze ora rileva questa situazione e riesegue automaticamente Homebrew sotto arch -arm64, quindi l'opzione 7 funziona indipendentemente da come è stato avviato lo script.

Termux (Android)

TerminalPhone supporta dispositivi Android tramite Termux. A causa dell'architettura audio sandbox di Android, sono necessari due componenti aggiuntivi.

Passaggio 1: Installare Termux

Installa Termux da F-Droid. Non usare la versione del Play Store, poiché è obsoleta e non riceve più aggiornamenti.

Passaggio 2: Installare l'app Termux:API

Installa Termux:API da F-Droid. Questa è un'applicazione Android separata (non un pacchetto Termux) che fornisce un ponte tra Termux e le API di sistema Android. TerminalPhone la richiede per accedere al microfono del dispositivo e alla riproduzione multimediale.

Senza l'app Termux:API installata sul dispositivo, i comandi termux-microphone-record e termux-media-player non funzioneranno e la registrazione e la riproduzione audio falliranno silenziosamente.

Dopo aver installato l'app Termux:API, concedi le autorizzazioni per il microfono quando richiesto.

Passaggio 3: Installare il pacchetto Termux:API all'interno di Termux```bash pkg install termux-api

root@kitploit:~
Questo installa le utilità da riga di comando che comunicano con l'app Termux:API.

**Passaggio 4: Esegui TerminalPhone**```bash
git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh

Seleziona l'opzione 7 per installare tutte le dipendenze rimanenti. Il programma di installazione eseguirà prima pkg upgrade per risolvere eventuali problemi di collegamento dei pacchetti, quindi installerà tor, opus-tools, sox, socat, openssl-tool, ffmpeg e termux-api.

Dipendenze specifiche di Termux:

PacchettoScopo
termux-apiPonte CLI per il microfono e il lettore multimediale di Android
ffmpegConverte le registrazioni M4A di Android in PCM grezzo per la codifica Opus

Avvio rapido```

  1. Run: bash terminalphone.sh
  2. Install deps: Select option 7
  3. Start Tor: Select option 8 (wait for 100% bootstrap)
  4. Set shared secret: Select option 4 (both parties must use the same secret)
  5. Share your .onion address with the other party (option 3)

To receive a call: Select option 1 (Listen for calls) To make a call: Select option 2 (Call an onion address)

root@kitploit:~
Entrambe le parti devono avere Tor in esecuzione e la stessa chiave segreta condivisa configurata prima di avviare una chiamata.

---

## Utilizzo

### Opzioni del Menu```
 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

Controlli Durante la Chiamata

Modalità Full Duplex (WebSockets):

TastoAzione
MDisattiva / Riattiva il microfono.
TInvia un messaggio di testo crittografato durante la chiamata.
QTermina la chiamata e torna al menu.

Modalità Push-to-Talk (Linux / macOS):

TastoAzione
Tieni premuto SPAZIORegistra un messaggio vocale. Viene inviato automaticamente al rilascio.
TInvia un messaggio di testo crittografato.
SApri le impostazioni durante la chiamata (cambia cifratura, regola la qualità).
QTermina la chiamata e torna al menu.

Modalità Push-to-Talk (Termux):

La tastiera software di Android invia gli eventi dei tasti al rilascio, non alla pressione. TerminalPhone si adatta utilizzando la modalità toggle su Termux.

TastoAzione
Tocca SPAZIO

Modalità CLI```bash

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)

root@kitploit:~
---

## Come Funziona

TerminalPhone utilizza un modello registra-e-invia. Quando attivi il PTT, il microfono registra in modo continuo finché non rilasci. La registrazione completa viene poi elaborata attraverso la seguente pipeline:```
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

Il protocollo wire è testo basato su righe su una connessione TCP:

Su Termux, un passaggio di conversione aggiuntivo gestisce il formato di registrazione M4A nativo di Android, usando ffmpeg per convertire in PCM grezzo prima della codifica Opus.


Modello di Sicurezza

Cifratura: Tutto l'audio è cifrato con un cipher configurabile dall'utente (predefinito: AES-256-CBC) prima della trasmissione. Sono disponibili 21 cipher selezionati, classificati dal più forte (256-bit) all'adeguato (128-bit). La chiave è derivata da un segreto pre-condiviso usando PBKDF2 con 10.000 iterazioni. La cifratura è applicata a livello di applicazione, indipendente dalla cifratura di trasporto di Tor. I segreti vengono passati a OpenSSL tramite descrittori di file (-pass fd:3), non tramite argomenti della riga di comando, quindi non vengono mai esposti nella tabella dei processi.

Negoziazione del cipher: Entrambe le parti scambiano i nomi dei cipher alla connessione e ogni volta che un cipher viene cambiato a metà chiamata. I nomi dei cipher non sono segreti (principio di Kerckhoffs). Se i cipher locale e remoto non corrispondono, entrambe le parti vedono indicatori rossi nell'intestazione della chiamata.

Trasporto: Tutti i dati sono instradati attraverso circuiti di servizi nascosti di Tor. L'indirizzo IP di nessuna delle due parti viene esposto. Non c'è traffico in chiaro. La connessione non può essere attribuita a nessuna delle due parti da un osservatore di rete.

Resistenza all'analisi del traffico: Il modello registra-e-invia produce schemi di trasmissione irregolari (messaggi di lunghezza variabile a intervalli irregolari), più difficili da identificare rispetto allo streaming continuo.

Autenticazione: Il segreto condiviso funge da autenticazione implicita. Se entrambe le parti non hanno lo stesso segreto, la decifratura fallisce e nessun audio viene riprodotto. Alla connessione, entrambe le parti scambiano gli indirizzi .onion per l'identificazione del chiamante. Il segreto può essere opzionalmente cifrato a riposo con una passphrase; all'avvio, lo script richiede la passphrase per sbloccarlo.

Firma del protocollo HMAC (opzionale): Quando abilitata, ogni messaggio del protocollo wire -- inclusi i segnali di controllo come HANGUP, PTT_START e PING -- è firmato con HMAC-SHA256 derivato dal segreto condiviso. Un nonce casuale è incluso per ogni messaggio così che comandi identici producano firme uniche. I nonce visti vengono tracciati per chiamata e i duplicati vengono rifiutati, prevenendo attacchi di replay. L'impostazione HMAC è congelata all'inizio della chiamata tramite un file runtime così che sia il percorso di invio che quello di ricezione concordino sempre, anche se l'impostazione viene attivata/disattivata a metà chiamata (le modifiche hanno effetto alla chiamata successiva). Sul lato ricevente, qualsiasi messaggio con una firma non valida, mancante o riprodotta viene silenziosamente scartato. Questo impedisce a un attaccante che compromette il circuito Tor (ma non possiede il segreto condiviso) di iniettare o riprodurre comandi. Entrambe le parti devono abilitare HMAC affinché le chiamate funzionino. Non compatibile con versioni precedenti alla 1.1.3.

Limitazioni:

  • Il segreto condiviso deve essere scambiato fuori banda attraverso un canale sicuro (di persona, messaggistica cifrata, ecc.).
  • Non c'è segretezza in avanti. Se il segreto condiviso viene compromesso, tutte le comunicazioni passate e future che usano quel segreto possono essere decifrate.
  • Il protocollo non protegge da un endpoint compromesso. Se uno dei due dispositivi è compromesso, l'attaccante ha accesso all'audio in chiaro.

Sicurezza della modalità relay: Il relay è architettonicamente zero-knowledge. Non possiede mai il segreto condiviso e non può decifrare alcun contenuto. I dati audio fluiscono attraverso buffer di pipe del kernel (FIFO) che esistono solo in memoria -- nulla viene scritto su disco. Quando il relay si ferma, tutti i file temporanei vengono eliminati. L'operatore del relay non può determinare cosa è stato detto, chi sono i chiamanti, o leggere alcun messaggio. Il relay filtra tutti i segnali di controllo (HANGUP, ID:, CIPHER:, PTT_START, PTT_STOP) e inoltra solo AUDIO:, MSG: e PING. Un avversario passivo globale potrebbe eseguire un'analisi di correlazione del traffico per associare i chiamanti al relay, ma il contenuto dei messaggi rimane opaco.

Capacità del relay: Il collo di bottiglia principale è la larghezza di banda di Tor. La produttività dei servizi nascosti di Tor è altamente variabile e dipende dalla qualità del circuito, dalla congestione del relay e dalla distanza geografica. Un tipico messaggio vocale di 10 secondi è ~20KB cifrato, e ogni trasmissione si dirama a N-1 ascoltatori.

La capacità realistica è 3--5 chiamanti per un relay in esecuzione su un telefono (Termux), o 5--10 chiamanti su una macchina Linux dedicata con una connessione stabile. I relay in esecuzione su dispositivi mobili affrontano vincoli aggiuntivi: i dati mobili aggiungono latenza oltre a Tor, Android potrebbe terminare i processi Termux in background per recuperare memoria, e il consumo della batteria aumenta con ogni chiamante connesso. La larghezza di banda del circuito Tor può variare da 50KB/s a 500KB/s a seconda della qualità del percorso, e i circuiti possono degradarsi o ruotare a metà sessione. La modalità single-hop migliora la produttività ma non elimina la congestione dei relay Tor. Queste stime presuppongono il modello PTT in cui solo una persona trasmette alla volta -- trasmissioni simultanee degraderebbero ulteriormente le prestazioni. I chiamanti in una chiamata di gruppo dovrebbero considerare di abbassare il bitrate Opus (Impostazioni → Codifica Opus) per ridurre le dimensioni dei messaggi e alleggerire il carico sul relay.


Configurazione

Tutta la configurazione è memorizzata in .terminalphone/ relativo alla posizione dello script:``` .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

root@kitploit:~
Parametri audio predefiniti (definiti all'inizio dello script):

| Parametro | Predefinito | Descrizione |
|---|---|---|
| `LISTEN_PORT` | 7777 | Porta TCP per le connessioni in entrata |
| `TOR_SOCKS_PORT` | 9050 | Porta proxy SOCKS di Tor |
| `OPUS_BITRATE` | 16 | Bitrate di codifica Opus in kbps |
| `CIPHER` | aes-256-cbc | Cifrario di crittografia (configurabile tramite Impostazioni) |
| `SNOWFLAKE_ENABLED` | 0 | Bridge Snowflake per l'elusione della censura |
| `AUTO_LISTEN` | 0 | Ascolto automatico delle chiamate all'avvio di Tor |
| `PTT_KEY` | SPAZIO | Tasto push-to-talk (configurabile tramite Impostazioni) |
| `VOL_PTT` | 0 | PTT con doppio tocco sul volume, solo Termux (sperimentale) |
| `EXCLUDE_NODES` | (vuoto) | Elenco paesi ExcludeNodes di Tor (es. `{US},{GB}`) |
| `HMAC_AUTH` | 0 | Firma HMAC di tutti i messaggi di protocollo (opzionale, deve corrispondere su entrambi i lati) |
| `OVERWRITE_DELETE` | 0 | Sovrascrive i file temporanei con dati casuali prima dell'eliminazione (disattivato per impostazione predefinita) |
| `PTT_CHIME` | off | Preimpostazione del suono di notifica PTT (off, tone, double, chirp, ding, click, custom) |
| `SINGLE_HOP` | 0 | Modalità Tor a salto singolo per una latenza inferiore (disabilita l'anonimato del server) |
| `SAMPLE_RATE` | 8000 | Frequenza di campionamento audio in Hz |
| `CHUNK_DURATION` | 1 | Durata dei blocchi di test audio in secondi |

---

## Risoluzione dei problemi

**Tor non riesce ad avviarsi (bootstrap):**
Controlla il log di Tor in `.terminalphone/tor_data/tor.log`. Le cause comuni includono uno skew dell'orologio, restrizioni di rete che bloccano Tor o un'altra istanza di Tor che utilizza la stessa porta SOCKS.

**Nessun audio su Termux:**
Verifica che l'app Termux:API sia installata da F-Droid (non solo il pacchetto `termux-api`). Concedi le autorizzazioni del microfono all'app Termux:API nelle impostazioni di Android. Esegui il test di loopback audio (opzione 5) per verificare.

**L'installazione di ffmpeg fallisce su Termux:**
Esegui `pkg upgrade` prima di installare le dipendenze. Il programma di installazione lo fa automaticamente, ma se hai installato i pacchetti manualmente, librerie condivise obsolete possono causare errori di collegamento.

**Il test audio funziona ma le chiamate sono mute:**
Conferma che entrambe le parti utilizzino lo stesso segreto condiviso. Segreti non corrispondenti causeranno un errore di decrittazione senza alcun messaggio di errore: la chiamata si connette ma non si sente alcun audio.

**Il bridge Snowflake è lento a connettersi:**
Snowflake instrada il traffico attraverso proxy WebRTC, il che aggiunge tempo di avvio aggiuntivo. È normale che Tor impieghi 30--60 secondi (o più) per raggiungere il 100% quando Snowflake è abilitato. Lo script mostrerà un avviso di pazienza durante il bootstrap.

**Il primo bootstrap di Tor è lento:**
Al primo avvio, Tor deve scaricare da zero il consenso completo della rete, il che può richiedere un minuto o due. Lo script lo rileva e mostra un avviso. Il timeout del bootstrap viene automaticamente esteso da 120 a 300 secondi al primo avvio. Gli avvii successivi utilizzano i dati di consenso memorizzati nella cache e sono molto più rapidi.

**La chiusura della chiamata non torna al menu:**
Se lo script si blocca dopo aver premuto Q, premi Ctrl+C per forzare la pulizia e tornare alla shell.

**`Cannot install under Rosetta 2 in ARM default prefix` su macOS:**
Questo accade su Apple Silicon quando il terminale è in esecuzione sotto Rosetta 2 (un processo `x86_64`) ma Homebrew si trova nel prefisso ARM nativo (`/opt/homebrew`). Il programma di installazione delle dipendenze (opzione **7**) ora lo rileva e riesegue automaticamente `brew` sotto `arch -arm64`. Se installi i pacchetti manualmente, prefissali tu stesso: `arch -arm64 brew install <pkg>`. In alternativa, avvia lo script in modo nativo con `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)

---

## Licenza

MIT
Scarica lo strumento
PacchettoScopo
torRouting onion e servizio nascosto
opus-toolsCompressione vocale (codec Opus)
soxRegistrazione e riproduzione audio (rec, play)
socatRelay TCP bidirezionale attraverso il proxy SOCKS di Tor
opensslCrittografia e decrittografia AES-256-CBC
Avvia la registrazione. Tocca di nuovo per fermare e inviare.
TInvia un messaggio di testo crittografato.
SApri le impostazioni durante la chiamata (cambia cifratura, regola la qualità).
QTermina la chiamata e torna al menu.
Vol Giù ×2Attiva/disattiva la registrazione tramite il pulsante del volume (richiede PTT con volume abilitato nelle impostazioni).
MessaggioDescrizione
ID:<onion>ID del chiamante -- indirizzo .onion del mittente
CIPHER:<name>Cipher di cifratura del mittente. Scambiato alla connessione e al cambio.
PTT_STARTIl mittente ha iniziato la registrazione
PTT_STOPIl mittente ha terminato; l'audio segue o è stato inviato
AUDIO:<base64>Messaggio audio cifrato completo
MSG:<base64>Messaggio di testo cifrato
HANGUPIl mittente si sta disconnettendo
PINGSegnale di keepalive
RELAY:1Saluto del relay -- inviato dal relay alla connessione, attiva la modalità gruppo
GROUP:<n>Aggiornamento dimensione gruppo -- trasmesso dal relay quando i chiamanti si uniscono o lasciano
ChiamantiIn uscita per messaggioEsperienza prevista
2--320--40KBAffidabile sulla maggior parte delle connessioni
3--540--80KBBuona su circuiti stabili, ritardi possibili su dati mobili
5--1080--180KBAl limite, ritardi evidenti tra le trasmissioni
10+180KB+Inaffidabile, accodamento significativo e possibile perdita di messaggi