Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
terminalphone — Зашифрованная голосовая связь (нажми и говори) и текстовая коммуникация через скрытые сервисы Tor со сквозным шифрованием, настраиваемыми шифрами, релейным режимом для групповых вызовов и анти-криминалистическим уничтожением данных. | Kitploit
Инструменты/GitLabGitLab/here_forawhile/terminalphone
OSINT (Разведка открытых источников)Инструменты шифрования/дешифрованияСетевая безопасностьКонфиденциальностьКомандование и УправлениеRed Teaming
GitLabhere_forawhile/terminalphone

terminalphone

Зашифрованная голосовая связь (нажми и говори) и текстовая коммуникация через скрытые сервисы Tor со сквозным шифрованием, настраиваемыми шифрами, релейным режимом для групповых вызовов и анти-криминалистическим уничтожением данных.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
26837631 месяц назадПроверено Kitploit
# TerminalPhone

Зашифрованная голосовая связь в режиме push-to-talk через скрытые сервисы Tor.

TerminalPhone — это единый самодостаточный Bash-скрипт, обеспечивающий анонимную сквозную шифрованную голосовую и текстовую связь между двумя или более сторонами через сеть Tor. Он работает как рация: вы записываете голосовое сообщение, и оно сжимается, шифруется и передаётся удалённой стороне как единое целое. Вы также можете отправлять зашифрованные текстовые сообщения во время вызова. Никакой серверной инфраструктуры, никаких аккаунтов, никаких телефонных номеров. Ваш `.onion`-адрес скрытого сервиса Tor — это ваша личность.

---

## Содержание

