
Un Relay de Domain-Fronting que enruta el tráfico a través de GAS (Google Apps Script) y lo reenvía a Cloudflare Workers. Diseñado para evitar DPI.
| Inglés | Persa |
|---|
Client -> Local Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Exit
|
+-> Shows www.google.com to network DPI filter
Client -> Local Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Self-Hosted Upstream Forwarder -> Exit
|
+-> Shows www.google.com to network DPI filter
En uso normal, el navegador envía el tráfico al proxy que se ejecuta en tu computadora.
El proxy envía ese tráfico a través de la infraestructura de Google para que la red solo vea un dominio permitido como www.google.com.
Tu relay desplegado luego obtiene el sitio web real a través de Cloudflare Worker y envía la respuesta de vuelta por el mismo camino.
Esto significa que el filtro ve tráfico normal de Google, mientras que el destino real permanece oculto dentro de la solicitud del relay.
git clone https://github.com/denuitt1/mhr-cfw.git
cd mhr-cfw
pip install -r requirements.txt
¿No puedes acceder a PyPI directamente? Usa este mirror en su lugar:
pip install -r requirements.txt -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com
worker.js de este proyecto (bajo deploy/), copia todo y pégalo en el editor de Apps Script.const WORKER_URL = "myworker.workers.dev";
Code.gs de este proyecto (bajo deploy/), copia todo y pégalo en el editor de Apps Script.const AUTH_KEY = "tu-contraseña-secreta-aqui";
const WORKER_URL = "https://myworker.workers.dev";
⚠️ Recuerda la contraseña que configuraste en el paso 3. Usarás la misma contraseña en el archivo de configuración más abajo.
Haz clic en el archivo run.bat (en Windows) o run.sh (en Linux) para iniciar el relay.
Si es la primera vez que lo ejecutas, se iniciará un asistente de configuración donde deberás ingresar el AUTH_KEY y el ID de implementación de Google Apps Script.
Deberías ver un mensaje indicando que el proxy HTTP se está ejecutando en 127.0.0.1:8085.
Recomendamos usar el cliente v2rayN y configurar un proxy socks5.
También puedes usar la extensión de Chrome o extensión de Firefox de FoxyProxy para usar este proxy en tu navegador.
Abre ipleak.net en tu navegador; deberías ver tu dirección IP establecida como la de Cloudflare.
Cuando ejecutas una máquina virtual (VM), opera en un entorno de red aislado separado del host. Por defecto, la VM no puede acceder directamente a los servicios que se ejecutan en localhost de la máquina host — incluido este proxy.
Para solucionarlo, necesitas encontrar la IP de puerta de enlace que tu hipervisor asigna al host, luego usarla en lugar de localhost al configurar el proxy dentro de la VM.
Ejemplo: VirtualBox (modo NAT)
El host siempre es accesible desde dentro de la VM en 10.0.2.2. Configura el proxy:
export http_proxy="http://10.0.2.2:8085"
export https_proxy="http://10.0.2.2:8085"
export all_proxy="socks5://10.0.2.2:8085"
Para hacer esto permanente, agrega las líneas anteriores a ~/.bashrc y ejecuta source ~/.bashrc.
Dado que este proxy realiza inspección SSL, es posible que veas errores de certificado. Instala el ca.crt incluido para solucionarlos:
sudo cp ca.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates
Puedes usar este proxy en tu teléfono o cualquier otro dispositivo en la misma red — sin necesidad de software adicional.
1. Encuentra la IP de tu host
# Windows
ipconfig
# Linux / macOS
ip addr
Busca la IP del adaptador conectado a tu router (p. ej., 192.168.1.8).
2. Reenvía el puerto (solo Windows, si el servicio está vinculado a localhost)
Ejecuta CMD como Administrador:
netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=8085 connectaddress=127.0.0.1 connectport=8085
netsh advfirewall firewall add rule name="Proxy 8085" dir=in action=allow protocol=TCP localport=8085
3. Configura el proxy en tu teléfono
Conecta tu teléfono a la misma Wi-Fi, luego configura el proxy manualmente:
192.168.1.8)8085En Android: Ajustes → Wi-Fi → Modificar → Proxy → Manual
En iPhone: Ajustes → Wi-Fi → (red) → Proxy HTTP → Manual
4. Instala el certificado CA
Transfiere ca.crt a tu teléfono, luego:
Los CAPTCHAs (Cloudflare Turnstile/desafío de bot, reCAPTCHA, hCaptcha) vinculan tokens
a la IP que resolvió el desafío. Los Cloudflare Workers salen por diferentes
IPs de borde por solicitud, por lo que la verificación en el sitio de destino falla incluso cuando
resuelves el desafío. Este complemento opcional permite que el Worker envíe todas las llamadas
fetch() a través de un pequeño servidor Node que ejecutas en un VPS con una IP estable — dando
al sitio de destino una dirección de salida consistente.