Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
terminalphone — Communication vocale et textuelle push-to-talk chiffrée via les services cachés Tor avec chiffrement de bout en bout, chiffrements configurables, mode relais pour les appels de groupe et destruction des données anti-forensique. | Kitploit
Outils/GitLabGitLab/here_forawhile/terminalphone
OSINT (Renseignement de Sources Ouvertes)Outils de Chiffrement/DéchiffrementSécurité RéseauProtection de la Vie PrivéeCommandement et ContrôleRed Teaming
GitLabhere_forawhile/terminalphone

terminalphone

Communication vocale et textuelle push-to-talk chiffrée via les services cachés Tor avec chiffrement de bout en bout, chiffrements configurables, mode relais pour les appels de groupe et destruction des données anti-forensique.

Voir le dépôt
26837il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

TerminalPhone

Communication vocale push-to-talk chiffrée via les services cachés Tor.

TerminalPhone est un script Bash unique et autonome qui fournit une communication vocale et textuelle anonyme et chiffrée de bout en bout entre deux ou plusieurs parties via le réseau Tor. Il fonctionne comme un talkie-walkie : vous enregistrez un message vocal, qui est compressé, chiffré et transmis à la partie distante en une seule unité. Vous pouvez également envoyer des messages textuels chiffrés pendant un appel. Aucune infrastructure serveur, aucun compte, aucun numéro de téléphone. Votre adresse .onion de service caché Tor est votre identité.


Table des matières

  • Fonctionnalités
  • Installation
    • Linux
    • macOS
    • Termux (Android)
  • Démarrage rapide
  • Utilisation
    • Options du menu
    • Contrôles en cours d'appel
    • Mode CLI
  • Comment ça marche
  • Modèle de sécurité
  • Configuration
  • Dépannage
  • Licence

Fonctionnalités

  • Messagerie vocale talkie-walkie -- Enregistrez un message vocal complet et transmettez-le lors du relâchement. Pas de diffusion en direct, pas de coupure.
  • Chat chiffré en cours d'appel -- Envoyez et recevez des messages textuels chiffrés pendant un appel. Appuyez sur T pour taper un message.
  • Identification de l'appelant -- Les deux parties échangent automatiquement leurs adresses .onion lors de la connexion. L'adresse distante est affichée dans l'en-tête de l'appel.
  • Détection automatique de fin d'appel -- Lorsqu'une partie raccroche, l'autre est notifiée immédiatement et l'appel se termine automatiquement.
  • Chiffrement configurable -- Choisissez parmi 21 chiffrements triés par force (256 bits → 128 bits). Inclut les familles AES, ChaCha20, Camellia et ARIA. Les chiffrements faibles (DES, RC4, modes ECB) sont exclus.
  • Négociation en direct du chiffrement -- Les deux parties échangent les informations de chiffrement lors de la connexion. L'en-tête de l'appel affiche les chiffrements local et distant avec des indicateurs vert (correspondance) ou rouge (non-correspondance), mis à jour en temps réel.
  • Paramètres en cours d'appel -- Appuyez sur S pendant un appel pour accéder aux paramètres. Changez votre chiffrement à la volée ; l'affichage de la partie distante se met à jour automatiquement.
  • Informations du pont Snowflake -- Lors de l'utilisation de Snowflake pour contourner la censure, la page d'appel affiche le nom du descripteur du pont, l'empreinte et l'état de la connexion de transport extraits des logs de Tor.
  • Écoute automatique -- Lorsqu'elle est activée, une écoute en arrière-plan démarre automatiquement au démarrage de Tor. Les appels entrants sont détectés et acceptés depuis le menu principal sans avoir à sélectionner manuellement "Écouter les appels". Après la fin d'un appel, l'écoute redémarre.
  • Touche PTT configurable -- Changez la touche push-to-talk de la barre d'espace par défaut à n'importe quelle touche via le menu Paramètres.
  • Statistiques des messages -- L'écran d'appel affiche la taille de la charge utile chiffrée pour les messages envoyés et reçus, mise à jour sur place.
  • Statut PTT distant -- L'écran d'appel montre un indicateur statique de l'état de la partie distante : "Inactif" (vert) ou "● Enregistrement" (rouge). Se réinitialise immédiatement lorsque des données audio arrivent, avant le début de la lecture.
  • Sonnerie PTT -- Son de notification optionnel lorsque la partie distante commence à enregistrer. Cinq préréglages intégrés (ton, double, gazouillis, ding, clic) générés avec sox, plus la possibilité d'enregistrer une sonnerie personnalisée de 2 secondes. Configurable via les paramètres.
  • Animation de connexion -- Lors de l'appel d'une adresse distante, une animation cyclique se joue jusqu'au chargement de l'interface d'appel.
  • Modificateur de voix -- Appliquez des effets vocaux à l'audio sortant. Inclut 6 préréglages (grave, aigu, robot, écho, chuchotement) et un mode personnalisable entièrement configurable avec changement de hauteur, saturation, flanger, écho, filtre passe-haut et trémolo. Les effets sont traités avec sox avant le codage Opus.
  • Volume PTT (Termux) -- Mode expérimental qui permet de double-appuyer sur le bouton Volume Down pour basculer l'enregistrement, même lorsque Termux est en arrière-plan. Nécessite jq (installé à la demande). Le volume est automatiquement restauré après chaque déclenchement.
  • Service caché Tor -- Chaque instance exécute son propre service caché Tor. Votre adresse .onion sert de point d'extrémité permanent et routable. Aucun transfert de port ni adresse IP publique requis.
  • Chiffrement de bout en bout -- Tout l'audio et le texte sont chiffrés à l'aide d'un chiffrement configurable (par défaut : AES-256-CBC) avec dérivation de clé PBKDF2 à partir d'un secret pré-partagé avant d'entrer dans le réseau Tor.
  • Secret protégé par phrase de passe -- Le secret partagé peut être chiffré au repos à l'aide d'une phrase de passe choisie par l'utilisateur (AES-256-CBC, 100 000 itérations PBKDF2). Les secrets en texte clair existants sont automatiquement détectés avec une offre de migration.
  • Faible bande passante -- Codec Opus à 16kbps, 8kHz mono. Un message vocal typique de 10 secondes fait moins de 20Ko, bien dans la capacité de Tor.
  • Partage de code QR -- L'option 3 peut afficher votre adresse .onion sous forme de code QR scannable dans le terminal. Si qrencode n'est pas installé, vous êtes invité à l'installer. Le code QR s'affiche sur le tampon d'écran alternatif et est détruit lorsqu'il est ignoré. Une note avertit que certains scanners QR ajoutent automatiquement http:// ; ce préfixe est automatiquement supprimé lors de la composition.
  • Fichiers temporaires opaques -- Tous les fichiers temporaires utilisent des extensions génériques .tmp et des identifiants hexadécimaux aléatoires. Aucun type de fichier ni métadonnée temporelle n'est divulgué au système de fichiers.
  • Affichage des sauts de circuit -- Affichage optionnel du chemin de votre circuit Tor pendant les appels, montrant les noms des relais et les noms complets des pays. Actualisation automatique toutes les 60 secondes. Configurable via Paramètres → Paramètres Tor.
  • Exclure des pays -- Exclure des pays spécifiques de vos circuits Tor. Préréglages pour les alliances Five Eyes, Nine Eyes, et Fourteen Eyes, ou saisissez des codes pays personnalisés. Utilise ExcludeNodes avec StrictNodes dans le torrc.
  • Authentification de protocole HMAC -- Signature HMAC-SHA256 optionnelle de tous les messages du protocole (voix, texte, signaux de contrôle) utilisant le secret partagé. Un nonce aléatoire est inclus par message, et les nonces déjà vus sont suivis pour rejeter les rejeux. Les messages non signés, falsifiés ou rejoués sont silencieusement ignorés. L'état HMAC est figé au début de l'appel pour éviter la désynchronisation en cours d'appel. Configurable via Paramètres → Sécurité.
  • Écrasement avant suppression -- Option bascule dans Paramètres → Sécurité qui écrase chaque fichier temporaire avec des données aléatoires de /dev/urandom avant la suppression. La taille du fichier est lue, autant d'octets de données aléatoires sont écrits sur le fichier avec dd en utilisant conv=notrunc, l'écriture est vidée sur le périphérique de stockage avec sync, puis le fichier est supprimé avec rm. Couvre tous les fichiers d'exécution sensibles : enregistrements PCM bruts, audio codé Opus, charges utiles chiffrées, audio et chat entrants déchiffrés, intermédiaires d'effets vocaux, matériel de clé de chiffrement et HMAC, journaux de nonces, indicateurs de session, fichiers PID, tubes nommés, clés de service caché Tor lors de la rotation, et données de session de relais. Pour les répertoires, tous les fichiers à l'intérieur sont écrasés récursivement. Une option de test intégrée crée un fichier exemple, montre le contenu original en texte clair et en hexadécimal, l'écrase, et affiche l'hexadécimal écrasé afin que l'utilisateur puisse visuellement confirmer que les données sont détruites. Désactivé par défaut — pour la plupart des utilisateurs, rm standard est parfaitement suffisant. Les fichiers temporaires de TerminalPhone sont petits et de courte durée, et l'espace disque est généralement réutilisé rapidement par l'activité normale du système. Cette fonctionnalité est destinée aux utilisateurs qui souhaitent une couche de protection supplémentaire contre la récupération forensique. Remarque : sur les SSD et les mémoires flash, l'usure signifie que l'écrasement peut atterrir sur différentes cellules NAND physiques — le chiffrement complet du disque est la seule défense fiable sur les supports flash. Sur les disques durs traditionnels, l'écrasement remplace les données au même emplacement physique et est efficace contre toute récupération logicielle.
  • Mode relais (Pont de groupe) -- Exécutez un relais à connaissance nulle qui relie N appelants anonymes. Le relais transmet l'audio et le chat chiffrés sans les déchiffrer, ne nécessite aucun secret partagé ni matériel audio. Les clients détectent automatiquement le mode relais via la poignée de main RELAY:1 et affichent le nombre d'appelants en direct. Le départ d'un appelant ne déconnecte pas les autres. Le tableau de bord de l'opérateur montre le nombre d'appelants, la durée de fonctionnement et le débit de données.
  • Mode Tor à saut unique -- Mode optionnel à latence réduite pour les opérateurs de relais. Utilise 1 saut Tor au lieu de 3 pour le service caché, sacrifiant l'anonymat du serveur pour une latence plus faible. Idéal pour les opérateurs de relais qui n'ont pas besoin de cacher leur propre IP.
  • Configuration des ports -- Configurez le port d'écoute et le port SOCKS ensemble via Paramètres → Paramètres Tor. Permet d'exécuter plusieurs instances sur le même appareil avec des processus Tor séparés. Principalement utile pour les opérateurs de relais qui souhaitent également participer à leur propre appel de groupe — exécutez le relais sur une instance, changez le port SOCKS sur une deuxième instance, et composez en tant qu'appelant.
  • Multi-plateforme -- Fonctionne sur les distributions Linux standard, macOS et Android via Termux. Les backends audio spécifiques à la plateforme sont gérés de manière transparente.
  • Aucun root requis -- L'entrée PTT utilise le mode brut du terminal. Aucune permission spéciale ni module noyau nécessaire.
  • Script unique -- Un seul fichier Bash. Aucun système de construction, aucun runtime, aucun framework.

Installation

Linux

Distributions prises en charge : 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:~
Sélectionnez l'option **7** dans le menu pour installer automatiquement toutes les dépendances. Les paquets suivants seront installés :

| Paquet | Fonction |
|---|---|
| `tor` | Routage en oignon et service caché |
| `opus-tools` | Compression vocale (codec Opus) |
| `sox` | Utilitaires de traitement audio |
| `socat` | Relais TCP bidirectionnel via le proxy SOCKS de Tor |
| `openssl` | Chiffrement et déchiffrement AES-256-CBC |
| `alsa-utils` | Enregistrement et lecture audio (`arecord`, `aplay`) |

### macOS``` bash

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

Sélectionnez l’option 7 pour installer toutes les dépendances automatiquement. Si Homebrew n’est pas installé, le script l’installera d’abord, puis installera les paquets suivants :

Remarque : macOS utilise sox à la fois pour l’enregistrement (rec) et la lecture (play) au lieu d’ALSA. Aucun paquet audio supplémentaire n’est nécessaire.

Apple Silicon (M1/M2/M3+) : Si votre terminal s’exécute par hasard sous Rosetta 2 (un processus x86_64) alors que Homebrew est installé dans le préfixe ARM natif (/opt/homebrew), brew install échoue normalement avec Cannot install under Rosetta 2 in ARM default prefix. Le programme d’installation des dépendances détecte désormais cela et relance automatiquement Homebrew sous arch -arm64, donc l’option 7 fonctionne quelle que soit la façon dont le script a été lancé.

