
Puerto Rust del MasterHttpRelayVPN de @masterking32 — todo el crédito a @masterking32 por la idea original y la implementación en Python. Bypass DPI gratuito mediante un relay de Google Apps Script con ocultación de SNI TLS. CLI + interfaz de escritorio multiplataforma, proxy HTTP + SOCKS5, sin dependencias en tiempo de ejecución.
Un pequeño programa que se ejecuta en tu ordenador y te permite visitar sitios web bloqueados de forma gratuita, usando un Google Apps Script que despliegas en tu propia cuenta gratuita de Google. Tu ISP solo ve tráfico cifrado hacia www.google.com — no puede saber qué estás visitando realmente.
🇬🇧 English Quick Start · Full Guide (advanced topics) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
۱. راهنمای تصویری راه اندازی به زبان فارسی (YouTube)
۲. راهنمای جامع متنی راه اندازی به زبان فارسی با تشکر از Kian Irani
tú → navegador → mhrv-rs ──┐
│ El ISP solo ve: www.google.com
▼
La red de Google
│
▼
tu Apps Script gratuito obtiene el sitio real
│
▼
Twitter / ChatGPT / sitio bloqueado de tu elección
Los ISP no pueden leer dentro del HTTPS cifrado. Solo ven la dirección — www.google.com. La búsqueda real de la página ocurre dentro de la red de Google, oculta en el túnel cifrado.
Unos 5 minutos. Necesitas:
assets/apps_script/Code.gs en este repositorio, cópialo todo, pégalo en el editor de Apps Script (reemplazando lo que había)const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";
CHANGE_ME_TO_A_STRONG_SECRET por una cadena aleatoria larga propia. Guarda esta cadena — la pegarás en la aplicación en el Paso 3. Trátala como una contraseña.Ctrl/Cmd+S)Consejo: si más tarde actualizas
Code.gs, no crees un nuevo deployment. Edita el código, luego ve a Deploy → Manage deployments → ✏️ → Version: New version → Deploy. El Deployment ID sigue siendo el mismo.
Ve a la página de la última versión y descarga el archivo para tu ordenador:
Mac: ¿no sabes si es Apple Silicon o Intel? Haz clic en → About This Mac. Si "Chip" dice Apple, obtén arm64. Si dice Intel, obtén amd64.
Linux: ¿tienes un error de
GLIBC? Usa el archivolinux-musl-amd64en su lugar — funciona en cualquier Linux sin dependencias.
Descomprímelo.
Haz doble clic en el lanzador:
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh (en una terminal) |
La primera vez, solicita la contraseña de tu ordenador. Esto es para instalar un pequeño certificado para que tu navegador confíe en mhrv-rs. El certificado se genera en tu ordenador y nunca sale de él — ninguna nube, ni Google, ni nada remoto puede usarlo.
Se abre la ventana de mhrv-rs. Rellena:
Code.gsHaz clic en Save config, luego en Start. El círculo de estado se vuelve verde si funciona.
Pruébalo: haz clic en el botón Test. Envía una solicitud a través del relé y te dice si funcionó.
127.0.0.1 Puerto: 8085Instala la extensión Proxy SwitchyOmega y configura el proxy a 127.0.0.1:8085.
System Settings → Network → Wi-Fi → Details → Proxies → habilita tanto Web Proxy (HTTP) como Secure Web Proxy (HTTPS), ambos apuntando a 127.0.0.1:8085.
Abre cualquier sitio bloqueado en tu navegador. Debería cargarse.
Si algo no funciona:
¿Esto es realmente gratuito? Sí. Google ofrece a cada cuenta 20 000 solicitudes de URL salientes por día en el nivel gratuito. Es más que suficiente para la navegación normal de una persona. Para una familia de 3-4 personas que compartan la misma configuración, haz 2-3 despliegues en diferentes cuentas de Google y añade todos los IDs.
¿Es seguro? El certificado permanece en tu ordenador — nadie más tiene la clave privada. Tu auth_key es tu secreto. Google ve los sitios web que visitas a través del relé (porque Apps Script los obtiene en tu nombre) — igual que cualquier proxy alojado. Si no te parece bien, usa el modo Full Tunnel con tu propio VPS — consulta la guía completa.
Los videos de YouTube no se reproducen. Los fragmentos de video de YouTube provienen de googlevideo.com, a los que Apps Script no puede acceder (Google bloquea que Apps Script acceda a su propia CDN de video). La página en sí se carga bien; solo se ve afectada la reproducción de video. Solución: Full Tunnel + VPS, o añade .googlevideo.com a passthrough_hosts en tu configuración (el navegador lo accede directamente, pero en los ISP de Irán sigue siendo estrangulado).
ChatGPT / Claude / Grok muestra un CAPTCHA de Cloudflare. Cloudflare marca las IPs del centro de datos de Google como bots. Solución: configura un exit node — un pequeño manejador TypeScript que despliegues en un host serverless (Deno Deploy, fly.io, tu propio VPS) que sirva de puente entre Apps Script → tu exit node → claude.ai. Consulta assets/exit_node/README.md.
Telegram es inestable. Telegram usa MTProto, que Apps Script no entiende. Combínalo con xray en tu máquina — consulta Telegram via xray en la guía completa.
El ISP bloquea script.google.com en sí. mhrv-rs tiene un modo direct que usa solo el túnel de reescritura SNI (sin Apps Script). Úsalo una vez para acceder a script.google.com y desplegar tu script, luego cambia al modo apps_script. Consulta modo direct.
Mi búsqueda de Google aparece sin JavaScript. El User-Agent de Apps Script está fijado a Google-Apps-Script (Google no permite que los scripts lo cambien), por lo que algunos sitios sirven una versión sin JS. Solución: añade el dominio afectado a tu mapa hosts para que pase por el túnel de reescritura SNI con el User-Agent real de tu navegador. google.com, youtube.com, fonts.googleapis.com ya están en esta lista por defecto.
Más preguntas: FAQ completa en la guía larga.
auth_key!), exactamente qué intentaste, exactamente qué viste en el registroProyecto original: @masterking32/MasterHttpRelayVPN. La idea, el protocolo Apps Script, la arquitectura del proxy — todo suyo. Este puerto a Rust existe para facilitar la distribución del lado del cliente (un solo binario, sin instalación de Python).
La mayor parte del código Rust de este puerto fue escrita con Claude de Anthropic, revisada por un humano en cada commit.
❤️ Donar en sh1n.org — cubre los costos de hosting y los runners de CI. Marcar el repositorio con estrella también ayuda a señalar que vale la pena mantener el proyecto.
یک برنامهٔ کوچک که روی کامپیوترت اجرا میشود و کمک میکند سایتهای مسدودشده را با یک اسکریپت رایگان که توی حساب گوگل خودت میسازی، باز کنی. ISP فقط میبیند که داری به www.google.com وصل میشوی — نمیفهمد در واقع چه سایتی را باز کردهای.
🇬🇧 English Quick Start · Full Guide (advanced) 🇮🇷 راهاندازی سریع · راهنمای کامل (پیشرفته)
تو ← مرورگر ← mhrv-rs ──┐
│ ISP فقط میبیند: www.google.com
▼
شبکهٔ گوگل
│
▼
اسکریپت رایگان گوگل تو سایت اصلی را باز میکند
│
▼
توییتر / ChatGPT / هر سایت مسدودی
| Tienes | Descarga esto |
|---|
| Mac con Apple Silicon (chip M1 / M2 / M3 / M4) | mhrv-rs-macos-arm64-app.zip |
| Mac con chip Intel | mhrv-rs-macos-amd64-app.zip |
| Windows | mhrv-rs-windows-amd64.zip |
| Linux (Ubuntu / Mint / Fedora / Debian / Arch) | mhrv-rs-linux-amd64.tar.gz |
| Teléfono o tableta Android | mhrv-rs-android-universal-v*.apk |
| Router OpenWRT o Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
ISP داخل HTTPS رمزشده را نمیتواند بخواند. فقط آدرس را میبیند — www.google.com. جستوجوی واقعی صفحه داخل شبکهٔ گوگل، در تونل رمزشده اتفاق میافتد.
حدود ۵ دقیقه. نیاز داری به:
۱. به script.google.com برو، با حساب گوگل خودت وارد شو
۲. روی New project بالا سمت چپ کلیک کن
۳. کد پیشفرض ویرایشگر را پاک کن
۴. فایل assets/apps_script/Code.gs را در همین ریپو باز کن، همهاش را کپی کن، در ویرایشگر Apps Script پیست کن (جایگزین متن قبلی)
۵. این خط را نزدیک بالای کد پیدا کن:
const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";
مقدار CHANGE_ME_TO_A_STRONG_SECRET را با یک رشتهٔ تصادفی طولانیِ خودت عوض کن. این رشته را نگه دار — در مرحلهٔ ۳ داخل برنامه پیست میکنی. مثل پسورد محرمانه نگهاش دار.
۶. روی 💾 Save کلیک کن (یا Ctrl/Cmd+S)
۷. روی Deploy (بالا سمت راست) → New deployment
۸. روی آیکون چرخدندهٔ ⚙ کنار "Select type" کلیک کن → Web app را انتخاب کن
۹. تنظیم کن:
نکته: اگر بعداً
Code.gsرا بهروزرسانی کنی، Deployment جدید نساز. کد را ویرایش کن، بعد Deploy → Manage deployments → ✏️ → Version: New version → Deploy. Deployment ID همان قبلی میماند.
به صفحهٔ آخرین release برو و فایل مناسب کامپیوترت را دانلود کن:
| سیستم تو | فایل دانلود |
|---|---|
| مک با تراشهٔ Apple Silicon (M1 / M2 / M3 / M4) | mhrv-rs-macos-arm64-app.zip |
| مک با تراشهٔ Intel | mhrv-rs-macos-amd64-app.zip |
| ویندوز | mhrv-rs-windows-amd64.zip |
| لینوکس (Ubuntu / Mint / Fedora / Debian / Arch) | mhrv-rs-linux-amd64.tar.gz |
| گوشی یا تبلت اندروید | mhrv-rs-android-universal-v*.apk |
| روتر OpenWRT یا Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
مک: مطمئن نیستی Apple Silicon است یا Intel؟ کلیک کن → About This Mac. اگر "Chip" نوشت Apple، arm64 بگیر. اگر Intel بود، amd64.
لینوکس: خطای
GLIBCمیگیری؟ بهجای آن ازlinux-musl-amd64استفاده کن — روی هر لینوکسی بدون وابستگی کار میکند.
از حالت فشرده دربیار.
روی فایل اجرا دو بار کلیک کن:
| مک | run.command |
| ویندوز | run.bat |
| لینوکس | ./run.sh (در ترمینال) |
اولین بار رمز کامپیوترت را میخواهد. این برای نصب یک گواهی کوچک است تا مرورگرت به mhrv-rs اعتماد کند. گواهی روی کامپیوتر خودت ساخته میشود و هیچوقت جایی ارسال نمیشود — نه روی ابر، نه به گوگل، هیچ منبع راهدوری نمیتواند ازش استفاده کند.
پنجرهٔ mhrv-rs باز میشود. این فیلدها را پر کن:
Code.gs گذاشتیروی Save config و بعد Start بزن. اگر کار کند، دایرهٔ وضعیت سبز میشود.
تستش کن: دکمهٔ Test را بزن. یک درخواست از طریق رله میفرستد و میگوید کار کرد یا نه.
۱. فایرفاکس → منوی ☰ → Settings
۲. در کادر جستوجو "proxy" تایپ کن
۳. زیر Network Settings روی Settings… کلیک کن
۴. Manual proxy configuration را انتخاب کن
۵. HTTP Proxy: 127.0.0.1 پورت: 8085
۶. ☑ "Also use this proxy for HTTPS" را تیک بزن
۷. OK
افزونهٔ Proxy SwitchyOmega را نصب کن و پروکسی را روی 127.0.0.1:8085 تنظیم کن.
System Settings → Network → Wi-Fi → Details → Proxies → هر دو Web Proxy (HTTP) و Secure Web Proxy (HTTPS) را روشن کن، هر دو روی 127.0.0.1:8085.
در مرورگرت یک سایت مسدود را باز کن. باید لود شود.
اگر چیزی کار نکرد:
واقعاً رایگانه؟ بله. گوگل به هر حساب روزانه ۲۰٬۰۰۰ درخواست خروجی URL در سهمیهٔ رایگان میدهد. برای مرور عادی یک نفر کاملاً کافی است. برای خانوادهٔ ۳-۴ نفره که از یک سرویس استفاده میکنند، در ۲-۳ حساب گوگل مختلف Deployment بساز و همهٔ IDها را اضافه کن.
امنه؟ گواهی روی کامپیوتر خودت میماند — کسی کلید خصوصی را ندارد. auth_key رمز محرمانهٔ توست. گوگل سایتهایی که از طریق رله باز میکنی را میبیند (چون Apps Script برای تو fetch میکند) — مثل هر پروکسی میزبانیشدهٔ دیگری. اگر این برایت قابل قبول نیست، از Full Tunnel با VPS شخصی استفاده کن — در راهنمای کامل.
ویدیوی یوتیوب پخش نمیشود. chunkهای ویدیوی یوتیوب از googlevideo.com میآیند و Apps Script نمیتواند به آن برسد (گوگل اجازهٔ دسترسی Apps Script به CDN ویدیوی خودش را نمیدهد). صفحهٔ خود یوتیوب لود میشود، فقط پخش ویدیو تحت تأثیر است. راهحل: Full Tunnel + VPS، یا .googlevideo.com را به passthrough_hosts در کانفیگت اضافه کن (مرورگر مستقیم میرود اما روی ISP ایران throttle میخورد).
ChatGPT / Claude / Grok کپچای Cloudflare نشان میدهد. Cloudflare آیپیهای دیتاسنتر گوگل را بهعنوان bot شناسایی میکند. راهحل: یک exit node راهاندازی کن — یک handler کوچک TypeScript که روی یک host serverless (Deno Deploy، fly.io، VPS شخصی) deploy میکنی و پل میسازه از Apps Script به سایت Cloudflare. assets/exit_node/README.fa.md.
تلگرام پایدار نیست. تلگرام از MTProto استفاده میکند که Apps Script نمیفهمد. روی کامپیوترت با xray جفتش کن — بخش تلگرام در راهنمای کامل.
ISP خود script.google.com را مسدود کرده. mhrv-rs یک حالت direct دارد که فقط از تونل بازنویسی SNI استفاده میکند (بدون Apps Script). یکبار از این حالت استفاده کن تا به script.google.com برسی و اسکریپت را دیپلوی کنی، بعد به حالت apps_script سوئیچ کن. حالت direct.
جستوجوی گوگلم بدون JavaScript ظاهر میشود. User-Agent Apps Script ثابت روی Google-Apps-Script است (گوگل نمیگذارد اسکریپتها عوضش کنند)، پس بعضی سایتها نسخهٔ بدون JS برمیگردانند. راهحل: دامنهٔ مورد نظر را به hosts اضافه کن تا از تونل بازنویسی SNI با User-Agent واقعی مرورگرت برود. google.com، youtube.com، fonts.googleapis.com بهطور پیشفرض در این لیستاند.
سؤالات بیشتر: FAQ کامل در راهنمای بلند.
auth_key را پنهان کن!)، دقیقاً چه کاری کردی، دقیقاً چه دیدی در logپروژهٔ اصلی: @masterking32/MasterHttpRelayVPN. ایده، پروتکل Apps Script، معماری پروکسی — همه از اوست. این پورت Rust برای سادهتر کردن توزیع سمت کلاینت است (یک فایل اجرایی، بدون نصب پایتون).
بیشتر کد Rust این پورت با کمک Claude شرکت Anthropic نوشته شده، روی هر commit انسانی بازبینی شده.
❤️ کمک مالی در sh1n.org — برای پوشش هزینهٔ هاستینگ و runner CI. ستاره دادن به ریپو هم نشان میدهد پروژه ارزش ادامه دادن دارد.