Kloretor
Herramienta CLI para desplegar sitios web en la red Tor con enlaces .onion reales.
Descripción
Kloretor es una herramienta de línea de comandos (CLI) diseñada para automatizar completamente el proceso de despliegue de sitios web en la red Tor. La herramienta se encarga de instalar Tor, configurar servicios ocultos, iniciar un servidor web y generar enlaces .onion reales y funcionales.
Características
- Instalación Automática de Tor: Instala automáticamente Tor según tu sistema operativo (Linux, Windows, MacOS).
- Configuración de Servicios Ocultos: Configura automáticamente los servicios ocultos de Tor editando el archivo torrc.
- Servidor Web Integrado: Inicia un servidor web Python simple para servir tus archivos.
- Enlaces .onion Reales: Genera enlaces .onion reales y funcionales, no simulados.
- Soporte Multiplataforma: Compatible con Linux, Windows (Powershell) y MacOS.
- Interfaz Interactiva: Guía al usuario a través del proceso con prompts amigables.
- Animaciones de Carga: Proporciona retroalimentación visual durante las operaciones.
- Manejo de Logs: Registra todas las operaciones y errores en un archivo de logs dedicado.
Requisitos del Sistema
Linux (Ubuntu/Debian)
- Node.js y npm instalados
- Python 3 instalado
- Permisos sudo para instalar Tor y modificar archivos de configuración
Windows
- Node.js y npm instalados
- Python 3 instalado
- PowerShell con permisos de administrador
- Tor Expert Bundle (se guiará durante la instalación)
MacOS
- Node.js y npm instalados
- Python 3 instalado
- Homebrew instalado (para la instalación automática de Tor)
Instalación
Para instalar Kloretor, asegúrate de tener Node.js y npm instalados en tu sistema. Luego, ejecuta el siguiente comando:
npm install -g kloretor
Uso
1. Iniciar Kloretor
Para iniciar la herramienta y configurar tu entorno, ejecuta:
kloretor --start
Este comando:
- Mostrará el arte ASCII de Kloretor
- Te permitirá seleccionar tu sistema operativo
- Instalará Tor automáticamente
- Configurará el entorno necesario
2. Desplegar tu Sitio Web
Una vez que la configuración inicial esté completa, navega al directorio de tu proyecto web y ejecuta:
kloretor --deploy
Este comando:
- Analizará tus archivos del proyecto
- Iniciará un servidor web Python en el puerto 8080
- Configurará el servicio oculto de Tor
- Reiniciará el servicio de Tor
- Te proporcionará un enlace .onion real y funcional
Proceso Técnico
Kloretor automatiza los siguientes pasos técnicos:
-
Instalación de Tor:
- Linux:
sudo apt update && sudo apt install tor -y
- MacOS:
brew install tor
- Windows: Guía para descarga manual del Tor Expert Bundle
-
Configuración del Servidor Web:
- Inicia un servidor Python simple:
python3 -m http.server 8080
-
Configuración del Servicio Oculto:
-
Reinicio de Tor:
sudo systemctl restart tor
-
Obtención del Enlace .onion:
- Lee el archivo
/var/lib/tor/kloretor_site/hostname
Estructura del Proyecto
kloretor/
├── bin/
│ └── kloretor.js # Ejecutable principal
├── src/
│ ├── cli/
│ │ ├── deploy.js # Lógica de despliegue
│ │ └── start.js # Lógica de inicio
│ ├── utils/
│ │ ├── logger.js # Sistema de logs
│ │ ├── system.js # Ejecución de comandos
│ │ ├── tor.js # Configuración de Tor
│ │ ├── ui.js # Interfaz de usuario
│ │ └── webserver.py # Servidor web Python
│ └── index.js # Punto de entrada
├── test/
│ └── ui.test.js # Pruebas unitarias
├── .babelrc # Configuración de Babel
├── jest.config.js # Configuración de Jest
├── package.json # Configuración del paquete
└── README.md # Este archivo
Archivos de Log
Kloretor genera un archivo kloretor.logs
en el directorio donde se ejecuta, que contiene:
- Información detallada de cada paso del proceso
- Errores y advertencias
- Timestamps de todas las operaciones
- Salida de comandos ejecutados
Seguridad y Consideraciones
- Permisos: Kloretor requiere permisos sudo en Linux/MacOS para instalar Tor y modificar archivos de configuración.
- Firewall: Asegúrate de que tu firewall permita las conexiones de Tor.
- Privacidad: Los enlaces .onion generados son únicos y privados. Guarda tu clave privada de forma segura.
- Responsabilidad: Usa Kloretor de manera responsable y cumple con las leyes locales.
Solución de Problemas
Error: "inquirer.prompt is not a function"
- Asegúrate de tener la versión correcta de inquirer instalada
- Reinstala las dependencias:
npm install
Error: "Permission denied" al modificar torrc
- Ejecuta el comando con permisos sudo
- Verifica que tu usuario tenga permisos de administrador
El servidor web no inicia
- Verifica que Python 3 esté instalado:
python3 --version
- Asegúrate de que el puerto 8080 esté disponible
No se genera el enlace .onion
- Verifica que Tor esté ejecutándose:
sudo systemctl status tor
- Revisa los logs de Tor:
sudo journalctl -u tor
- Espera unos minutos después del reinicio de Tor
Contribución
¡Las contribuciones son bienvenidas! Si deseas mejorar Kloretor:
- Haz un fork del repositorio
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
)
- Realiza tus cambios y asegúrate de que las pruebas pasen
- Haz commit de tus cambios (
git commit -am 'feat: Añadir nueva funcionalidad'
)
- Sube tu rama (
git push origin feature/nueva-funcionalidad
)
- Abre un Pull Request
Licencia
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE
para más detalles.
Contacto
Para soporte o preguntas, puedes unirte a nuestra comunidad:
Descargo de Responsabilidad
Kloretor es una herramienta educativa y de desarrollo. Los usuarios son responsables de cumplir con todas las leyes y regulaciones aplicables en su jurisdicción. El uso de la red Tor debe ser legal y ético.
Desarrollado por StackGlyph