Termux (Android)

TerminalPhone prend en charge les appareils Android via Termux. En raison de l’architecture audio cloisonnée d’Android, deux composants supplémentaires sont nécessaires.

Étape 1 : Installer Termux

Installez Termux depuis F-Droid. N’utilisez pas la version du Play Store, car elle est obsolète et ne reçoit plus de mises à jour.

Étape 2 : Installer l’application Termux:API

Installez Termux:API depuis F-Droid. Il s’agit d’une application Android distincte (pas un paquet Termux) qui fournit une passerelle entre Termux et les API système Android. TerminalPhone en a besoin pour accéder au microphone et à la lecture multimédia de l’appareil.

Sans l’application Termux:API installée sur l’appareil, les commandes termux-microphone-record et termux-media-player ne fonctionneront pas, et l’enregistrement et la lecture audio échoueront silencieusement.

Après avoir installé l’application Termux:API, accordez-lui les autorisations microphone lorsqu’elle vous le demande.

Étape 3 : Installer le paquet Termux:API dans Termux```bash pkg install termux-api

root@kitploit:~
Ceci installe les utilitaires en ligne de commande qui communiquent avec l'application Termux:API.

**Étape 4: Exécuter TerminalPhone**```bash
git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh

Sélectionnez l'option 7 pour installer toutes les dépendances restantes. L'installateur exécutera d'abord pkg upgrade pour résoudre les éventuels problèmes de liaison de paquets, puis installera tor, opus-tools, sox, socat, openssl-tool, ffmpeg et termux-api.

Dépendances spécifiques à Termux :

PaquetFonction
termux-apiPont CLI vers le microphone et le lecteur multimédia Android
ffmpegConvertit les enregistrements M4A d'Android en PCM brut pour le codage Opus

Démarrage rapide```

  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:~
Les deux parties doivent avoir Tor en cours d'exécution et le même secret partagé configuré avant d'initier un appel.

---

## Utilisation

### Options du 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

Contrôles en appel

Linux (maintien pour parler) :

ToucheAction
Maintenez SPACEEnregistrer un message vocal. Envoi automatique au relâchement.
TEnvoyer un message texte chiffré.
SOuvrir les paramètres en cours d'appel (changer le chiffrement, ajuster la qualité).
QRaccrocher et revenir au menu.

Termux (mode bascule) :

Le clavier logiciel Android envoie les événements de touche au relâchement, pas à la pression. TerminalPhone s'adapte en utilisant le mode bascule sur Termux.

ToucheAction
Appuyez sur SPACE

CLI Mode```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:~
---

## Comment ça fonctionne

