
MasterHttpRelayVPN-RUST v1.9.37
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.
mhrv-rs — elude la censura gratis, con tu propia cuenta de Google
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
Lo que obtienes
- 🌐 Evita el bloqueo DPI / SNI usando el borde de Google como relé
- 💯 Completamente gratuito — se ejecuta en el nivel gratuito de tu propia cuenta de Google
- ⚡ Un archivo pequeño (~3 MB), sin Python, sin Node.js, sin dependencias
- 🖥️ Funciona en Mac, Windows, Linux, Android, routers OpenWRT
- 🦊 Cualquier navegador o aplicación que admita proxy HTTP o SOCKS5
Cómo funciona (la imagen simple)
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.
Inicio rápido
Unos 5 minutos. Necesitas:
- Una cuenta gratuita de Google (cualquier Gmail funciona)
- Un ordenador (Mac, Windows o Linux)
- Firefox o Chrome
Paso 1 — Crear el Google Apps Script (una sola vez)
- Ve a script.google.com, inicia sesión con tu cuenta de Google
- Haz clic en New project en la parte superior izquierda
- Elimina el código predeterminado en el editor
- Abre el archivo
assets/apps_script/Code.gsen este repositorio, cópialo todo, pégalo en el editor de Apps Script (reemplazando lo que había) - Busca esta línea cerca de la parte superior:
Cambia
const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";CHANGE_ME_TO_A_STRONG_SECRETpor 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. - Haz clic en 💾 Save (o
Ctrl/Cmd+S) - Haz clic en Deploy (arriba a la derecha) → New deployment
- Haz clic en el icono de engranaje ⚙ junto a "Select type" → elige Web app
- Configura:
- Execute as: Me (tu cuenta de Google)
- Who has access: Anyone
- Haz clic en Deploy. Google puede solicitar permisos — haz clic en Authorize access y aprueba
- Google muestra un Deployment ID (una cadena aleatoria larga). Cópialo — lo necesitarás en el Paso 3.
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.
Paso 2 — Descargar mhrv-rs
Ve a la página de la última versión y descarga el archivo para tu ordenador:
| 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 |
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.
Paso 3 — Primera ejecución
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:
- Apps Script ID(s) → pega el Deployment ID del Paso 1
- Auth key → pega la cadena aleatoria que pusiste en
Code.gs - Deja todo lo demás con los valores predeterminados
Haz 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ó.
Paso 4 — Configurar tu navegador para usar mhrv-rs
Firefox (recomendado — el más fácil)
- Firefox → menú ☰ → Settings
- Busca "proxy" en el cuadro de búsqueda
- Haz clic en Settings… en Network Settings
- Elige Manual proxy configuration
- HTTP Proxy:
127.0.0.1Puerto:8085 - ☑ Marca "Also use this proxy for HTTPS"
- Haz clic en OK
Chrome / Edge
Instala la extensión Proxy SwitchyOmega y configura el proxy a 127.0.0.1:8085.
macOS (todo el sistema)
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.
Paso 5 — Pruébalo
Abre cualquier sitio bloqueado en tu navegador. Debería cargarse.
Si algo no funciona:
- Haz clic en Test en la ventana de mhrv-rs — señala qué paso está fallando
- Mira el panel Recent log en la parte inferior de la ventana
- Consulta Preguntas frecuentes a continuación
Preguntas frecuentes
¿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.
¿Necesitas ayuda?
- Busca en issues abiertos y cerrados — tu problema podría tener respuesta
- Abre un nuevo issue con: tu configuración (¡oculta
auth_key!), exactamente qué intentaste, exactamente qué viste en el registro
Créditos
Proyecto 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.
Apoya este proyecto
❤️ 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.
mhrv-rs — دور زدن سانسور بهرایگان، با حساب گوگل خودت
یک برنامهٔ کوچک که روی کامپیوترت اجرا میشود و کمک میکند سایتهای مسدودشده را با یک اسکریپت رایگان که توی حساب گوگل خودت میسازی، باز کنی. ISP فقط میبیند که داری به www.google.com وصل میشوی — نمیفهمد در واقع چه سایتی را باز کردهای.
🇬🇧 English Quick Start · Full Guide (advanced) 🇮🇷 راهاندازی سریع · راهنمای کامل (پیشرفته)
چی به دست میآوری
- 🌐 عبور از DPI / مسدودسازی SNI با لبهٔ گوگل بهعنوان رله
- 💯 کاملاً رایگان — روی سهمیهٔ رایگان حساب گوگل خودت
- ⚡ یک فایل کوچک (~۳ مگابایت)، بدون پایتون، بدون Node.js، بدون وابستگی
- 🖥️ روی مک، ویندوز، لینوکس، اندروید، روتر OpenWRT کار میکند
- 🦊 هر مرورگر یا برنامهای که از HTTP proxy یا SOCKS5 پشتیبانی کند
چطور کار میکند (تصویر ساده)
تو ← مرورگر ← mhrv-rs ──┐
│ ISP فقط میبیند: www.google.com
▼
شبکهٔ گوگل
│
▼
اسکریپت رایگان گوگل تو سایت اصلی را باز میکند
│
▼
توییتر / ChatGPT / هر سایت مسدودی
ISP داخل HTTPS رمزشده را نمیتواند بخواند. فقط آدرس را میبیند — www.google.com. جستوجوی واقعی صفحه داخل شبکهٔ گوگل، در تونل رمزشده اتفاق میافتد.
راهاندازی سریع
حدود ۵ دقیقه. نیاز داری به:
- یک حساب گوگل رایگان (هر Gmailای کار میکند)
- یک کامپیوتر (مک، ویندوز یا لینوکس)
- فایرفاکس یا کروم
مرحلهٔ ۱ — ساخت اسکریپت گوگل (یکبار)
۱. به 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 را انتخاب کن
۹. تنظیم کن:
- Execute as: Me (حساب گوگل خودت)
- Who has access: Anyone ۱۰. Deploy را بزن. ممکن است گوگل برای دادن دسترسی سؤال کند — Authorize access را بزن و تأیید کن ۱۱. گوگل یک Deployment ID نشانت میدهد (یک رشتهٔ تصادفی طولانی). کپیاش کن — در مرحلهٔ ۳ لازم داری.
نکته: اگر بعداً
Code.gsرا بهروزرسانی کنی، Deployment جدید نساز. کد را ویرایش کن، بعد Deploy → Manage deployments → ✏️ → Version: New version → Deploy. Deployment ID همان قبلی میماند.
مرحلهٔ ۲ — دانلود mhrv-rs
به صفحهٔ آخرین 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 باز میشود. این فیلدها را پر کن:
- Apps Script ID(s) ← Deployment ID از مرحلهٔ ۱ را پیست کن
- Auth key ← همان رشتهٔ تصادفی که در
Code.gsگذاشتی - بقیه را پیشفرض ول کن
روی Save config و بعد Start بزن. اگر کار کند، دایرهٔ وضعیت سبز میشود.
تستش کن: دکمهٔ Test را بزن. یک درخواست از طریق رله میفرستد و میگوید کار کرد یا نه.
مرحلهٔ ۴ — مرورگر را روی mhrv-rs تنظیم کن
فایرفاکس (پیشنهادی — سادهترین)
۱. فایرفاکس → منوی ☰ → Settings
۲. در کادر جستوجو "proxy" تایپ کن
۳. زیر Network Settings روی Settings… کلیک کن
۴. Manual proxy configuration را انتخاب کن
۵. HTTP Proxy: 127.0.0.1 پورت: 8085
۶. ☑ "Also use this proxy for HTTPS" را تیک بزن
۷. OK
کروم / Edge
افزونهٔ 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.
مرحلهٔ ۵ — امتحان کن
در مرورگرت یک سایت مسدود را باز کن. باید لود شود.
اگر چیزی کار نکرد:
- در پنجرهٔ mhrv-rs دکمهٔ Test را بزن — میگوید کجا گیر کرده
- پنل Recent log پایین پنجره را نگاه کن
- بخش سؤالات رایج پایین را ببین
سؤالات رایج
واقعاً رایگانه؟ بله. گوگل به هر حساب روزانه ۲۰٬۰۰۰ درخواست خروجی 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 کامل در راهنمای بلند.
کمک میخواهی؟
- در issueهای باز و بسته جستوجو کن — احتمالاً مشکلت قبلاً جواب داده شده
- یک issue جدید باز کن با: کانفیگت (حتماً
auth_keyرا پنهان کن!)، دقیقاً چه کاری کردی، دقیقاً چه دیدی در log
اعتبار
پروژهٔ اصلی: @masterking32/MasterHttpRelayVPN. ایده، پروتکل Apps Script، معماری پروکسی — همه از اوست. این پورت Rust برای سادهتر کردن توزیع سمت کلاینت است (یک فایل اجرایی، بدون نصب پایتون).
بیشتر کد Rust این پورت با کمک Claude شرکت Anthropic نوشته شده، روی هر commit انسانی بازبینی شده.
حمایت از پروژه
❤️ کمک مالی در sh1n.org — برای پوشش هزینهٔ هاستینگ و runner CI. ستاره دادن به ریپو هم نشان میدهد پروژه ارزش ادامه دادن دارد.