Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
terminalphone — Comunicação de voz por push-to-talk e texto criptografada através de serviços ocultos Tor com criptografia de ponta a ponta, cifras configuráveis, modo de retransmissão para chamadas em grupo e destruição de dados antiforense. | Kitploit
Ferramentas/GitLabGitLab/here_forawhile/terminalphone
OSINT (Inteligência de Fontes Abertas)Ferramentas de Criptografia/DescriptografiaSegurança de RedePrivacidadeComando e ControleRed Teaming
GitLabhere_forawhile/terminalphone

terminalphone

Comunicação de voz por push-to-talk e texto criptografada através de serviços ocultos Tor com criptografia de ponta a ponta, cifras configuráveis, modo de retransmissão para chamadas em grupo e destruição de dados antiforense.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
26837há 2 mesesRevisado pelo Kitploit

TerminalPhone

Comunicação de voz push-to-talk criptografada através de serviços ocultos Tor.

TerminalPhone é um único script Bash autocontido que fornece comunicação anônima de voz e texto criptografada de ponta a ponta entre duas ou mais partes através da rede Tor. Opera como um walkie-talkie: você grava uma mensagem de voz, que é comprimida, criptografada e transmitida para a parte remota como uma unidade única. Você também pode enviar mensagens de texto criptografadas durante uma chamada. Sem infraestrutura de servidor, sem contas, sem números de telefone. O endereço .onion do seu serviço oculto Tor é sua identidade.


Índice

  • Funcionalidades
  • Instalação
    • Linux
    • macOS
    • Termux (Android)
  • Início Rápido
  • Uso
    • Opções do Menu
    • Controles Durante a Chamada
    • Modo CLI
  • Como Funciona
  • Modelo de Segurança
  • Configuração
  • Solução de Problemas
  • Licença

