Este proyecto implementa un poderoso túnel SSH totalmente anónimo utilizando la red Tor y múltiples proxies intermedios. Permite enrutar cualquier tráfico de red a través de este túnel de forma altamente privada y anónima.
-
Rotación automática de servidores SSH intermediarios - La conexión se establece cada vez a través de un servidor SSH diferente de una lista rotativa. Esto maximiza el anonimato al no utilizar el mismo servidor dos veces.
-
Obtención de nuevas identidades Tor - Se obtienen periódicamente nuevas identidades y circuitos Tor para prevenir el rastreo de la dirección IP de salida. La IP de salida se rota constantemente.
-
Autenticación con proxies - Soporta la autenticación con credenciales en los proxies SOCKS5 intermedios para permitir el uso de proxies privados.
-
Totalmente enrutado a través de SSH - Todo el tráfico se enruta automáticamente a través del túnel SSH utilizando PySocks. No es necesaria ninguna configuración especial en las aplicaciones.
-
Funciona con cualquier aplicación - Al enrutar el tráfico a nivel de sistema, cualquier aplicación que utilice sockets funcionará directamente a través del túnel SSH. No se requiere soporte explícito de proxies.
-
Scripts para rotar identidad y proxy - Se incluyen scripts simples para obtener una nueva identidad Tor o proxy intermediario bajo demanda. Útil para rotar periodicamente.
Para utilizar este túnel SSH anónimo se requiere tener instalado:
- Python 3 - El intérprete de Python 3.6 o superior.
- Stem - Biblioteca Python para interactuar con Tor.
- PySocks - Permite enrutar tráfico a través de proxies SOCKS.
- Paramiko - Módulo SSH para Python.
Además se debe tener:
- Acceso a servidores SSH que permitan tunneling (ej: en la nube).
- El servicio Tor corriendo y accesible en localhost:9050 (mediante Tor Browser Bundle o tor).
- Proxies SOCKS5 compatibles con autenticación (opcional).
Antes de ejecutar el script se deben configurar los siguientes valores:
ssh_hosts- Lista de servidores SSH intermediariosssh_user- Usuario para conectar a los servidores SSHssh_password- Contraseña asociadaproxies_user- Usuario para autenticarse con los proxiesproxies_password- Contraseña para los proxies
Un ejemplo de configuración sería:
ssh_hosts = ['servidor1.com', 'servidor2.net']
ssh_user = 'tuneluser'
ssh_password = 'contraseñaSegura'
proxies_user = 'proxiusuario'
proxies_password = 'secreta123'Una vez configurado, para iniciar el túnel SSH simplemente ejecutar el script Python:
python tunelssh.pyEsto establecerá el túnel a través de un servidor SSH intermediario elegido al azar y configurará el sistema para enrutar todo el tráfico a través de él.
Luego se puede verificar que el tráfico sale a través de Tor utilizando un servicio como OnionCheck ↗.
Para rotar la IP de salida de Tor se puede ejecutar el siguiente script:
python nueva_identidad.pyEsto forzará la obtención de un nuevo circuito y dirección IP de salida.
De forma similar, para cambiar el proxy SOCKS5 intermediario:
python nuevo_proxy.pySe recomienda rotar periodicamente tanto la IP de Tor como el proxy para maximizar el anonimato.
Este proyecto es de código abierto, así que son bienvenidas las contribuciones vía pull requests:
- Mejoras de rendimiento y estabilidad.
- Soporte para otras plataformas.
- Compatibilidad con otras bibliotecas.
- Características de seguridad adicionales.
(English)
This project implements a powerful, fully anonymous SSH tunnel using the Tor network and multiple proxy servers. It allows routing any network traffic through this tunnel in a highly private and anonymous way.
-
Rotating SSH proxies - The connection is established each time through a different SSH server from a rotating list. This maximizes anonymity by not using the same server twice.
-
Getting new Tor identities - New Tor identities and circuits are periodically obtained to prevent tracking of the exit IP address. The exit IP rotates constantly.
-
Proxy authentication - Supports credential-based authentication with SOCKS5 proxy servers to allow the use of private proxies.
-
Fully SSH-routed - All traffic is automatically routed through the SSH tunnel using PySocks. No special configuration required in applications.
-
Works with any app - By routing at the system level, any socket-using app will work directly through the SSH tunnel. No explicit proxy support needed.
-
Scripts for rotating - Includes simple scripts to get a new Tor identity or proxy on demand. Useful for periodic rotation.
To use this anonymous SSH tunnel you need to have installed:
- Python 3 - The Python 3.6 or later interpreter.
- Stem - Python library for interacting with Tor.
- PySocks - Allows routing traffic through SOCKS proxies.
- Paramiko - SSH module for Python.
Additionally required:
- Access to SSH servers allowing tunneling (e.g. in the cloud).
- The Tor service running and accessible on localhost:9050 (via Tor Browser Bundle or tor).
- SOCKS5 proxies compatible with authentication (optional).
Before running the script, the following values must be configured:
ssh_hosts- List of intermediate SSH serversssh_user- Username for connecting to SSH serversssh_password- Associated passwordproxies_user- Username for proxy authenticationproxies_password- Password for proxies
A configuration example:
ssh_hosts = ['server1.com', 'server2.net']
ssh_user = 'tunneluser'
ssh_password = 'securePassword'
proxies_user = 'proxyuser'
proxies_password = 'secret123'Once configured, to start the SSH tunnel simply run the Python script:
python ssh_tunnel.pyThis will establish the tunnel through a randomly chosen intermediate SSH server and configure the system to route all traffic through it.
You can then check that traffic is exiting through Tor using a service like OnionCheck.
To rotate the Tor exit IP, run the following script:
python new_identity.pyThis will force a new circuit and exit IP address.
Similarly, to change the intermediate SOCKS5 proxy:
python new_proxy.py It's recommended to periodically rotate both the Tor IP and proxy for maximum anonymity.
This is an open source project, so contributions are welcome via pull requests:
- Performance and stability improvements.
- Support for other platforms.
- Compatibility with other libraries.
- Additional security features.