
Терминальный зашифрованный мессенджер с постквантовой криптографией, протоколом Double Ratchet и анонимностью Tor. Особенности: аварийная кодовая фраза, отрицаемая аутентификация и укрепление безопасности на уровне ОС с помощью seccomp-bpf и mlockall.
op4 — Безопасный терминальный мессенджер
Op4 — это терминальное приложение для защищённого обмена сообщениями, написанное на Rust. Оно обеспечивает сквозное шифрование приватной переписки с постквантовой криптографией, маршрутизируя весь трафик через сеть Tor, так что ни содержимое ваших сообщений, ни ваш IP-адрес не раскрываются никому — даже вашему собеседнику.
op4 позволяет двум людям обмениваться приватными сообщениями, не раскрывая ни свой IP-адрес, ни реальную личность. Каждое сообщение:
op4 работает полностью в терминале. У него нет GUI, нет браузерного компонента и нет облачной учётной записи. Единственный внешний процесс, с которым он взаимодействует, — это демон Tor, запущенный на вашем компьютере.
Все варианты загрузки — AppImage, архив с исходным кодом, клонирование и сборка, а также автоматический установщик — описаны в руководстве по загрузке и установке. Последний релиз доступен на странице релизов.
В Debian и Ubuntu скрипт install/setup.sh выполняет всё одной командой:
Rust-тулчейн, зависимости для сборки, Tor, настройка управляющего порта, компиляция
бинарного файла, системный пользователь, каталог данных и профиль AppArmor.
git clone https://github.com/Opfour/op4.git
cd op4
sudo bash install/setup.sh
После завершения скрипта необходимо выйти из системы и войти заново перед запуском op4. Установщик добавляет вашего пользователя в группу
debian-tor, чтобы он мог читать файл cookie Tor. Linux не применяет изменения групп к уже открытым сеансам — требуется новый вход в систему.Если пропустить этот шаг, op4 не запустится и выдаст ошибку:
Permission denied reading /run/tor/control.authcookie
Затем, прежде чем доверять бинарному файлу, сверьте хэш исходного кода, выведенный скриптом, с опубликованным хэшем релиза для вашей версии.
При запуске op4 выводит хэш исходного кода, охватывающий все Rust-файлы исходников,
Cargo.toml, Cargo.lock и build.rs. Сравните его со значением
ниже для установленной вами версии.
| Версия | Хэш исходного кода |
|---|---|
0.3.0 | 80820cb41a63575d2c139dadd425d13d1e87e62a9d60200ae7b894ae2e9ad8ed |
0.3.1 | 48115efb12747fa78b627ddbf7a56c46169f59e777d7d7508941bf89e4fe7521 |
0.2.0-dev | 35740577f6c4a4f19c5a08fe85b1f78a10347f2ba9dd7642d126552266bfa5a5 |
0.1.0 | e1a94761c7d3fa589ba892b47d5295aa417f95aee126809d51a7e7fb7e78982c |
Проверить его можно и без запуска полного приложения:
op4 --print-hash
Если хэш не совпадает, не используйте бинарный файл — он либо собран из другого коммита, либо был изменён.
Сначала установите зависимости, затем запустите скрипт:
Rust-тулчейн (зафиксирован на версии 1.89.0 через rust-toolchain.toml):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
Tor и зависимости для сборки:
# Fedora
sudo dnf install tor gcc pkg-config openssl-devel
# Arch
sudo pacman -S tor base-devel pkg-config openssl
Настройте управляющий порт Tor — добавьте в /etc/tor/torrc:
ControlPort 9051
CookieAuthentication 1
sudo systemctl restart tor
Добавьте вашего пользователя в группу Tor:
sudo usermod -aG tor $USER # Fedora / Arch
После этого шага необходимо выйти из системы и войти заново. Изменения членства в группах не применяются к активным сеансам. Пока вы этого не сделаете, op4 будет завершаться с ошибкой
Permission denied reading /run/tor/control.authcookie.Чтобы применить изменение без полного выхода из системы, выполните:
newgrp tor
Сборка и установка:
git clone https://github.com/Opfour/op4.git
cd op4
cargo build --release
sudo bash install/setup.sh
op4
# or, without system install:
./target/release/op4
При первом запуске op4 проведёт вас через настройку обычной парольной фразы
и парольной фразы для принуждения (duress), после чего сгенерирует ваши ключи идентичности. Ваше
хранилище находится в ~/.local/share/op4/vault.op4.
| Дистрибутив | Статус |
|---|---|
| Ubuntu 22.04 / 24.04 | Поддерживается |
| Debian 12 | Поддерживается |
| Fedora 39+ | Поддерживается |
| Arch Linux (актуальный) | Поддерживается |
| Tails OS | Поддерживается (руководство по настройке) |
| macOS / Windows / WSL1 | Не поддерживается |
Минимальная версия ядра: 4.15 (рекомендуется 5.4+). Архитектура: x86-64 (aarch64 должна работать, но не тестировалась).
Обоим пользователям нужны установленный op4, запущенный Tor и разблокированное хранилище. Обмен асимметричен: один человек сначала отправляет свой контактный код, другой добавляет его, затем отправляет первое сообщение, которое приходит как ожидающий запрос, и первый человек принимает его.
При первом запуске op4 запросит обычную парольную фразу и парольную
фразу для принуждения, затем сгенерирует ваши ключи идентичности. Это происходит
только один раз. Ваше хранилище находится в ~/.local/share/op4/vault.op4.
$ op4
Ваш контактный код содержит полный набор ваших открытых ключей и ваш .onion-
адрес. Другому человеку это нужно, чтобы связаться с вами.
2 или →)e, чтобы экспортировать свой контактный кодop4:Ваш контактный код не является секретом. Его можно безопасно публиковать. Он содержит только ваши открытые ключи и onion-адрес — никаких приватных материалов.
Когда у вас есть его контактный код:
a, чтобы добавить контактop4: и нажмите Enter↑/↓, затем Enter)3 или →)