Funcionalidades

  • Mensagens de Voz Walkie-Talkie -- Grave uma mensagem de voz completa e transmita-a ao soltar. Sem transmissão ao vivo, sem cortes.
  • Chat Criptografado Durante a Chamada -- Envie e receba mensagens de texto criptografadas durante uma chamada. Pressione T para digitar uma mensagem.
  • Identificador de Chamada -- Ambas as partes trocam automaticamente endereços .onion ao conectar. O endereço remoto é exibido no cabeçalho da chamada.
  • Detecção Automática de Desligamento -- Quando uma parte desliga, a outra é notificada imediatamente e a chamada termina automaticamente.
  • Cifra Configurável -- Escolha entre 21 cifras selecionadas classificadas por força (256-bit → 128-bit). Inclui famílias AES, ChaCha20, Camellia e ARIA. Cifras fracas (DES, RC4, modos ECB) são excluídas.
  • Negociação de Cifra em Tempo Real -- Ambas as partes trocam informações de cifra ao conectar. O cabeçalho da chamada mostra as cifras local e remota com indicadores verde (correspondência) ou vermelho (incompatibilidade), atualizados em tempo real.
  • Configurações Durante a Chamada -- Pressione S durante uma chamada para acessar as configurações. Altere sua cifra em tempo real; a exibição da parte remota é atualizada automaticamente.
  • Informações da Ponte Snowflake -- Ao usar Snowflake para contornar censura, a página da chamada exibe o nome do descritor da ponte, impressão digital e status da conexão de transporte analisados dos logs do Tor.
  • Escuta Automática -- Quando ativada, um ouvinte em segundo plano inicia automaticamente quando o Tor é iniciado. Chamadas recebidas são detectadas e aceitas a partir do menu principal sem necessidade de selecionar manualmente "Aguardar chamadas". Após o término de uma chamada, o ouvinte reinicia.
  • Tecla PTT Configurável -- Altere a tecla push-to-talk da barra de espaço padrão para qualquer tecla através do menu Configurações.
  • Estatísticas de Mensagens -- A tela de chamada exibe o tamanho do payload criptografado para mensagens enviadas e recebidas, atualizadas no local.
  • Status PTT Remoto -- A tela de chamada mostra um indicador estático para o estado da parte remota: "Ocioso" (verde) ou "● Gravando" (vermelho). Redefine imediatamente quando os dados de áudio chegam, antes do início da reprodução.
  • Sinal Sonoro PTT -- Som de notificação opcional quando a parte remota começa a gravar. Cinco predefinições incorporadas (tom, duplo, chirp, ding, clique) geradas com sox, além da capacidade de gravar um sinal personalizado de 2 segundos. Configurável através de Configurações.
  • Animação de Conexão -- Ao chamar um endereço remoto, uma animação cíclica é reproduzida até que a interface de chamada carregue.
  • Modificador de Voz -- Aplique efeitos de voz ao áudio de saída. Inclui 6 predefinições (grave, agudo, robô, eco, sussurro) e um modo personalizável completo com deslocamento de tom, overdrive, flanger, eco, filtro passa-alta e tremolo. Os efeitos são processados usando sox antes da codificação Opus.
  • PTT por Volume (Termux) -- Modo experimental que permite tocar duas vezes no botão Volume Down para alternar a gravação, mesmo quando o Termux está em segundo plano. Requer jq (instalado sob demanda). O volume é restaurado automaticamente após cada acionamento.
  • Serviço Oculto Tor -- Cada instância executa seu próprio serviço oculto Tor. Seu endereço .onion serve como um endpoint roteável permanente. Sem encaminhamento de porta ou IP público necessário.
  • Criptografia de Ponta a Ponta -- Todo o áudio e texto são criptografados usando uma cifra configurável (padrão: AES-256-CBC) com derivação de chave PBKDF2 a partir de um segredo pré-compartilhado antes de entrar na rede Tor.
  • Segredo Protegido por Frase-senha -- O segredo compartilhado pode ser criptografado em repouso usando uma frase-senha escolhida pelo usuário (AES-256-CBC, 100.000 iterações PBKDF2). Segredos em texto simples existentes são detectados automaticamente com uma oferta para migrar.
  • Baixa Largura de Banda -- Codec Opus a 16kbps, 8kHz mono. Uma mensagem de voz típica de 10 segundos tem menos de 20KB, bem dentro da capacidade do Tor.
  • Compartilhamento de Código QR -- A opção 3 pode exibir seu endereço .onion como um código QR escaneável no terminal. Se o qrencode não estiver instalado, você será solicitado a instalá-lo. O código QR é renderizado no buffer de tela alternativo e é destruído ao ser dispensado. Uma nota avisa que alguns scanners QR pré-adicionam http://; este prefixo é removido automaticamente ao discar.
  • Arquivos Temporários Opacos -- Todos os arquivos temporários usam extensões .tmp genéricas e identificadores hexadecimais aleatórios. Nenhum tipo de arquivo ou metadado de tempo é vazado para o sistema de arquivos.
  • Exibição de Saltos de Circuito -- Exibição opcional do caminho do seu circuito Tor durante chamadas, mostrando nomes de relays e nomes completos de países. Atualiza automaticamente a cada 60 segundos. Configurável via Configurações → Configurações Tor.
  • Excluir Países -- Exclua países específicos dos seus circuitos Tor. Predefinições para as alianças Five Eyes, Nine Eyes e Fourteen Eyes, ou insira códigos de país personalizados. Usa ExcludeNodes com StrictNodes no torrc.
  • Autenticação de Protocolo HMAC -- Assinatura HMAC-SHA256 opcional de todas as mensagens de protocolo (voz, texto, sinais de controle) usando o segredo compartilhado. Um nonce aleatório é incluído por mensagem, e nonces já vistos são rastreados para rejeitar repetições. Mensagens não assinadas, falsificadas ou repetidas são descartadas silenciosamente. O estado HMAC é congelado no início da chamada para evitar dessincronização durante a chamada. Configurável via Configurações → Segurança.
  • Sobrescrever Antes de Excluir -- Alternância opcional em Configurações → Segurança que sobrescreve cada arquivo temporário com dados aleatórios de /dev/urandom antes da exclusão. O tamanho do arquivo é lido, essa quantidade de bytes de dados aleatórios é escrita sobre o arquivo com dd usando conv=notrunc, a escrita é liberada para o dispositivo de armazenamento com sync, e então o arquivo é removido com rm. Abrange todos os arquivos sensíveis em tempo de execução: gravações PCM brutas, áudio codificado Opus, payloads criptografados, áudio e chat descriptografados recebidos, intermediários de efeitos de voz, material de chave de cifra e HMAC, logs de nonce, flags de sessão, arquivos PID, pipes nomeados, chaves de serviço oculto Tor em rotação e dados de sessão de relay. Para diretórios, todos os arquivos internos são sobrescritos recursivamente. Uma opção de teste integrada cria um arquivo de amostra, mostra o conteúdo original em texto simples e hex, sobrescreve e exibe o hex sobrescrito para que o usuário possa confirmar visualmente que os dados foram destruídos. Desativado por padrão — para a maioria dos usuários, rm padrão é perfeitamente adequado. Os arquivos temporários do TerminalPhone são pequenos e de curta duração, e o espaço em disco é tipicamente reutilizado rapidamente pela atividade normal do sistema. Este recurso é para usuários que desejam uma camada extra de proteção contra recuperação forense. Nota: em SSDs e armazenamento flash, o nivelamento de desgaste significa que a sobrescrita pode atingir diferentes células NAND físicas — criptografia de disco completo é a única defesa confiável em mídia flash. Em HDDs tradicionais, a sobrescrita substitui os dados na mesma localização física e é eficaz contra toda recuperação baseada em software.
  • Modo Relay (Ponte de Grupo) -- Execute um relay de conhecimento zero que faz a ponte entre N chamadores anônimos. O relay encaminha áudio e chat criptografados sem descriptografar, não requer segredo compartilhado ou hardware de áudio. Clientes detectam automaticamente o modo relay via handshake RELAY:1 e exibem contagem de chamadores do grupo em tempo real. A saída de um chamador não desconecta os outros. Painel do operador mostra contagem de chamadores, tempo de atividade e throughput de dados.
  • Modo Tor de Salto Único -- Modo de latência reduzida opcional para operadores de relay. Usa 1 salto Tor em vez de 3 para o serviço oculto, sacrificando o anonimato do servidor por menor latência. Ideal para operadores de relay que não precisam ocultar seu próprio IP.
  • Configuração de Porta -- Configure a porta de escuta e a porta SOCKS juntas via Configurações → Configurações Tor. Permite executar várias instâncias no mesmo dispositivo com processos Tor separados. Útil principalmente para operadores de relay que também desejam participar de sua própria chamada em grupo — execute o relay em uma instância, altere a porta SOCKS em uma segunda instância e disque como chamador.
  • Multiplataforma -- Executa em distribuições Linux padrão, macOS e Android via Termux. Backends de áudio específicos da plataforma são tratados de forma transparente.
  • Não Requer Root -- A entrada PTT usa modo raw do terminal. Sem permissões especiais ou módulos de kernel necessários.
  • Script Único -- Um arquivo Bash. Sem sistema de compilação, sem runtime, sem framework.

