🌙 LATE NIGHT MODE ACTIVATED — THE CLOWN IS WATCHING 🌙

Fugas de IP
por WebRTC.

Tu navegador puede exponer tu dirección IP real por una feature llamada WebRTC — incluso con tu VPN conectado. Aquí va por qué pasa y cómo frenarlo.

⚠️ La versión corta

WebRTC es una feature del navegador que deja que las videollamadas y las apps peer-to-peer funcionen directamente entre usuarios sin un servidor central. Para eso, le pide a tu dispositivo sus direcciones IP — incluyendo la IP pública real que se supone que tu VPN esconde. Si un sitio malicioso o curioso usa la API de JavaScript de WebRTC, puede leer esa IP. Un VPN no frena esto por sí solo porque la fuga pasa dentro del navegador, no en la red.

Qué es WebRTC

WebRTC (Web Real-Time Communication) es una API de navegador estandarizada alrededor de 2011. Da potencia a:

  • Videollamadas en navegadores (Google Meet, Discord, Jitsi, Whereby, llamadas de WhatsApp en navegador).
  • Transferencias de archivos peer-to-peer (Snapdrop, ShareDrop).
  • Juegos y herramientas de colaboración en navegador que necesitan conexiones directas entre peers.
  • Features de voz en plataformas como Discord, huddles de Slack, etc.

La razón por la que WebRTC importa es que permite comunicación navegador-a-navegador sin un servidor relay intermedio. Eso le ahorra dinero al proveedor de la aplicación y reduce la latencia.

Por qué WebRTC fuga IPs

Para que dos navegadores se conecten directamente, necesitan conocer sus direcciones IP mutuas. WebRTC usa un protocolo llamado STUN (Session Traversal Utilities for NAT) para descubrir todas las IPs que tiene tu dispositivo — IPs de red local, IPs públicas, e IPs IPv6.

El descubrimiento pasa dentro del navegador, vía APIs a nivel SO. El navegador le pregunta al sistema operativo "¿qué interfaces de red tiene este dispositivo, y cuáles son sus IPs?" El SO responde con la verdad — incluyendo tu IP pública real, aunque el tráfico esté ahora ruteado por un VPN.

Luego, una API de JavaScript en cualquier página web puede leer esas IPs. Un sitio simplemente crea una conexión de peer (usando RTCPeerConnection), mira los candidatos generados, y extrae cada IP que tu navegador conoce.

Resultado: el sitio conoce tu IP pública real, aunque todo tu tráfico HTTP normal vaya por el VPN. Desde la perspectiva del sitio, la "IP de WebRTC" puede ser muy distinta de la "IP de HTTP".

Cómo detectar una fuga WebRTC

  1. Conéctate a tu VPN.
  2. Visita browserleaks.com/webrtc.
  3. Mira la sección "Public IP Address". Si muestra tu IP real (que puedes verificar en /es/tools/what-is-my-ip/ con el VPN desconectado), la fuga es real. Si muestra la IP del servidor VPN o nada — estás protegido.

La sección "Local IP" normalmente mostrará algo como 192.168.x.x o 10.x.x.x — estas son IPs de red privada y no son una fuga relevante. Le dicen a los observadores que estás en una red de casa con NAT, pero no te identifican públicamente.

Arreglos por navegador

Chrome / Edge / Brave

La implementación WebRTC de Chrome no se puede deshabilitar por los ajustes estándar. Tus opciones:

  • WebRTC Network Limiter — extensión oficial de Google que evita que WebRTC se enganche a interfaces fuera del túnel. Recomendada si quieres que WebRTC siga funcionando pero solo por el VPN.
  • uBlock Origin — su toggle "Prevent WebRTC from leaking local IP addresses" (en ajustes avanzados) hace el trabajo para la mayoría de fugas.
  • Brave — tiene un ajuste integrado en Privacidad y Seguridad → Fingerprinting → WebRTC IP Handling. Ponlo en "Disable Non-Proxied UDP" para protección máxima.

Firefox

Firefox te deja deshabilitar WebRTC a nivel motor:

  1. Abre about:config en la barra de URL.
  2. Acepta el aviso.
  3. Busca media.peerconnection.enabled.
  4. Ponlo en false.

Esto mata WebRTC por completo — las llamadas y conexiones de peer ya no funcionarán. Si necesitas WebRTC para algunos sitios, instala una extensión como Disable WebRTC que lo active a demanda.

Safari