TerminalPhone utilise un modèle enregistrer-puis-envoyer. Lorsque vous activez le PTT, le microphone enregistre en continu jusqu'à ce que vous relâchiez. L'enregistrement complet est ensuite traité via le pipeline suivant :```
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

Le protocole filaire est un texte basé sur des lignes via une connexion TCP :

Sur Termux, une étape de conversion supplémentaire gère le format d'enregistrement M4A natif d'Android, en utilisant ffmpeg pour convertir en PCM brut avant le codage Opus.


Modèle de Sécurité

Chiffrement : Tout l'audio est chiffré avec un chiffrement configurable par l'utilisateur (par défaut : AES-256-CBC) avant transmission. 21 chiffrements sélectionnés sont disponibles, classés du plus fort (256 bits) à adéquat (128 bits). La clé est dérivée d'un secret pré-partagé en utilisant PBKDF2 avec 10 000 itérations. Le chiffrement est appliqué au niveau de la couche application, indépendamment du chiffrement de transport de Tor. Les secrets sont transmis à OpenSSL via des descripteurs de fichier (-pass fd:3), et non via des arguments de ligne de commande, donc ils ne sont jamais exposés dans la table des processus.

Négociation du chiffrement : Les deux parties échangent les noms des chiffrements à la connexion et chaque fois qu'un chiffrement est changé en cours d'appel. Les noms des chiffrements ne sont pas secrets (principe de Kerckhoffs). Si les chiffrements locaux et distants ne correspondent pas, les deux parties voient des indicateurs rouges dans l'en-tête de l'appel.

Transport : Toutes les données sont acheminées via les circuits de services cachés Tor. L'adresse IP d'aucune des parties n'est exposée. Il n'y a pas de trafic en clair. La connexion ne peut pas être attribuée à l'une ou l'autre des parties par un observateur réseau.

Résistance à l'analyse du trafic : Le modèle d'enregistrement puis d'envoi produit des motifs de transmission irréguliers (messages de longueur variable à intervalles irréguliers), qui sont plus difficiles à identifier que le streaming continu.

Authentification : Le secret partagé sert d'authentification implicite. Si les deux parties n'ont pas le même secret, le déchiffrement échoue et aucun audio n'est joué. À la connexion, les deux parties échangent leurs adresses .onion pour l'identification de l'appelant. Le secret peut éventuellement être chiffré au repos avec une phrase de passe ; au lancement, le script demande la phrase de passe pour le déverrouiller.

Signature HMAC du protocole (optionnelle) : Lorsqu'elle est activée, chaque message du protocole filaire -- y compris les signaux de contrôle comme HANGUP, PTT_START et PING -- est signé avec HMAC-SHA256 dérivé du secret partagé. Un nonce aléatoire est inclus par message afin que des commandes identiques produisent des signatures uniques. Les nonces déjà vus sont suivis par appel et les doublons sont rejetés, empêchant les attaques par rejeu. Le paramètre HMAC est figé au début de l'appel via un fichier d'exécution afin que les chemins d'envoi et de réception soient toujours d'accord, même si le paramètre est basculé en cours d'appel (les changements prennent effet au prochain appel). Du côté récepteur, tout message avec une signature invalide, manquante ou rejouée est silencieusement ignoré. Cela empêche un attaquant qui compromet le circuit Tor (mais ne possède pas le secret partagé) d'injecter ou de rejouer des commandes. Les deux parties doivent activer HMAC pour que les appels fonctionnent. Non compatible avec les versions antérieures à 1.1.3.

Limitations :

  • Le secret partagé doit être échangé hors bande via un canal sécurisé (en personne, messagerie chiffrée, etc.).
  • Il n'y a pas de secret de transmission. Si le secret partagé est compromis, toutes les communications passées et futures utilisant ce secret peuvent être déchiffrées.
  • Le protocole ne protège pas contre un point d'extrémité compromis. Si l'un des appareils est compromis, l'attaquant a accès à l'audio en clair.

Sécurité du mode relais : Le relais est architecturalement sans connaissance. Il ne possède jamais le secret partagé et ne peut déchiffrer aucun contenu. Les données audio circulent via les tampons de tuyaux du noyau (FIFO) qui n'existent qu'en mémoire -- rien n'est écrit sur disque. Lorsque le relais s'arrête, tous les fichiers temporaires sont supprimés. L'opérateur du relais ne peut pas déterminer ce qui a été dit, qui sont les appelants, ni lire aucun message. Le relais filtre tous les signaux de contrôle (HANGUP, ID:, CIPHER:, PTT_START, PTT_STOP) et ne transmet que AUDIO:, MSG: et PING. Un adversaire passif global pourrait effectuer une analyse de corrélation du trafic pour associer les appelants au relais, mais le contenu des messages reste opaque.

Capacité du relais : Le principal goulot d'étranglement est la bande passante de Tor. Le débit des services cachés Tor est très variable et dépend de la qualité du circuit, de la congestion du relais et de la distance géographique. Un message vocal typique de 10 secondes fait ~20 Ko chiffré, et chaque transmission se diffuse vers N-1 auditeurs.

La capacité réaliste est de 3 à 5 appelants pour un relais fonctionnant sur un téléphone (Termux), ou 5 à 10 appelants sur une machine Linux dédiée avec une connexion stable. Les relais fonctionnant sur des appareils mobiles sont confrontés à des contraintes supplémentaires : les données mobiles ajoutent de la latence en plus de Tor, Android peut tuer les processus Termux en arrière-plan pour récupérer de la mémoire, et la consommation de la batterie augmente avec chaque appelant connecté. La bande passante du circuit Tor peut varier de 50 Ko/s à 500 Ko/s selon la qualité du chemin, et les circuits peuvent se dégrader ou tourner en cours de session. Le mode saut unique améliore le débit mais n'élimine pas la congestion du relais Tor. Ces estimations supposent le modèle PTT où une seule personne transmet à la fois -- les transmissions simultanées dégraderaient davantage les performances. Les appelants dans un appel de groupe devraient envisager de réduire leur débit Opus (Paramètres → Codage Opus) pour réduire la taille des messages et alléger la charge sur le relais.


Configuration

Toute la configuration est stockée dans .terminalphone/ par rapport à l'emplacement du 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:~
Paramètres audio par défaut (définis en haut du script) :

| Paramètre | Défaut | Description |
|---|---|---|
| `LISTEN_PORT` | 7777 | Port TCP pour les connexions entrantes |
| `TOR_SOCKS_PORT` | 9050 | Port du proxy SOCKS Tor |
| `OPUS_BITRATE` | 16 | Débit binaire de codage Opus en kbps |
| `CIPHER` | aes-256-cbc | Chiffrement (configurable via les paramètres) |
| `SNOWFLAKE_ENABLED` | 0 | Pont Snowflake pour la censure |
| `AUTO_LISTEN` | 0 | Écoute automatique au démarrage de Tor |
| `PTT_KEY` | ESPACE | Touche Push-to-talk (configurable via les paramètres) |
| `VOL_PTT` | 0 | Double appui sur le volume pour PTT, Termux uniquement (expérimental) |
| `EXCLUDE_NODES` | (vide) | Liste des pays ExcludeNodes de Tor (ex. `{US},{GB}`) |
| `HMAC_AUTH` | 0 | Signature HMAC de tous les messages du protocole (optionnel, les deux côtés doivent correspondre) |
| `OVERWRITE_DELETE` | 0 | Écraser les fichiers temporaires avec des données aléatoires avant suppression (désactivé par défaut) |
| `PTT_CHIME` | désactivé | Son de notification PTT (désactivé, tonalité, double, gazouillis, ding, clic, personnalisé) |
| `SINGLE_HOP` | 0 | Mode Tor à saut unique pour une latence réduite (désactive l'anonymat du serveur) |
| `SAMPLE_RATE` | 8000 | Fréquence d'échantillonnage audio en Hz |
| `CHUNK_DURATION` | 1 | Durée des morceaux de test audio en secondes |

---

## Dépannage

**Échec de l'amorçage de Tor :**
Consultez le journal Tor à l'emplacement `.terminalphone/tor_data/tor.log`. Les causes fréquentes incluent un décalage d'horloge, des restrictions réseau bloquant Tor ou une autre instance Tor utilisant le même port SOCKS.

**Pas d'audio sur Termux :**
Vérifiez que l'application Termux:API est installée depuis F-Droid (pas seulement le paquet `termux-api`). Accordez les permissions d'accès au microphone à l'application Termux:API dans les paramètres Android. Lancez le test de boucle audio (option 5) pour vérifier.

**L'installation de ffmpeg échoue sur Termux :**
Exécutez `pkg upgrade` avant d'installer les dépendances. L'installateur le fait automatiquement, mais si vous avez installé les paquets manuellement, des bibliothèques obsolètes peuvent causer des erreurs de liaison.

**Le test audio fonctionne mais les appels sont silencieux :**
Confirmez que les deux parties utilisent le même secret partagé. Des secrets différents entraînent un échec de déchiffrement sans message d'erreur — l'appel se connecte mais aucun audio n'est entendu.

**Le pont Snowflake est lent à se connecter :**
Snowflake route le trafic via des proxys WebRTC, ce qui ajoute un temps supplémentaire d'amorçage. Il est normal que Tor mette 30 à 60 secondes (ou plus) pour atteindre 100 % lorsque Snowflake est activé. Le script affichera un message de patience pendant l'amorçage.

**Le premier amorçage de Tor est lent :**
Au premier lancement, Tor doit télécharger l'intégralité du consensus réseau à partir de zéro, ce qui peut prendre une minute ou deux. Le script détecte cela et affiche un message. Le délai d'attente d'amorçage est automatiquement étendu de 120 à 300 secondes lors du premier lancement. Les lancements ultérieurs utilisent les données de consensus mises en cache et sont beaucoup plus rapides.

**Raccrocher ne ramène pas au menu :**
Si le script reste bloqué après avoir appuyé sur Q, appuyez sur Ctrl+C pour forcer le nettoyage et revenir au terminal.

**`Cannot install under Rosetta 2 in ARM default prefix` sur macOS :**
Cela se produit sur Apple Silicon lorsque le terminal est exécuté sous Rosetta 2 (un processus `x86_64`) mais que Homebrew se trouve dans le préfixe ARM natif (`/opt/homebrew`). L'installateur de dépendances (option **7**) détecte désormais cela et relance automatiquement `brew` sous `arch -arm64`. Si vous installez les paquets manuellement, préfixez-les vous-même : `arch -arm64 brew install <pkg>`. Sinon, lancez le script nativement avec `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)

