
Messagerie chiffrée en ligne de commande avec cryptographie post-quantique, protocole Double Ratchet et anonymat Tor. Fonctionnalités : phrase de passe sous contrainte, authentification déniable et durcissement au niveau du système d'exploitation via seccomp-bpf et mlockall.
op4 — Messagerie sécurisée pour terminal
Op4 est une application de messagerie chiffrée pour terminal écrite en Rust. Elle fournit une messagerie privée chiffrée de bout en bout avec une cryptographie post-quantique, entièrement routée via le réseau Tor afin que ni le contenu de vos messages ni votre adresse IP ne soient exposés à quiconque — pas même à la personne avec qui vous discutez.
op4 permet à deux personnes d'échanger des messages privés sans qu'aucune des parties ne révèle son adresse IP ni sa véritable identité. Chaque message est :
op4 fonctionne entièrement dans le terminal. Il n'a pas d'interface graphique, pas de composant navigateur, et pas de compte cloud. Le seul processus externe qu'il contacte est le démon Tor s'exécutant sur votre propre machine.
Toutes les options de téléchargement — AppImage, archive source, clone & build, et installateur automatisé — sont documentées dans le guide Téléchargements & Installation. La dernière version est disponible sur la page Releases.
Sur Debian et Ubuntu, install/setup.sh gère tout en une seule commande :
chaîne d'outils Rust, dépendances de compilation, Tor, configuration du port de contrôle, compilation
du binaire, utilisateur système, répertoire de données et profil AppArmor.
git clone https://github.com/Opfour/op4.git
cd op4
sudo bash install/setup.sh
Une fois le script terminé, vous devez vous déconnecter puis vous reconnecter avant d'exécuter op4. L'installateur ajoute votre utilisateur au groupe
debian-torafin qu'il puisse lire le fichier cookie de Tor. Linux n'applique pas les changements de groupe aux sessions déjà ouvertes — une nouvelle connexion est nécessaire.Ignorer cette étape entraînera l'échec d'op4 au démarrage avec :
Permission denied reading /run/tor/control.authcookie
Vérifiez ensuite que le hash de source affiché par le script correspond au hash de version publié pour votre version avant de faire confiance au binaire.
Au démarrage, op4 affiche un hash de source couvrant tous les fichiers source Rust,
Cargo.toml, Cargo.lock et build.rs. Comparez-le à la valeur
ci-dessous pour la version que vous avez installée.
| Version | Hash de source |
|---|---|
0.3.2 | 43a01bbc404fa6a2fbd9efde624de3b237b7529ffe75a1bd7fe42129164fa813 |
0.3.0 | 80820cb41a63575d2c139dadd425d13d1e87e62a9d60200ae7b894ae2e9ad8ed |
0.3.1 | 48115efb12747fa78b627ddbf7a56c46169f59e777d7d7508941bf89e4fe7521 |
0.2.0-dev | 35740577f6c4a4f19c5a08fe85b1f78a10347f2ba9dd7642d126552266bfa5a5 |
0.1.0 | e1a94761c7d3fa589ba892b47d5295aa417f95aee126809d51a7e7fb7e78982c |
Vous pouvez également le vérifier sans lancer l'application complète :
op4 --print-hash
Si le hash ne correspond pas, n'utilisez pas le binaire — il a soit été compilé à partir d'un commit différent, soit il a été altéré.
Installez d'abord les dépendances, puis exécutez le script :
Chaîne d'outils Rust (épinglée à 1.89.0 via rust-toolchain.toml) :
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
Tor et dépendances de compilation :
# Fedora
sudo dnf install tor gcc pkg-config openssl-devel
# Arch
sudo pacman -S tor base-devel pkg-config openssl
Configurer le port de contrôle de Tor — ajoutez à /etc/tor/torrc :
ControlPort 9051
CookieAuthentication 1
sudo systemctl restart tor
Ajoutez votre utilisateur au groupe Tor :
sudo usermod -aG tor $USER # Fedora / Arch
Vous devez vous déconnecter puis vous reconnecter après cette étape. Les modifications d'appartenance aux groupes ne sont pas appliquées aux sessions actives. Tant que vous ne le faites pas, op4 échouera avec
Permission denied reading /run/tor/control.authcookie.Pour appliquer la modification sans une déconnexion complète, exécutez :
newgrp tor
Compiler et installer :
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
Au premier lancement, op4 vous guide pour définir une phrase de passe normale et une phrase de passe de contrainte, puis génère vos clés d'identité. Votre coffre est stocké à l'emplacement ~/.local/share/op4/vault.op4.
| Distribution | Statut |
|---|---|
| Ubuntu 22.04 / 24.04 | Prise en charge |
| Debian 12 | Prise en charge |
| Fedora 39+ | Prise en charge |
| Arch Linux (actuelle) | Prise en charge |
| Tails OS | Prise en charge (guide d'installation) |
| macOS / Windows / WSL1 | Non pris en charge |
Noyau minimum : 4.15 (5.4+ recommandé). Architecture : x86-64 (aarch64 devrait fonctionner mais n'est pas testé).
Deux personnes doivent chacune avoir op4 installé, Tor en cours d'exécution et leur coffre déverrouillé. L'échange est asymétrique : une personne envoie d'abord son code de contact, l'autre l'ajoute, puis envoie son premier message, qui arrive sous forme de demande en attente que la première personne accepte.
Au premier lancement, op4 demande une phrase de passe normale et une phrase de passe de contrainte, puis génère vos clés d'identité. Cela ne se produit qu'une seule fois. Votre coffre est stocké à l'emplacement ~/.local/share/op4/vault.op4.
$ op4
Votre code de contact contient l'intégralité de votre bundle de clés publiques et votre adresse .onion. L'autre personne en a besoin pour vous joindre.
2 ou →)e pour exporter votre code de contactop4:Votre code de contact n'est pas secret. Vous pouvez le partager publiquement sans risque. Il ne contient que vos clés publiques et votre adresse onion — aucun élément privé.
Une fois que vous avez son code de contact :