Instalação

Linux

Distribuições suportadas: 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:~
Seleccione a opção **7** no menu para instalar todas as dependências automaticamente. Os seguintes pacotes serão instalados:

| Pacote | Finalidade |
|---|---|
| `tor` | Roteamento onion e serviço oculto |
| `opus-tools` | Compressão de voz (codec Opus) |
| `sox` | Utilitários de processamento de áudio |
| `socat` | Relé TCP bidirecional através de proxy SOCKS do Tor |
| `openssl` | Criptografia e descriptografia AES-256-CBC |
| `alsa-utils` | Gravação e reprodução de áudio (`arecord`, `aplay`) |

### macOS``` bash

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

Selecione a opção 7 para instalar todas as dependências automaticamente. Se o Homebrew não estiver instalado, o script o instalará primeiro e, em seguida, instalará os seguintes pacotes:

Nota: O macOS usa sox para gravação (rec) e reprodução (play) em vez do ALSA. Nenhum pacote de áudio adicional é necessário.

Apple Silicon (M1/M2/M3+): Se o seu terminal estiver sendo executado sob o Rosetta 2 (um processo x86_64) enquanto o Homebrew está instalado no prefixo ARM nativo (/opt/homebrew), o brew install normalmente falha com Cannot install under Rosetta 2 in ARM default prefix. O instalador de dependências agora detecta isso e executa automaticamente o Homebrew sob arch -arm64, então a opção 7 funciona independentemente de como o script foi iniciado.