- [Возможности](#возможности)
- [Установка](#установка)
  - [Linux](#linux)
  - [macOS](#macos)
  - [Termux (Android)](#termux-android)
- [Быстрый старт](#быстрый-старт)
- [Использование](#использование)
  - [Пункты меню](#пункты-меню)
  - [Управление во время вызова](#управление-во-время-вызова)
  - [Режим CLI](#режим-cli)
- [Как это работает](#как-это-работает)
- [Модель безопасности](#модель-безопасности)
- [Конфигурация](#конфигурация)
- [Устранение неполадок](#устранение-неполадок)
- [Лицензия](#лицензия)

---

## Возможности

- **Режим рации push-to-talk** -- Запишите полное голосовое сообщение и передайте его при отпускании.
- **Зашифрованный чат во время вызова** -- Отправляйте и получайте зашифрованные текстовые сообщения во время вызова. Нажмите `T`, чтобы ввести сообщение.
- **Определитель вызывающего** -- Обе стороны автоматически обмениваются `.onion`-адресами при подключении. Удалённый адрес отображается в заголовке вызова.
- **Автоопределение завершения вызова** -- Когда одна сторона завершает вызов, другая немедленно уведомляется, и вызов автоматически заканчивается.
- **Настраиваемый шифр** -- Выбор из 21 отобранного шифра, ранжированного по стойкости (256-бит → 128-бит). Включает семейства AES, ChaCha20, Camellia и ARIA. Слабые шифры (DES, RC4, режимы ECB) исключены.
- **Согласование шифра в реальном времени** -- Обе стороны обмениваются информацией о шифре при подключении. Заголовок вызова показывает как локальный, так и удалённый шифр с зелёными (совпадение) или красными (несовпадение) индикаторами, обновляемыми в реальном времени.
- **Настройки во время вызова** -- Нажмите `S` во время вызова для доступа к настройкам. Меняйте шифр на лету; отображение у удалённой стороны обновляется автоматически.
- **Информация о мосте Snowflake** -- При использовании Snowflake для обхода цензуры страница вызова отображает имя дескриптора моста, отпечаток и статус транспортного соединения, разобранные из логов Tor.
- **Авто-прослушивание** -- При включении фоновый слушатель запускается автоматически при загрузке Tor. Входящие вызовы обнаруживаются и принимаются из главного меню без необходимости вручную выбирать «Слушать вызовы». После завершения вызова слушатель перезапускается.
- **Настраиваемая клавиша PTT** -- Измените клавишу push-to-talk с пробела по умолчанию на любую другую через меню настроек.
- **Статистика сообщений** -- Экран вызова отображает размер зашифрованной полезной нагрузки для отправленных и полученных сообщений, обновляемый на месте.
- **Удалённый статус PTT** -- Экран вызова показывает статический индикатор состояния удалённой стороны: «Idle» (зелёный) или «● Recording» (красный). Сбрасывается немедленно при поступлении аудиоданных, до начала воспроизведения.
- **Звуковой сигнал PTT** -- Опциональный звук уведомления, когда удалённая сторона начинает запись. Пять встроенных пресетов (tone, double, chirp, ding, click), генерируемых с помощью sox, плюс возможность записать собственный 2-секундный сигнал. Настраивается через Настройки.
- **Анимация подключения** -- При вызове удалённого адреса воспроизводится циклическая анимация до загрузки интерфейса вызова.
- **Изменение голоса** -- Применяйте голосовые эффекты к исходящему аудио. Включает 6 пресетов (deep, high, robot, echo, whisper) и полностью настраиваемый пользовательский режим с изменением высоты тона, overdrive, flanger, echo, фильтром высоких частот и тремоло. Эффекты обрабатываются с помощью sox перед кодированием Opus.
- **Громкость PTT (Termux)** -- Экспериментальный режим, позволяющий двойным нажатием кнопки уменьшения громкости переключать запись, даже когда Termux находится в фоне. Требуется `jq` (устанавливается по требованию). Громкость автоматически восстанавливается после каждого срабатывания.
- **Скрытый сервис Tor** -- Каждый экземпляр запускает собственный скрытый сервис Tor. Ваш `.onion`-адрес служит постоянной, маршрутизируемой конечной точкой. Не требуется проброс портов или публичный IP.
- **Сквозное шифрование** -- Всё аудио и текст шифруются с использованием настраиваемого шифра (по умолчанию: AES-256-CBC) с выводом ключа PBKDF2 из предварительно общего секрета перед попаданием в сеть Tor.
- **Защищённый парольной фразой секрет** -- Общий секрет может быть зашифрован при хранении с использованием выбранной пользователем парольной фразы (AES-256-CBC, 100 000 итераций PBKDF2). Существующие секреты в открытом виде автоматически обнаруживаются с предложением миграции.
- **Низкая пропускная способность** -- Кодек Opus на 16 кбит/с, 8 кГц моно. Типичное 10-секундное голосовое сообщение занимает менее 20 КБ, что вполне укладывается в возможности Tor.
- **Обмен QR-кодами** -- Пункт 3 может отобразить ваш `.onion`-адрес в виде сканируемого QR-кода в терминале. Если `qrencode` не установлен, вам будет предложено его установить. QR-код отображается на альтернативном экранном буфере и уничтожается при закрытии. Примечание предупреждает, что некоторые QR-сканеры автоматически добавляют префикс `http://`; этот префикс автоматически удаляется при наборе.
- **Непрозрачные временные файлы** -- Все временные файлы используют общие расширения `.tmp` и случайные шестнадцатеричные идентификаторы. Никакие метаданные о типе файла или времени не утекают в файловую систему.
- **Отображение цепочки узлов** -- Опциональное отображение вашего пути по цепочке Tor во время вызовов с показом имён реле и полных названий стран. Автообновление каждые 60 секунд. Настраивается через Настройки → Настройки Tor.
- **Исключение стран** -- Исключайте определённые страны из ваших цепочек Tor. Пресеты для альянсов Five Eyes, Nine Eyes и Fourteen Eyes или ввод пользовательских кодов стран. Использует `ExcludeNodes` с `StrictNodes` в torrc.
- **Аутентификация протокола HMAC** -- Опциональная подпись HMAC-SHA256 всех сообщений протокола (голос, текст, управляющие сигналы) с использованием общего секрета. В каждое сообщение включается случайный nonce, а увиденные nonce отслеживаются для отклонения повторов. Неподписанные, поддельные или повторно воспроизведённые сообщения молча отбрасываются. Состояние HMAC фиксируется в начале вызова для предотвращения рассинхронизации во время вызова. Настраивается через Настройки → Безопасность.
- **Перезапись перед удалением** -- Опциональный переключатель в Настройки → Безопасность, который перезаписывает каждый временный файл случайными данными из `/dev/urandom` перед удалением. Считывается размер файла, поверх файла записывается соответствующее количество байт случайных данных с помощью `dd` с `conv=notrunc`, запись сбрасывается на устройство хранения с помощью `sync`, а затем файл удаляется с помощью `rm`. Охватывает все конфиденциальные файлы времени выполнения: необработанные записи PCM, аудио, закодированное в Opus, зашифрованные полезные нагрузки, расшифрованное входящее аудио и чат, промежуточные файлы голосовых эффектов, материал ключей шифра и HMAC, журналы nonce, флаги сессии, PID-файлы, именованные каналы, ключи скрытого сервиса Tor при ротации и данные сессии реле. Для каталогов все файлы внутри перезаписываются рекурсивно. Встроенный тестовый пункт создаёт образец файла, показывает исходное содержимое в открытом виде и в hex, перезаписывает его и отображает перезаписанный hex, чтобы пользователь мог визуально убедиться в уничтожении данных. По умолчанию выключено — для большинства пользователей стандартного `rm` вполне достаточно. Временные файлы TerminalPhone малы и недолговечны, а дисковое пространство обычно быстро переиспользуется обычной системной активностью. Эта функция предназначена для пользователей, желающих получить дополнительный уровень защиты от криминалистического восстановления. Примечание: на SSD и флеш-накопителях выравнивание износа означает, что перезапись может попасть на другие физические ячейки NAND — полнодисковое шифрование является единственной надёжной защитой на флеш-носителях. На традиционных HDD перезапись заменяет данные в том же физическом месте и эффективна против всех программных методов восстановления.
- **Режим реле (групповой мост)** -- Запустите реле с нулевым знанием, которое соединяет N анонимных вызывающих. Реле пересылает зашифрованное аудио и чат без расшифровки, не требует общего секрета или аудиооборудования. Клиенты автоматически определяют режим реле через рукопожатие `RELAY:1` и отображают количество участников группы в реальном времени. Уход одного вызывающего не отключает остальных. Панель оператора показывает количество вызывающих, время работы и пропускную способность данных.
- **Режим Tor с одним узлом** -- Опциональный режим с пониженной задержкой для операторов реле. Использует 1 узел Tor вместо 3 для скрытого сервиса, жертвуя анонимностью сервера ради меньшей задержки. Идеально для операторов реле, которым не нужно скрывать собственный IP.
- **Конфигурация портов** -- Настройте порт прослушивания и порт SOCKS вместе через Настройки → Настройки Tor. Позволяет запускать несколько экземпляров на одном устройстве с отдельными процессами Tor. В первую очередь полезно для операторов реле, которые также хотят присоединиться к собственному групповому вызову — запустите реле на одном экземпляре, измените порт SOCKS на втором экземпляре и подключитесь как вызывающий.
- **Кроссплатформенность** -- Работает на стандартных дистрибутивах Linux, macOS и Android через Termux. Платформозависимые аудиобэкенды обрабатываются прозрачно.
- **Не требует root** -- Ввод PTT использует необработанный режим терминала. Не требуются специальные разрешения или модули ядра.
- **Единый скрипт** -- Один файл Bash. Никакой системы сборки, никакой среды выполнения, никакого фреймворка.

---

## Установка

### Linux

**Поддерживаемые дистрибутивы:** Debian/Ubuntu (apt), Fedora/RHEL (dnf), Arch (pacman).``` bash

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

```
Выберите пункт **7** в меню, чтобы автоматически установить все зависимости. Будут установлены следующие пакеты:

| Пакет | Назначение |
|---|---|
| `tor` | Луковая маршрутизация и скрытый сервис |
| `opus-tools` | Сжатие голоса (кодек Opus) |
| `sox` | Утилиты обработки звука |
| `socat` | Двунаправленный TCP-ретранслятор через SOCKS-прокси Tor |
| `openssl` | Шифрование и дешифрование AES-256-CBC |
| `alsa-utils` | Запись и воспроизведение звука (`arecord`, `aplay`) |

### macOS``` bash

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

```
Выберите пункт **7**, чтобы установить все зависимости автоматически. Если [Homebrew](https://brew.sh) не установлен, скрипт сначала установит его, а затем установит следующие пакеты:

| Пакет | Назначение |
|---|---|
| `tor` | Луковая маршрутизация и скрытый сервис |
| `opus-tools` | Сжатие голоса (кодек Opus) |
| `sox` | Запись и воспроизведение звука (`rec`, `play`) |
| `socat` | Двунаправленный TCP-ретранслятор через SOCKS-прокси Tor |
| `openssl` | Шифрование и дешифрование AES-256-CBC |

**Примечание:** В macOS для записи (`rec`) и воспроизведения (`play`) используется `sox` вместо ALSA. Дополнительные аудиопакеты не требуются.

**Apple Silicon (M1/M2/M3+):** Если ваш терминал случайно работает под Rosetta 2 (процесс `x86_64`), а Homebrew установлен в нативном ARM-префиксе (`/opt/homebrew`), то `brew install` обычно завершается ошибкой `Cannot install under Rosetta 2 in ARM default prefix`. Установщик зависимостей теперь обнаруживает это и автоматически перезапускает Homebrew под `arch -arm64`, поэтому пункт **7** работает независимо от того, как был запущен скрипт.

### Termux (Android)

TerminalPhone поддерживает устройства Android через Termux. Из-за песочницы аудиоархитектуры Android требуются два дополнительных компонента.

**Шаг 1: Установите Termux**

Установите [Termux](https://f-droid.org/en/packages/com.termux/) из F-Droid. Не используйте версию из Play Store, так как она устарела и больше не получает обновлений.

**Шаг 2: Установите приложение Termux:API**

Установите [Termux:API](https://f-droid.org/en/packages/com.termux.api/) из F-Droid. Это отдельное Android-приложение (не пакет Termux), которое обеспечивает связь между Termux и системными API Android. TerminalPhone требует его для доступа к микрофону устройства и воспроизведению медиа.

Без установленного на устройстве приложения Termux:API команды `termux-microphone-record` и `termux-media-player` не будут работать, а запись и воспроизведение звука будут завершаться без сообщений об ошибках.

После установки приложения Termux:API предоставьте ему разрешения на доступ к микрофону, когда появится соответствующий запрос.

**Шаг 3: Установите пакет Termux:API внутри Termux**```bash
pkg install termux-api
```
Это устанавливает утилиты командной строки, которые взаимодействуют с приложением Termux:API.

**Шаг 4: Запуск TerminalPhone**```bash
git clone https://gitlab.com/here_forawhile/terminalphone.git
cd terminalphone
bash terminalphone.sh
```
Выберите опцию **7**, чтобы установить все оставшиеся зависимости. Установщик сначала запустит `pkg upgrade` для устранения проблем со связыванием пакетов, затем установит `tor`, `opus-tools`, `sox`, `socat`, `openssl-tool`, `ffmpeg` и `termux-api`.

**Зависимости, специфичные для Termux:**

| Пакет | Назначение |
|---|---|
| `termux-api` | CLI-мост к микрофону и медиаплееру Android |
| `ffmpeg` | Преобразует записи Android в формате M4A в необработанный PCM для кодирования Opus |

---

## Быстрый старт```
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)
```
Обе стороны должны иметь запущенный Tor и одинаковый общий секрет, настроенный до начала вызова.

---

## Использование

### Параметры меню```
 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
```
### Управление во время вызова

**Режим полного дуплекса (WebSockets):**

| Клавиша | Действие |
|---|---|
| M | Выключить / включить микрофон. |
| T | Отправить зашифрованное текстовое сообщение во время вызова. |
| Q | Завершить вызов и вернуться в меню. |

**Режим Push-to-Talk (Linux / macOS):**

| Клавиша | Действие |
|---|---|
| Удерживать SPACE | Записать голосовое сообщение. Отправляется автоматически при отпускании. |
| T | Отправить зашифрованное текстовое сообщение. |
| S | Открыть настройки во время вызова (сменить шифр, настроить качество). |
| Q | Завершить вызов и вернуться в меню. |

**Режим Push-to-Talk (Termux):**

Программная клавиатура Android отправляет события клавиш при отпускании, а не при нажатии. TerminalPhone адаптируется, используя режим переключения в Termux.

| Клавиша | Действие |
|---|---|
| Нажать SPACE | Начать запись. Нажать снова, чтобы остановить и отправить. |
| T | Отправить зашифрованное текстовое сообщение. |
| S | Открыть настройки во время вызова (сменить шифр, настроить качество). |
| Q | Завершить вызов и вернуться в меню. |
| Vol Down ×2 | Переключить запись кнопкой громкости (требуется включённая опция Volume PTT в настройках). |

### Режим 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)
```
---

## Как это работает

TerminalPhone использует модель «запись, затем отправка». Когда вы активируете PTT, микрофон записывает непрерывно до момента отпускания. Затем полная запись обрабатывается через следующий конвейер:```
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
```
Сетевой протокол представляет собой построчный текст поверх TCP-соединения:

| Сообщение | Описание |
|---|---|
| `ID:<onion>` | Идентификатор вызывающего — `.onion`-адрес отправителя |
| `CIPHER:<name>` | Шифр шифрования отправителя. Обменивается при подключении и при изменении. |
| `PTT_START` | Отправитель начал запись |
| `PTT_STOP` | Отправитель закончил; аудио следует или уже отправлено |
| `AUDIO:<base64>` | Полное зашифрованное аудиосообщение |
| `MSG:<base64>` | Зашифрованное текстовое сообщение |
| `HANGUP` | Отправитель отключается |
| `PING` | Сигнал поддержания соединения |
| `RELAY:1` | Приветствие релея — отправляется релеем при подключении, запускает групповой режим |
| `GROUP:<n>` | Обновление размера группы — широковещательно рассылается релеем, когда вызывающие присоединяются или покидают группу |

В Termux дополнительный этап преобразования обрабатывает нативный формат записи Android M4A, используя `ffmpeg` для преобразования в необработанный PCM перед кодированием Opus.

---

## Модель безопасности

**Шифрование:** Всё аудио шифруется с помощью настраиваемого пользователем шифра (по умолчанию: AES-256-CBC) перед передачей. Доступен 21 отобранный шифр, ранжированный от самого стойкого (256-бит) до достаточного (128-бит). Ключ выводится из предварительно разделённого секрета с использованием PBKDF2 с 10 000 итераций. Шифрование применяется на уровне приложения, независимо от транспортного шифрования Tor. Секреты передаются в OpenSSL через файловые дескрипторы (`-pass fd:3`), а не через аргументы командной строки, поэтому они никогда не отображаются в таблице процессов.

**Согласование шифра:** Обе стороны обмениваются именами шифров при подключении и всякий раз, когда шифр меняется во время вызова. Имена шифров не являются секретом (принцип Керкгоффса). Если локальный и удалённый шифры не совпадают, обе стороны видят красные индикаторы в заголовке вызова.

**Транспорт:** Все данные маршрутизируются через цепи скрытых сервисов Tor. IP-адрес ни одной из сторон не раскрывается. Трафика в открытой сети нет. Соединение не может быть приписано ни одной из сторон сетевым наблюдателем.

---

[Read more](https://gitlab.com/here_forawhile/terminalphone)
Скачать инструмент