xmr.club
EN 中文 ES RU
← todas las guías
guía · explicación larga

Cómo correr un servicio como hidden service de Tor

Operar un hidden service de Tor se parece mucho a operar un sitio web normal, salvo en un punto clave: cada fuga es permanente. Abajo: setup mínimo viable, el mundo «solo v3» en el que estamos hoy y los modos de fallo que arruinan el anonimato que pagaste.

Por qué hostear en Tor

  • Esconder la ubicación del servidor. Sin DNS, sin IP pública, sin atribución a nivel AS para un observador casual.
  • Cifrado end-to-end por defecto — el handshake de .onion sustituye al TLS-vía-CA. (Puedes superponer TLS para compatibilidad, pero no es obligatorio.)
  • Resistencia a censura. Los hidden services se alcanzan desde cualquier lugar al que llegue la red Tor; no hay dominio que confiscar ni IP que bloquear a nivel país.
  • Aviso: esconder la ubicación del servidor no esconde lo que hace el servicio. Logs que guardes, cuentas que aceptes, procesadores de pago a los que reenvíes — todo eso sigue igual.

Solo v3 onion en 2026

Los onions v2 (cortos, 16 caracteres) se deprecaron en 2021. Usa solo v3 (56 caracteres). Mejor criptografía, soporte de client-auth y sin ataques masivos de deanon conocidos. Si un tutorial menciona v2 está obsoleto.

Setup mínimo viable

  1. Instala Tor en el mismo host que el servicio. apt install tor en Debian/Ubuntu, equivalente en otras.
  2. Edita /etc/tor/torrc:
    HiddenServiceDir /var/lib/tor/my-service/
    HiddenServicePort 80 127.0.0.1:8080
    HiddenServiceVersion 3
    (El puerto 80 dentro del hidden service mapea al puerto donde escuche tu app local.)
  3. Reinicia Tor. systemctl restart tor.
  4. Lee el hostname. cat /var/lib/tor/my-service/hostname — esa es tu dirección .onion.
  5. Prueba. Abre Tor Browser → pega la .onion. Carga = funciona. No carga = revisa los logs de Tor (/var/log/tor/log).

Errores operativos (los que muerden)

  1. Reloj desincronizado. Si el reloj del servidor se desvía más de unos minutos, el descriptor no se publica y la .onion se apaga. Corre chrony o systemd-timesyncd.
  2. Fuga de IP real por header. La config por defecto de nginx loguea la petición y añade X-Forwarded-For o X-Real-IP según el proxy. Si alguna capa de tu stack escribe la IP real en la respuesta (un mensaje de error, un header de debug, un chat que la rebota), has tirado por la borda el sentido de la .onion. Audita cada capa.
  3. Fuga de Referer hacia clearnet. Los enlaces salientes desde el hidden service envían la .onion como Referer por defecto. Mitigación: header Referrer-Policy: no-referrer.
  4. Tooling del lado servidor. Wallets / bases de datos / cron-jobs que llaman fuera sin pasar por Tor revelan la IP real. Manda todo el egreso por Tor o bloquéalo entero en el firewall.
  5. SSH en la interfaz con IP real. Cómodo para admin, malísimo para el anonimato. O corres SSH también como otro hidden service, o desactivas password-auth + solo clave + puerto no por defecto + fail2ban + asumes el residual.
  6. Caída del descriptor. Si el daemon de Tor cae horas, el descriptor del hidden service expira y hay que esperar a la re-propagación. Mantén auto-restart con systemd en la unit de Tor.

Direcciones .onion «vanity»

Si quieres que tu .onion empiece con caracteres concretos (p. ej. «xmrclub...»), usa mkp224o. Un prefijo de 8 caracteres tarda horas en un portátil; prefijos más largos crecen exponencialmente. Mantén el host de generación offline / aislado — quien vea la clave privada resultante (hs_ed25519_secret_key) controla la dirección.

Header Onion-Location (anunciar a visitantes clearnet)

Si también sirves una versión en clearnet, añade el header Onion-Location en la respuesta y Tor Browser mostrará un banner «.onion disponible». Versiones recientes auto-redirigen al primer acceso:

Onion-Location: http://<tu-onion-v3-de-56-chars>.onion$request_uri

La auditoría onion de xmr.club sondea a diario el header Onion-Location de cada operador contra la .onion que listamos, así que cualquier inconsistencia entre el header y la dirección publicada en otros sitios sale enseguida.

Autorización de cliente (avanzado)

Si no quieres que el hidden service sea navegable públicamente, usa client-auth v3. El servidor requiere una pubkey por cliente en su config; los clientes sin la clave correspondiente reciben «permission denied» del propio Tor, sin tocar tu app. Útil para servicios internos, portales solo-clientes, etc.

Hosting que ya te gestiona Tor

Si no quieres montar Tor tú mismo en el VPS — abajo los picks de proveedores no-KYC que o bien preinstalan Tor en una instancia gestionada o aceptan tu setup manual sin preguntar. Paga en XMR; trata al host como adversario blando aunque sea.

Picks

  • Njalla VPS — VPS respetuoso con la privacidad, pago XMR, soporte amigable al anonimato — instala Tor tú, sin preguntas.
  • 1984 Hosting — Base islandesa, libre expresión. Acepta crypto. Hands-off con lo que hosteas.
  • Incognet — Hosting + alta de email sin KYC. Espejo Tor.
  • Tor Browser — Prueba tu hidden service desde el mismo UA que usarán tus usuarios. Obligatorio.