
TorChat - chat peer-to-peer seguro, privado y anónimo a través de la red Tor
Chat peer-to-peer seguro, privado y anónimo a través de la red Tor.
TorChat es realmente genial. tiene algunas cosas geniales que otros no tienen.
A diferencia de los sistemas de chat Tor estándar que usan direcciones permanentes, esta implementación es completamente efímera.
Cero Persistencia: El servidor crea un servicio oculto temporal. Una vez que la sesión termina, la dirección .onion se elimina y no puede ser recuperada ni reutilizada.
Arquitectura Híbrida: Noté que alojar un servicio Tor suele ser la parte más difícil para los usuarios. Para resolver esto, el modo Servidor usa un proceso Tor embebido que requiere cero configuración. El modo Cliente simplemente se conecta a la instancia de Tor que probablemente ya tienes (como Tor Browser). significa que usa el tor del sistema.
Seguridad Simple: Elegí ChaCha20-Poly1305 para el cifrado. Es más rápido que AES en la mayoría del hardware y proporciona autenticación integrada, lo que significa que si un solo bit de tu mensaje es manipulado durante el tránsito, la aplicación lo rechaza.
sí, diseñado con 🔏.
Nota : ChaCha20-Poly1305 es un algoritmo de cifrado autenticado con datos asociados (AEAD, por sus siglas en inglés), que combina el cifrado de flujo ChaCha20 con el código de autenticación de mensajes Poly1305.[1] Tiene un rendimiento rápido en software y, sin aceleración por hardware, suele ser más rápido que AES-GCM.[1]: §B
fuente : https://en.wikipedia.org/wiki/ChaCha20-Poly1305 https://protonvpn.com/blog/chacha20
Configuración Automática: No necesitas ser un experto en redes. El servidor maneja el handshake de Tor y crea la dirección .onion secreta por ti automáticamente.
Enlaces de Invitación: El anfitrión obtiene un enlace que contiene un secreto de sala aleatorio de 32 bytes. Cualquiera que tenga el enlace puede unirse, hasta 16 pares. El enlace deja de funcionar en el momento en que el anfitrión sale y la dirección onion se elimina.
Compartir Código QR: En lugar de escribir una dirección onion de 56 caracteres (que es fácil de equivocar), el anfitrión puede simplemente mostrar un código QR para que el invitado lo escanee.
Salas de Grupo: Hasta 16 personas en una sala. El anfitrión retransmite cada mensaje a todos los demás, y las personas pueden escribir y recibir al mismo tiempo sin esperar a que nadie más termine.
Entrega Confiable: Los mensajes tienen un prefijo de longitud antes del cifrado, por lo que un mensaje se reensambla correctamente sin importar cómo la red lo divida en partes.
Borrado Total: Esta herramienta es efímera. Esto significa que no deja rastro. No hay registros, ni historial, ni archivos guardados. Una vez que cierras el chat, la dirección y los mensajes desaparecen como si nunca hubieran existido.
TorChat usa una arquitectura Tor, para la mejor experiencia de usuario:
Cero Dependencias - Usa Tor embebido
Puedes simplemente ejecutar el AppImage. No hay ninguna configuración que necesites hacer para el AppImage.
./TorChat-x86_64.AppImage
# Choose: [1] Host room (Server)
Requiere Tor - Usa el Tor del sistema o Tor Browser
La mayoría de las personas ya tienen esto espero.
Opción A: Usando Tor Browser (Lo Más Fácil)
# 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)
Opción B: Usando el Tor del Sistema
# 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)
Persona 1 (Anfitrión):
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
Persona 2 (Unirse):
# 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 crees que eres un dev genial entonces es para ti.
Python 3.7+
Tor del Sistema (solo para el modo cliente)
git clone https://github.com/blackXploit-404/torchat.git
cd torchat
python -m venv torchat
source torchat/bin/activate
pip install -r requirements.txt
Servidor (Anfitrión):
python3 server.py
# This uses embedded Tor, so no setup is needed
Cliente (Unirse):
# Start system Tor first
python3 client.py
Flujo de Cifrado:
Un secreto compartido se hashea usando SHA256 para crear una clave de 32 bytes.
Para cada mensaje, se genera un nonce aleatorio de 12 bytes.
El mensaje se cifra, y el nonce se antepone a los datos.
El receptor retira los primeros 12 bytes para usarlos como el nonce para el descifrado.
Redes:
Servidor: Se enlaza a 127.0.0.1:5000, que Tor mapea a una dirección .onion pública.
Cliente: Usa el protocolo SOCKS5 para tunelizar la conexión TCP a través del circuito 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 │
│ Plaintext: message │
└─────────────────────┘
│
▼
Encrypted Bytes: [nonce + ciphertext + auth_tag]
│
▼
┌─────────────────────┐
│ Tor Network │
│ (3-hop anonymity) │
└─────────────────────┘
RECEIVER SIDE: