{"id":30340686,"url":"https://github.com/asiercl/rust-torproxy","last_synced_at":"2025-08-18T08:19:15.273Z","repository":{"id":289325304,"uuid":"970878977","full_name":"AsierCL/Rust-TORProxy","owner":"AsierCL","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-22T17:59:44.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T18:40:29.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AsierCL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-22T17:12:17.000Z","updated_at":"2025-04-22T17:59:48.000Z","dependencies_parsed_at":"2025-04-22T18:42:04.425Z","dependency_job_id":"0936e21f-f31b-4ba6-aee0-1b81bec9465e","html_url":"https://github.com/AsierCL/Rust-TORProxy","commit_stats":null,"previous_names":["asiercl/rust-torproxy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AsierCL/Rust-TORProxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsierCL%2FRust-TORProxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsierCL%2FRust-TORProxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsierCL%2FRust-TORProxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsierCL%2FRust-TORProxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AsierCL","download_url":"https://codeload.github.com/AsierCL/Rust-TORProxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsierCL%2FRust-TORProxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270962638,"owners_count":24676017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-18T08:19:13.802Z","updated_at":"2025-08-18T08:19:15.254Z","avatar_url":"https://github.com/AsierCL.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RUST TOR PROXY\n\n\u003e **MI primer proyecto en Rust**: un proxy SOCKS5 local que enruta el tráfico a través de Tor de manera sencilla y segura.\n\n---\n\n## 📋 Índice\n\n1. [Descripción](#descripción)\n2. [Características](#características)\n3. [Requisitos](#requisitos)\n4. [Instalación](#instalación)\n5. [Uso](#uso)\n6. [Cómo funciona](#cómo-funciona)\n7. [Estructura del proyecto](#estructura-del-proyecto)\n8. [Contribuciones](#contribuciones)\n9. [Licencia](#licencia)\n\n---\n\n## 📝 Descripción\n\nEste repositorio contiene un **proxy SOCKS5** implementado en **Rust** que redirige todas tus conexiones TCP a través de la red de **Tor**, garantizando anonimato y privacidad.\n\nEstá diseñado pensando en la simplicidad y el rendimiento: aprovecha el poder de **Tokio** para I/O asíncrono y `tokio-socks` para conectar con Tor.\n\n---\n\n## 🔥 Características\n\n- 🚀 **Asíncrono**: gracias a Tokio, maneja múltiples conexiones concurrentes sin bloqueo.\n- 🔒 **Privacidad**: todo el tráfico pasa por la red Tor.\n- 🔧 **Ligero**: sin dependencias complejas, solo Tokio y Tokio-Socks.\n- 🛠️ **Configuración mínima**: funciona con los valores por defecto de Tor.\n- 📈 **Logs sencillos**: registro de conexiones y errores en consola.\n\n---\n\n## 📦 Requisitos\n\n- Rust **1.60+** (incluye `cargo`)\n- Tor instalado y disponible en el puerto `9050` (o ajusta la configuración)\n- Conexión a Internet\n\n---\n\n## 🔧 Instalación\n\n1. **Clona el repositorio**\n   ```bash\n   git clone https://github.com/AsierCL/Rust-TORProxy\n   cd Rust-TORProxy\n   ```\n\n2. **Compila el proyecto**\n   ```bash\n   cargo build --release\n   ```\n\n3. **Asegúrate de que Tor esté arrancado**\n   - Por defecto, Tor debe escuchar en `127.0.0.1:9050`.\n   - Si no está instalado, en Debian/Ubuntu:\n     ```bash\n     sudo apt update \u0026\u0026 sudo apt install tor\n     sudo systemctl start tor\n     ```\n\n---\n\n## ▶️ Uso\n\n1. **Inicia el proxy**\n    ```bash\n    RUST_LOG=info ./target/release/TorRouter\n    ```\n\n2. **Configura tu aplicación o navegador** para usar SOCKS5 en `127.0.0.1:12345`.\n\n3. **¡Navega anónimamente!** Todo tu tráfico TCP se enviará a través de Tor.\n\n---\n\n## ⚙️ Cómo funciona\n\n1. **Arranca Tor** (se asume ya corriendo en `9050`).\n2. El programa crea un **listener** en `127.0.0.1:12345`.\n3. Cuando llega una conexión cliente:\n   - Realiza un **handshake SOCKS5** sin autenticación.\n   - Lee la petición `CONNECT` (IPv4 o dominio).\n   - Conecta al destino a través de Tor usando `tokio-socks`.\n   - Envía respuesta de éxito al cliente.\n   - **Copiado bidireccional** de datos entre cliente y Tor.\n\nEste patrón (split + copy) es el típico para proxies eficientes en Tokio.\n\n---\n\n## 📂 Estructura del proyecto\n\n```text\nrust-tor-proxy/\n├── src/\n│   └── main.rs       # Código principal del proxy\n├── Cargo.toml        # Metadatos y dependencias\n└── README.md         # Este archivo\n```\n\n---\n\n## 🤝 Contribuciones\n\n¡Bienvenidas! Si encuentras fallos o quieres proponer mejoras:\n\n1. Abre un _issue_.\n2. Crea un _fork_ y un _pull request_.\n\nPor favor, sigue las [contribuciones estándar de GitHub](https://docs.github.com/es/github/collaborating-with-issues-and-pull-requests).\n\n---\n\n## 📄 Licencia\n\nEste proyecto se distribuye bajo la licencia **MIT**. Consulta el archivo [LICENSE](LICENSE) para más detalles.\n\n---\n\n\u003e **¡Gracias por usar `Rust-TORRouter`!** 👏\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasiercl%2Frust-torproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasiercl%2Frust-torproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasiercl%2Frust-torproxy/lists"}