Termux (Android)

O TerminalPhone suporta dispositivos Android através do Termux. Devido à arquitetura de áudio isolada (sandbox) do Android, dois componentes adicionais são necessários.

Passo 1: Instalar o Termux

Instale o Termux a partir do F-Droid. Não use a versão da Play Store, pois está desatualizada e não recebe mais atualizações.

Passo 2: Instalar o aplicativo Termux:API

Instale o Termux:API a partir do F-Droid. Este é um aplicativo Android separado (não um pacote Termux) que fornece uma ponte entre o Termux e as APIs do sistema Android. O TerminalPhone precisa dele para acessar o microfone e a reprodução de mídia do dispositivo.

Sem o aplicativo Termux:API instalado no dispositivo, os comandos termux-microphone-record e termux-media-player não funcionarão, e a gravação e reprodução de áudio falharão silenciosamente.

Após instalar o aplicativo Termux:API, conceda a ele permissões de microfone quando solicitado.

Passo 3: Instalar o pacote Termux:API dentro do Termux```bash pkg install termux-api

root@kitploit:~
Isto instala os utilitários de linha de comando que comunicam com o aplicativo Termux:API.

**Passo 4: Executar o TerminalPhone**```bash
git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh

Selecione a opção 7 para instalar todas as dependências restantes. O instalador executará primeiro pkg upgrade para resolver problemas de vinculação de pacotes, depois instalará tor, opus-tools, sox, socat, openssl-tool, ffmpeg e termux-api.

Dependências específicas do Termux:

PackagePurpose
termux-apiInterface de linha de comando para o microfone e player de mídia do Android
ffmpegConverte gravações M4A do Android para PCM bruto para codificação Opus

