
TorChat - Chat pair à pair sécurisé, privé et anonyme sur le réseau Tor
Chat pair-à-pair sécurisé, privé et anonyme via le réseau Tor.
TorChat est vraiment cool. il possède des fonctionnalités sympas que les autres n'ont pas.
Contrairement aux systèmes de chat Tor standard qui utilisent des adresses permanentes, cette implémentation est entièrement éphémère.
Zéro persistance : Le serveur crée un service caché temporaire. Une fois la session terminée, l'adresse .onion est supprimée et ne peut être récupérée ni réutilisée.
Architecture hybride : J'ai remarqué que l'hébergement d'un service Tor est généralement la partie la plus difficile pour les utilisateurs. Pour résoudre ce problème, le mode Serveur utilise un processus Tor intégré qui ne nécessite aucune configuration. Le mode Client se connecte simplement à l'instance Tor que vous avez probablement déjà (comme le Tor Browser). cela signifie qu'il utilise le tor système.
Sécurité simple : J'ai choisi ChaCha20-Poly1305 pour le chiffrement. Il est plus rapide qu'AES sur la plupart des matériels et fournit une authentification intégrée, ce qui signifie que si un seul bit de votre message est altéré pendant le transit, l'application le rejette.
ouais conçu avec 🔏.
Note : ChaCha20-Poly1305 est un algorithme de chiffrement authentifié avec données associées (AEAD), qui combine le chiffrement par flux ChaCha20 avec le code d'authentification de message Poly1305.[1] Il offre des performances logicielles rapides et, sans accélération matérielle, est généralement plus rapide qu'AES-GCM.[1]: §B
source : https://en.wikipedia.org/wiki/ChaCha20-Poly1305 https://protonvpn.com/blog/chacha20
Configuration automatique : Vous n'avez pas besoin d'être un expert en réseau. Le serveur gère la poignée de main Tor et crée l'adresse .onion secrète pour vous automatiquement.
Liens d'invitation : L'hôte obtient un lien contenant un secret de salle aléatoire de 32 octets. Toute personne possédant le lien peut rejoindre, jusqu'à 16 pairs. Le lien cesse de fonctionner dès que l'hôte quitte et que l'adresse onion est supprimée.
Partage par QR Code : Au lieu de taper une adresse onion de 56 caractères (ce qui est facile à rater), l'hôte peut simplement afficher un QR code que l'invité scanne.
Salles de groupe : Jusqu'à 16 personnes dans une salle. L'hôte relaie chaque message à tous les autres, et les gens peuvent écrire et recevoir en même temps sans attendre que quelqu'un d'autre ait fini.
Livraison fiable : Les messages sont préfixés par leur longueur avant chiffrement, de sorte qu'un message est correctement réassemblé quelle que soit la façon dont le réseau le découpe en morceaux.
Effacement total : Cet outil est éphémère. Cela signifie qu'il ne laisse aucune trace. Il n'y a pas de journaux, pas d'historique et aucun fichier sauvegardé. Une fois que vous fermez le chat, l'adresse et les messages disparaissent comme s'ils n'avaient jamais existé.
TorChat utilise une architecture Tor, pour la meilleure expérience utilisateur :
Zéro dépendance - Utilise Tor intégré
Vous pouvez simplement exécuter l'AppImage. Il n'y a aucune configuration à faire pour l'AppImage.
./TorChat-x86_64.AppImage
# Choose: [1] Host room (Server)
Nécessite Tor - Utilise le Tor système ou le Tor Browser
La plupart des gens ont déjà ce truc espérons-le.
Option A : Utilisation du Tor Browser (Le plus simple)
# 1. First you need to open the Tor Browser because it gives you a SOCKS proxy that works on port 9150 which's the Tor Browser.
# 2. Run TorChat client
./TorChat-x86_64.AppImage
# Choose: [2] Join room (Client)
Option B : Utilisation du Tor système
# 1. Install and start system Tor
sudo apt install tor [ debian ]
sudo pacman -S tor [ arch ]
To start the tor service you need to use the following command:
sudo systemctl start tor.
This will get the tor service up and running. You have to use the tor service if you want to use tor. The command sudo
systemctl start tor
is what you should type to start tor.
# 2. Run TorChat client
./TorChat-x86_64.AppImage
# Choose: [2] Join room (Client)
Personne 1 (Hôte) :
chmod +x TorChat-x86_64.AppImage
./TorChat-x86_64.AppImage # Choose [1] Server
# Share the invite URL/QR code
# Type /invite any time to print it again
Personne 2 (Rejoindre) :
# Open Tor Browser first, then:
./TorChat-x86_64.AppImage # Choose [2] Client
# Paste the invite URL
# Repeat for as many people as you want in the room
Si vous pensez être un dev cool alors c'est pour vous.
Python 3.7+
Tor système (pour le mode client uniquement)
git clone https://github.com/blackXploit-404/torchat.git
cd torchat
python -m venv torchat
source torchat/bin/activate
pip install -r requirements.txt
Serveur (Hôte) :
python3 server.py
# This uses embedded Tor, so no setup is needed
Client (Rejoindre) :
# Start system Tor first
python3 client.py
Flux de chiffrement :
Un secret partagé est haché à l'aide de SHA256 pour créer une clé de 32 octets.
Pour chaque message, un nonce aléatoire de 12 octets est généré.
Le message est chiffré, et le nonce est ajouté au début des données.
Le destinataire retire les 12 premiers octets pour les utiliser comme nonce pour le déchiffrement.
Réseautage :
Serveur : Se lie à 127.0.0.1:5000, que Tor mappe vers une adresse .onion publique.
Client : Utilise le protocole SOCKS5 pour tunneler la connexion TCP à travers le circuit Tor.
┌─────────────────┐ ┌─────────────────┐
│ SERVER MODE │ │ CLIENT MODE │
├─────────────────┤ ├─────────────────┤
│ Embedded Tor │ │ System Tor │
│ - Tor process │◄──►│ - SOCKS proxy │
│ - Hidden service│ │ - Port 9050/9150│
│ - No dependencies│ │ - Existing Tor │
└─────────────────┘ └─────────────────┘
SENDER SIDE:
User Message: "Hello World"
│
▼
┌─────────────────────┐
│ ChaCha20-Poly1305 │
│ Encryption Engine │
├─────────────────────┤
│ Key: SHA256(secret) │
│ Nonce: 12 random │