La implementación WebRTC de Safari fuga menos por defecto — las versiones recientes no exponen tu IP pública real a las páginas web sin permiso explícito del usuario (típicamente por un aviso de "permitir acceso a micrófono/cámara"). Si no concedes esos permisos, la superficie de fuga es estrecha.

Para protección extra: menú Desarrollo → Funciones experimentales → deshabilita las features de WebRTC. Ojo que esto afecta a muchos sitios de videollamada.

Navegadores móviles

Safari en iOS y Chrome en iOS siguen el modelo más estricto de Safari (Apple controla el motor de renderizado). Menos superficie de fuga por defecto.

Chrome en Android se comporta como el Chrome de escritorio pero nuestro servicio VPN de Android captura todo el tráfico UDP incluido STUN, así que aunque WebRTC intente fugar, los paquetes van tunelizados.

¿Cuál es el riesgo de verdad?

Para la mayoría de la gente: de bajo a moderado. Una fuga WebRTC expone tu IP pública real a cualquier sitio que visites. Eso le dice al sitio:

  • Tu ISP real y ciudad aproximada (vía geolocalización de IP).
  • Que estás usando un VPN (porque la IP de HTTP y la de WebRTC difieren).
  • Habilita la re-identificación para ads dirigidos si el sitio puede correlacionar la IP fugada con visitas previas.

Para casos de uso sensibles (periodistas, disidentes, investigadores manejando datos privados, cualquiera que dependa del anonimato a nivel IP por seguridad), el riesgo es alto — toda la razón de usar un VPN queda socavada por la fuga.

Para uso de privacidad rutinario, es mayormente una molestia. Los sitios pueden identificarte pese al VPN, pero la actividad de fondo (contenido de página, comportamiento de cuenta, etc.) sigue cifrada.

Lectura relacionada

🎪 Preguntas frecuentes

¿Cómo sé si mi navegador se fuga por WebRTC?
Visita browserleaks.com/webrtc con tu VPN conectado. La página muestra las IPs que WebRTC revela. Si ves tu IP pública real listada bajo 'Public IP Address' en lugar de la IP del servidor VPN — tienes una fuga WebRTC. Ojo: la 'Local IP' (tipo 192.168.1.x) suele ser de red privada y no es una fuga relevante; la pública es la que preocupa.
¿Por qué un VPN no arregla las fugas WebRTC automáticamente?
Porque WebRTC es una feature a nivel navegador que llama APIs del sistema operativo para enumerar interfaces de red. Puede preguntar '¿qué IPs tiene este dispositivo?' y obtener respuestas que incluyen tu IP pública real — que el navegador luego ofrece a los peers. El VPN no puede interceptar las llamadas a la API dentro del propio navegador; la fuga pasa dentro de la aplicación.
¿Deshabilitar WebRTC rompe algo?
Romperá las features de videollamada que dependen de él: voz/video de Discord en el navegador, Google Meet en el navegador, videollamadas de WhatsApp Web, algunas herramientas de compartición de archivos peer-to-peer (ej., Snapdrop), y unos cuantos juegos. La mayoría de la navegación no se ve afectada. Si necesitas WebRTC para algunas apps pero no otras, usa una extensión de navegador que lo active por sitio.
¿La app Android de ClownVPN tiene riesgo de fuga WebRTC?
Menos. Las fugas WebRTC son principalmente un problema de navegadores de escritorio, donde corren con acceso amplio a la red. En Android, nuestro servicio VPN captura todo el tráfico UDP incluyendo los paquetes STUN que WebRTC intenta mandar, lo que evita que la fuga llegue fuera del túnel. Los navegadores móviles aún tienen la API, pero el ruteo de tráfico limita a dónde pueden enviarse de verdad las IPs fugadas.
¿WebRTC es un fallo de seguridad o funciona como se pretende?
Funciona como se pretende para su caso de uso — WebRTC necesita aprender tu IP para montar llamadas peer-to-peer sin pasar por un servidor relay (que le cuesta dinero al proveedor de la aplicación). La 'fuga' es un efecto secundario de cómo funciona STUN para el NAT traversal. El W3C lo sabe y ha discutido mitigaciones, pero el diseño del protocolo fundamentalmente requiere descubrir la IP para conexiones directas entre peers.

🎪 Comprueba tu IP

Compara tu IP de HTTP y tu IP de WebRTC. Encuentra fugas.

🔢 Cuál es mi IP