Início Rápido```

  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:~
Ambas as partes devem ter o Tor em execução e o mesmo segredo compartilhado configurado antes de iniciar uma chamada.

---

## Uso

### Opções do 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

Controles durante a Chamada

Linux (pressionar para falar):

TeclaAção
Segurar ESPAÇOGravar mensagem de voz. Envia automaticamente ao soltar.
TEnviar uma mensagem de texto criptografada.
SAbrir configurações durante a chamada (alterar cifra, ajustar qualidade).
QDesligar e retornar ao menu.

Termux (modo alternância):

O teclado de software do Android envia eventos de tecla ao soltar, não ao pressionar. O TerminalPhone se adapta usando o modo alternância no Termux.

TeclaAção
Tocar ESPAÇOIniciar gravação. Toque novamente para parar e enviar.

Modo 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:~
---

## Como Funciona

TerminalPhone usa um modelo de gravar-depois-enviar. Quando você ativa o PTT, o microfone grava continuamente até você soltar. A gravação completa é então processada através do seguinte 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

O protocolo de fio é baseado em texto sobre linhas, através de uma conexão TCP:

No Termux, um passo de conversão adicional lida com o formato de gravação nativo M4A do Android, usando ffmpeg para converter para PCM bruto antes da codificação Opus.


Modelo de Segurança

Encriptação: Todo o áudio é encriptado com uma cifra configurável pelo utilizador (predefinição: AES-256-CBC) antes da transmissão. Estão disponíveis 21 cifras selecionadas, classificadas das mais fortes (256 bits) às adequadas (128 bits). A chave é derivada de um segredo pré-partilhado usando PBKDF2 com 10.000 iterações. A encriptação é aplicada na camada de aplicação, independentemente da encriptação de transporte do Tor. Os segredos são passados para o OpenSSL através de descritores de ficheiro (-pass fd:3), não argumentos de linha de comandos, por isso nunca são expostos na tabela de processos.

Negociação de cifra: Ambas as partes trocam os nomes das cifras na conexão e sempre que uma cifra é alterada durante a chamada. Os nomes das cifras não são secretos (princípio de Kerckhoffs). Se as cifras local e remota não coincidirem, ambas as partes veem indicadores vermelhos no cabeçalho da chamada.

Transporte: Todos os dados são encaminhados através de circuitos de serviço oculto do Tor. O endereço IP de nenhuma das partes é exposto. Não há tráfego em rede limpa. A conexão não pode ser atribuída a nenhuma das partes por um observador de rede.

Resistência à análise de tráfego: O modelo de gravar-depois-enviar produz padrões de transmissão irregulares (mensagens de comprimento variável em intervalos irregulares), que são mais difíceis de identificar do que streaming contínuo.

Autenticação: O segredo partilhado serve como autenticação implícita. Se ambas as partes não tiverem o mesmo segredo, a desencriptação falha e nenhum áudio é reproduzido. Na conexão, ambas as partes trocam endereços .onion para identificação do chamador. O segredo pode ser opcionalmente encriptado em repouso com uma frase-chave; ao iniciar, o script solicita a frase-chave para desbloqueá-lo.

Assinatura de protocolo HMAC (opcional): Quando ativada, todas as mensagens do protocolo de fio — incluindo sinais de controlo como HANGUP, PTT_START e PING — são assinadas com HMAC-SHA256 derivado do segredo partilhado. Um nonce aleatório é incluído por mensagem para que comandos idênticos produzam assinaturas únicas. Os nonces vistos são rastreados por chamada e duplicados são rejeitados, prevenindo ataques de repetição. A definição HMAC é congelada no início da chamada através de um ficheiro em tempo de execução para que tanto o caminho de envio como o de receção estejam sempre de acordo, mesmo que a definição seja alternada durante a chamada (as alterações têm efeito na próxima chamada). No lado recetor, qualquer mensagem com uma assinatura inválida, ausente ou repetida é descartada silenciosamente. Isto impede que um atacante que comprometa o circuito Tor (mas não tenha o segredo partilhado) injete ou repita comandos. Ambas as partes devem ativar HMAC para que as chamadas funcionem. Não é compatível com versões anteriores a 1.1.3.

Limitações:

  • O segredo partilhado deve ser trocado fora de banda através de um canal seguro (pessoalmente, mensagens encriptadas, etc.).
  • Não há sigilo de encaminhamento. Se o segredo partilhado for comprometido, todas as comunicações passadas e futuras que usem esse segredo podem ser desencriptadas.
  • O protocolo não protege contra um ponto final comprometido. Se algum dispositivo for comprometido, o atacante tem acesso ao áudio em texto claro.

Segurança do modo relay: O relay é arquitetonicamente de conhecimento zero. Nunca possui o segredo partilhado e não pode desencriptar nenhum conteúdo. Os dados de áudio fluem através de buffers de pipe do kernel (FIFOs) que existem apenas na memória — nada é escrito em disco. Quando o relay para, todos os ficheiros temporários são eliminados. O operador do relay não pode determinar o que foi dito, quem são os chamadores ou ler quaisquer mensagens. O relay filtra todos os sinais de controlo (HANGUP, ID:, CIPHER:, PTT_START, PTT_STOP) e apenas encaminha AUDIO:, MSG: e PING. Um adversário passivo global poderia realizar análise de correlação de tráfego para associar os chamadores ao relay, mas o conteúdo da mensagem permanece opaco.

Capacidade do relay: O principal gargalo é a largura de banda do Tor. A taxa de transferência do serviço oculto do Tor é altamente variável e depende da qualidade do circuito, congestão do relay e distância geográfica. Uma mensagem de voz típica de 10 segundos tem ~20KB encriptados, e cada transmissão é difundida para N-1 ouvintes.

A capacidade realista é de 3–5 chamadores para um relay a executar num telemóvel (Termux), ou 5–10 chamadores numa máquina Linux dedicada com uma conexão estável. Relays a executar em dispositivos móveis enfrentam restrições adicionais: os dados móveis adicionam latência ao Tor, o Android pode matar processos Termux em segundo plano para recuperar memória, e o consumo de bateria aumenta com cada chamador conectado. A largura de banda do circuito Tor pode variar de 50KB/s a 500KB/s dependendo da qualidade do caminho, e os circuitos podem degradar-se ou rodar durante a sessão. O modo de salto único melhora a taxa de transferência, mas não elimina a congestão do relay Tor. Estas estimativas assumem o modelo PTT onde apenas uma pessoa transmite de cada vez — transmissões simultâneas degradariam ainda mais o desempenho. Os chamadores numa chamada de grupo devem considerar reduzir a sua taxa de bits Opus (Definições → Codificação Opus) para reduzir os tamanhos das mensagens e aliviar a carga no relay.


Configuração

Toda a configuração é armazenada em .terminalphone/ relativo à localização do 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:~
Parâmetros de áudio padrão (definidos no topo do script):

| Parâmetro | Padrão | Descrição |
|---|---|---|
| `LISTEN_PORT` | 7777 | Porta TCP para conexões de entrada |
| `TOR_SOCKS_PORT` | 9050 | Porta do proxy SOCKS do Tor |
| `OPUS_BITRATE` | 16 | Taxa de bits de codificação Opus em kbps |
| `CIPHER` | aes-256-cbc | Cifra de encriptação (configurável via Configurações) |
| `SNOWFLAKE_ENABLED` | 0 | Ponte Snowflake para contornar censura |
| `AUTO_LISTEN` | 0 | Escuta automática de chamadas quando o Tor inicia |
| `PTT_KEY` | SPACE | Tecla push-to-talk (configurável via Configurações) |
| `VOL_PTT` | 0 | PTT com toque duplo no botão de volume, apenas Termux (experimental) |
| `EXCLUDE_NODES` | (vazio) | Lista ExcludeNodes do Tor por país (ex.: `{US},{GB}`) |
| `HMAC_AUTH` | 0 | Assinar HMAC todas as mensagens do protocolo (opcional, ambos os lados devem coincidir) |
| `OVERWRITE_DELETE` | 0 | Sobrescrever ficheiros temporários com dados aleatórios antes da eliminação (desligado por padrão) |
| `PTT_CHIME` | desligado | Predefinição de som de notificação PTT (desligado, tom, duplo, gorjeio, ding, clique, personalizado) |
| `SINGLE_HOP` | 0 | Modo Tor de salto único para menor latência (desativa o anonimato do servidor) |
| `SAMPLE_RATE` | 8000 | Taxa de amostragem de áudio em Hz |
| `CHUNK_DURATION` | 1 | Duração dos blocos de teste de áudio em segundos |

---

## Resolução de problemas

**Falha na inicialização do Tor:**
Verifique o registo do Tor em `.terminalphone/tor_data/tor.log`. Causas comuns incluem desvio de relógio, restrições de rede a bloquear o Tor, ou outra instância do Tor a usar a mesma porta SOCKS.

**Sem áudio no Termux:**
Confirme que a aplicação Termux:API está instalada a partir do F-Droid (não apenas o pacote `termux-api`). Conceda permissões de microfone à aplicação Termux:API nas definições do Android. Execute o teste de loopback de áudio (opção 5) para verificar.

**Falha na instalação do ffmpeg no Termux:**
Execute `pkg upgrade` antes de instalar as dependências. O instalador faz isto automaticamente, mas se instalou pacotes manualmente, bibliotecas partilhadas desatualizadas podem causar erros de ligação.

**Teste de áudio funciona, mas as chamadas estão mudas:**
Confirme que ambas as partes estão a usar o mesmo segredo partilhado. Segredos diferentes resultam em falha de desencriptação sem mensagem de erro — a chamada liga mas nenhum áudio é ouvido.

**Ponte Snowflake demora a ligar:**
A Snowflake encaminha o tráfego através de proxies WebRTC, o que acrescenta tempo extra de inicialização. É normal o Tor demorar 30–60 segundos (ou mais) para atingir 100% quando a Snowflake está ativada. O script mostrará um aviso de paciência durante a inicialização.

**Primeira inicialização do Tor é lenta:**
No primeiro arranque, o Tor tem de descarregar o consenso total da rede de raiz, o que pode demorar um ou dois minutos. O script deteta isso e exibe um aviso. O tempo limite de inicialização é automaticamente estendido de 120 para 300 segundos na primeira execução. Os arranques subsequentes usam dados de consenso em cache e são muito mais rápidos.

**Desligar não retorna ao menu:**
Se o script ficar preso após pressionar Q, prima Ctrl+C para forçar a limpeza e regressar à shell.

**`Cannot install under Rosetta 2 in ARM default prefix` no macOS:**
Isto acontece em Apple Silicon quando o terminal está a correr sob Rosetta 2 (um processo `x86_64`) mas o Homebrew reside no prefixo ARM nativo (`/opt/homebrew`). O instalador de dependências (opção **7**) agora deteta isto e executa automaticamente o `brew` sob `arch -arm64`. Se estiver a instalar pacotes manualmente, prefixe-os você mesmo: `arch -arm64 brew install <pkg>`. Em alternativa, execute o script nativamente com `arch -arm64 bash terminalphone.sh`.

---

[ESPELHO V1.0.0](https://bin.disroot.org/?e1356291b098cb75#FMQ4gxFwgdr3rjR1dpGS2csLmDPzDEkQW16fQ5P2Vt4y)

[ESPELHO V1.0.1](https://bin.disroot.org/?d3bc0b8976113f58#AuUm4ev4vfeVmPyrh2KjAdhDP6WN4UX6yKQh9ERGD5Qt)

[ESPELHO V1.0.2](https://bin.disroot.org/?6bc5b2fd046de1d7#G7TmnytrMeaM5AZYWth6BjjdqUb9RDf3K9erHUExKcGX)

[ESPELHO V1.0.3](https://bin.disroot.org/?c5010f039e4693fd#Brp1w7LRQH9d5Ye5npZDPxNVR855SW9QUAk9cJaUuLYX)

[ESPELHO V1.0.4](https://bin.disroot.org/?1831f6b78e349142#7zaAMVPNJL3MfbGJzjtm6cCPcvQftf4ULXupdne5dRKw)

[ESPELHO V1.0.5](https://bin.disroot.org/?edfcfc844987ed03#56LuBbqbkfNDXfHpydyaB3VcWYhYenX18dtSvNumERY9)

[ESPELHO V1.0.6](https://bin.disroot.org/?6c7b4774108b0c1c#GQPst46zjAYidndmNvytforX7MK2LyHanL4d829vVcv4)

[ESPELHO V1.0.7](https://bin.disroot.org/?047003637623b4fa#EwmaysciDpiDkht8xV7ce3QcR9oxFXaxSikh4cLheXBB)

[ESPELHO V1.0.8](https://bin.disroot.org/?06e38bd64e6fbdad#88MYs3dmq9rSMkmocpW3NYaaG4YfSdRCc9LJnEEzqGYp)

[ESPELHO V1.0.9](https://bin.disroot.org/?950218a9a7c71c66#E7Z94VCGBZozrfXYhGwKyAdMeTxuavg92tA1pn2DbrrB)

[ESPELHO V1.1.0](https://bin.disroot.org/?0b0da14f31521b3a#B1c23J8xFoZZKErvGG28PgbtfgtMUcDABWmQEoSZfXgh)

[ESPELHO V1.1.1](https://bin.disroot.org/?d8e2d4f0300eb5af#9Y1C8CkcH9jAmv1fh4GZs1yYpJmWCG5xG3SvDYdwnJam)

[ESPELHO V1.1.2](https://bin.disroot.org/?b1059616f880925f#8ef2oscZXUkPAsJZwGfWvLPQagVAk5GgW4DyssmLvQpG)

[ESPELHO V1.1.3](https://bin.disroot.org/?b02658801518aaa7#JE6CsBLWUwAnTdBqeHgeXL7QF5UExgi9rnygcfyMZjCJ)

[ESPELHO V1.1.4](https://bin.disroot.org/?d31248fc44c287a0#HQELFWFEMpM9kfTZSGDXTdGFMVKTejox5CajF9Vm4Www)

[ESPELHO V1.1.5](https://bin.disroot.org/?284b723ed6aad15f#8VCrrri6yRpdg3uVDSY94wpx7LYkw5uYhm4Vbhka83sM)

[ESPELHO V1.1.5.1](https://bin.disroot.org/?26aaef1eff20c271#4GxQQPSDhrszTu1RmERySNVqD2fZW5GZwm3JeL1parpB)

[ESPELHO V1.1.6](https://bin.disroot.org/?ae8270578cd9e081#BbcDLU49XqhecvwviHRcdfrZ4vhKdL2AMeKaT5v9oLV1)

[ESPELHO V1.1.7](https://bin.disroot.org/?457e4308abe582d8#B9LJG88rmUwrGHHuCof8WpE8CXGmkc2tyrXXicEiJFWk)

---

## Licença

MIT
Baixar ferramenta
PacoteObjetivo
torRoteamento onion e serviço oculto
opus-toolsCompressão de voz (codec Opus)
soxGravação e reprodução de áudio (rec, play)
socatRetransmissão TCP bidirecional através do proxy SOCKS do Tor
opensslCriptografia e descriptografia AES-256-CBC
TEnviar uma mensagem de texto criptografada.
SAbrir configurações durante a chamada (alterar cifra, ajustar qualidade).
QDesligar e retornar ao menu.
Vol Down ×2Alternar gravação via botão de volume (requer "Volume PTT" ativado nas configurações).
MensagemDescrição
ID:<onion>ID do chamador — endereço .onion do remetente
CIPHER:<name>Cifra de encriptação do remetente. Trocada na conexão e na alteração.
PTT_STARTO remetente começou a gravar
PTT_STOPO remetente terminou; o áudio segue ou foi enviado
AUDIO:<base64>Mensagem de áudio encriptada completa
MSG:<base64>Mensagem de texto encriptada
HANGUPO remetente está a desligar
PINGSinal de keepalive
RELAY:1Saudação do relay — enviada pelo relay na conexão, ativa o modo de grupo
GROUP:<n>Atualização do tamanho do grupo — transmitida pelo relay quando os chamadores entram ou saem
ChamadoresSaída por mensagemExperiência esperada
2–320–40KBFiável na maioria das conexões
3–540–80KBBoa em circuitos estáveis, atrasos possíveis em dados móveis
5–1080–180KBAtingindo limites, atrasos notáveis entre transmissões
10+180KB+Não fiável, fila significativa e potencial perda de mensagens