---

## Licence

MIT
Télécharger l’outil
PaquetUtilité
torRoutage en oignon et service caché
opus-toolsCompression vocale (codec Opus)
soxEnregistrement et lecture audio (rec, play)
socatRelais TCP bidirectionnel via le proxy SOCKS de Tor
opensslChiffrement et déchiffrement AES-256-CBC
Commencer l'enregistrement. Appuyez à nouveau pour arrêter et envoyer.
TEnvoyer un message texte chiffré.
SOuvrir les paramètres en cours d'appel (changer le chiffrement, ajuster la qualité).
QRaccrocher et revenir au menu.
Vol Down ×2Basculer l'enregistrement via le bouton de volume (nécessite l'activation de Volume PTT dans les paramètres).
MessageDescription
ID:<onion>Identifiant de l'appelant -- adresse .onion de l'émetteur
CIPHER:<name>Chiffrement de l'émetteur. Échangé à la connexion et lors d'un changement.
PTT_STARTL'émetteur a commencé l'enregistrement
PTT_STOPL'émetteur a terminé ; l'audio suit ou a été envoyé
AUDIO:<base64>Message audio chiffré complet
MSG:<base64>Message texte chiffré
HANGUPL'émetteur se déconnecte
PINGSignal de maintien de connexion
RELAY:1Salutation du relais -- envoyé par le relais à la connexion, déclenche le mode groupe
GROUP:<n>Mise à jour de la taille du groupe -- diffusée par le relais lorsque des appelants se joignent ou quittent
AppelantsSortie par messageExpérience attendue
2--320--40KBFiable sur la plupart des connexions
3--540--80KBBon sur des circuits stables, retards possibles sur données mobiles
5--1080--180KBLimites atteintes, retards notables entre les transmissions
10+180KB+Pas fiable, files d'attente importantes et perte potentielle de messages