termchat

без аудита · экспериментально

termchat

Приватная переписка прямо в терминале.

Сквозное шифрование, только текст, никаких аккаунтов. Вы — это пара ключей и ник, который выбираете сами; сервер видит только шифртекст.

Что это

Текст в терминале

Чат там, где вы и так работаете. Без картинок, превью ссылок и разметки: меньше утечек и меньше поводов для атак.

Не нужно регистрироваться

Ни телефона, ни email, ни имени. Ваша личность — пара ключей, созданная на устройстве, и ник, который видят только ваши контакты.

Сервер ничего не знает

Relay передаёт конверты, которые не может открыть. Изъятие сервера даст шифртекст и публичные ключи, не больше.

Что умеет

Сквозное шифрование

Olm из vodozemac: рукопожатие в стиле X3DH и Double Ratchet, та же схема, что в Signal и Matrix.

Встроенный Tor

Один переключатель скрывает ваш IP от relay и провайдера. Ставить Tor отдельно не нужно.

Офлайн-доставка

Сообщения ждут на relay в зашифрованном виде до 14 дней, пока собеседник не появится в сети.

Исчезающие сообщения

От 5 минут до недели, для каждого чата. Или чат только в памяти, без записи на диск.

Пароль под принуждением

Второй пароль, который молча стирает всё и показывает чистую установку.

Автоблокировка

Ключи уходят из памяти после 5 минут бездействия или сразу по Ctrl+K.

Номер безопасности

Один раз сверьте 60 цифр с другом и исключите посредника.

Запросы, а не входящие

Незнакомцы ждут, пока вы их примете. Блокировка, отказ, жалоба оператору relay.

Мышь и темы

Клики, прокрутка, действия по правой кнопке. 18 цветовых тем, светлые и тёмные.

Свой relay

Один небольшой бинарник с SQLite. Запускается на любом сервере, можно с onion-адресом.

От чего защищает, а от чего нет

Цель не «невозможно взломать», а «взламывать сервер бессмысленно».

Защищено

  • Содержимое сообщений — от провайдера, Wi-Fi, оператора relay и того, кто изымет сервер.
  • Старые сообщения, если ключ утечёт позже, и новые, когда атакующий потеряет доступ.
  • Подмена, повтор и перестановка сообщений; пропавшие сообщения видны.
  • Выдача себя за другого, если вы сверили номер безопасности.
  • Ваш IP-адрес — от relay и провайдера, когда включён Tor.
  • Данные на диске: зашифрованы вашим паролем (Argon2id).

Частично

  • Метаданные: relay видит, какой ключ кому пишет и когда, и размер, округлённый до 512 / 4096 / 16384 байт.
  • Человек у вашего разблокированного компьютера: автоблокировка, исчезающие сообщения, чаты без истории.
  • Принуждение выдать пароль: пароль под принуждением не поможет, если диск скопировали заранее.
  • Потеря устройства: только при наличии резервной копии.

Не защищено

  • Вредоносное ПО, кейлоггер, скомпрометированный терминал или ОС.
  • Глобальный наблюдатель, сопоставляющий время трафика.
  • Ключи в swap и файле гибернации: включите шифрование диска.

Полная модель угроз →

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

  1. 01

    Обменяйтесь приглашениями

    Отправьте приглашение — строку, начинающуюся с termchat:, — любым способом. В нём только публичные ключи.

  2. 02

    Сверьте один раз

    Сравните номер безопасности лично или по телефону. Цифры совпали — посредника нет.

  3. 03

    Переписывайтесь

    Сообщения идут через relay в зашифрованном виде, с новым ключом для каждого сообщения.

Установка

Через Homebrew

brew install prophecy1345/tap/termchat

Или одной командой

curl -fsSL https://raw.githubusercontent.com/prophecy1345/termchat/main/scripts/install.sh | sh

В PowerShell

irm https://raw.githubusercontent.com/prophecy1345/termchat/main/scripts/install.ps1 | iex

Или скачайте .zip, откройте его и дважды щёлкните termchat.exe.

Скачайте архив для своей системы на странице релизов, сверьте его с SHA256SUMS и запустите termchat.

Релизы

Потом наберите termchat. Экран настройки уже заполнен адресом публичного relay.

Как проверить релиз →

Свой relay

Relay — один бинарник рядом с termchat в каждом релизе: SQLite, лимиты, onion-адрес по желанию. Ваши друзья пользуются вашим сервером, больше никому знать не нужно.

Инструкция по установке →