
MasterHttpRelayVPN-RUST v1.9.37
Port em Rust do MasterHttpRelayVPN do @masterking32 — todo crédito ao @masterking32 pela ideia original e implementação em Python. Bypass DPI gratuito via um relay do Google Apps Script com ocultação de SNI TLS. CLI + interface de desktop multiplataforma, proxy HTTP + SOCKS5, sem dependências de runtime.
mhrv-rs — burle a censura gratuitamente, com sua própria conta do Google
Um pequeno programa que roda no seu computador e permite visitar sites bloqueados gratuitamente, usando um Google Apps Script que você implanta na sua própria conta gratuita do Google. Sua operadora vê apenas tráfego criptografado para www.google.com — ela não consegue saber o que você realmente está visitando.
🇬🇧 Guia Rápido em Inglês · Guia Completo (tópicos avançados) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
۱. راهنمای تصویری راه اندازی به زبان فارسی (YouTube)
۲. راهنمای جامع متنی راه اندازی به زبان فارسی با تشکر از Kian Irani
O que você obtém
- 🌐 Ignora bloqueio DPI / SNI usando a borda do Google como relay
- 💯 Completamente gratuito — roda no nível gratuito da sua própria conta do Google
- ⚡ Um arquivo pequeno (~3 MB), sem Python, sem Node.js, sem dependências
- 🖥️ Funciona em Mac, Windows, Linux, Android, roteadores OpenWRT
- 🦊 Qualquer navegador ou aplicativo que suporte proxy HTTP ou SOCKS5
Como funciona (imagem simples)
você → navegador → mhrv-rs ──┐
│ ISP só vê: www.google.com
▼
Rede do Google
│
▼
seu Apps Script gratuito busca o site real
│
▼
Twitter / ChatGPT / site bloqueado de sua escolha
ISPs não conseguem ler dentro do HTTPS criptografado. Eles veem apenas o endereço — www.google.com. A consulta real da página acontece dentro da rede do Google, oculta no túnel criptografado.
Início Rápido
Cerca de 5 minutos. Você precisa de:
- Uma conta gratuita do Google (qualquer Gmail serve)
- Um computador (Mac, Windows ou Linux)
- Firefox ou Chrome
Passo 1 — Crie o Google Apps Script (uma vez)
- Acesse script.google.com, faça login com sua conta do Google
- Clique em New project no canto superior esquerdo
- Exclua o código padrão no editor
- Abra o arquivo
assets/apps_script/Code.gsneste repositório, copie todo o conteúdo, cole no editor do Apps Script (substituindo o que estava lá) - Encontre esta linha perto do topo:
Altere
const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";CHANGE_ME_TO_A_STRONG_SECRETpara uma longa string aleatória de sua escolha. Guarde esta string — você a colará no aplicativo no Passo 3. Trate-a como uma senha. - Clique em 💾 Save (ou
Ctrl/Cmd+S) - Clique em Deploy (canto superior direito) → New deployment
- Clique no ícone de engrenagem ⚙ ao lado de "Select type" → escolha Web app
- Defina:
- Execute as: Me (sua conta do Google)
- Who has access: Anyone
- Clique em Deploy. O Google pode pedir permissões — clique em Authorize access e aprove
- O Google mostra um Deployment ID (uma longa string aleatória). Copie-o — você precisará dele no Passo 3.
Dica: se você atualizar
Code.gsdepois, não crie um novo deployment. Edite o código, depois vá em Deploy → Manage deployments → ✏️ → Version: New version → Deploy. O Deployment ID permanece o mesmo.
Passo 2 — Baixe o mhrv-rs
Acesse a página do último lançamento e baixe o arquivo para seu computador:
| Seu sistema | Baixe este |
|---|---|
| Mac com chip Apple Silicon (M1 / M2 / M3 / M4) | mhrv-rs-macos-arm64-app.zip |
| Mac com 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 |
| Celular ou tablet Android | mhrv-rs-android-universal-v*.apk |
| Roteador OpenWRT ou Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
Mac: não tem certeza se é Apple Silicon ou Intel? Clique em → About This Mac. Se "Chip" disser Apple, pegue arm64. Se Intel, pegue amd64.
Linux: recebendo erro
GLIBC? Use o arquivolinux-musl-amd64— funciona em qualquer Linux sem dependências.
Descompacte.
Passo 3 — Primeira execução
Clique duas vezes no lançador:
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh (em um terminal) |
Na primeira vez, ele pede a senha do seu computador. Isso é para instalar um pequeno certificado para que seu navegador confie no mhrv-rs. O certificado é gerado no seu computador e nunca sai dele — nenhuma nuvem, nenhum Google, nada remoto pode usá-lo.
A janela do mhrv-rs abre. Preencha:
- Apps Script ID(s) → cole o Deployment ID do Passo 1
- Auth key → cole a string aleatória que você colocou em
Code.gs - Deixe todo o resto como padrão
Clique em Save config, depois Start. O círculo de status fica verde se funcionar.
Teste: clique no botão Test. Ele envia uma requisição através do relay e informa se funcionou.
Passo 4 — Configure seu navegador para usar o mhrv-rs
Firefox (recomendado — mais fácil)
- Firefox → ☰ menu → Settings
- Pesquise "proxy" na caixa de busca
- Clique em Settings… em Network Settings
- Escolha Manual proxy configuration
- HTTP Proxy:
127.0.0.1Porta:8085 - ☑ Marque "Also use this proxy for HTTPS"
- Clique em OK
Chrome / Edge
Instale a extensão Proxy SwitchyOmega e configure o proxy para 127.0.0.1:8085.
macOS (sistema inteiro)
System Settings → Network → Wi-Fi → Details → Proxies → habilite Web Proxy (HTTP) e Secure Web Proxy (HTTPS), ambos apontando para 127.0.0.1:8085.
Passo 5 — Teste
Abra qualquer site bloqueado em seu navegador. Deve carregar.
Se algo não funcionar:
- Clique em Test na janela do mhrv-rs — ele identifica qual etapa está falhando
- Olhe no painel Recent log na parte inferior da janela
- Veja Perguntas frequentes abaixo
Perguntas frequentes
É realmente gratuito? Sim. O Google oferece a cada conta 20.000 requisições de URL de saída por dia no nível gratuito. Isso é suficiente para a navegação normal de uma pessoa. Para uma família de 3-4 pessoas compartilhando a mesma configuração, faça 2-3 deployments em diferentes contas do Google e adicione todos os IDs.
É seguro? O certificado permanece no seu computador — ninguém mais tem a chave privada. Sua auth_key é seu segredo. O Google vê os sites que você visita através do relay (porque o Apps Script os busca em seu nome) — igual a qualquer proxy hospedado. Se você não se sentir confortável com isso, use o modo Full Tunnel com seu próprio VPS — veja o guia completo.
Vídeos do YouTube não tocam. Os chunks de vídeo do YouTube vêm de googlevideo.com, que o Apps Script não consegue acessar (o Google bloqueia o Apps Script de acessar o próprio CDN de vídeo). A página em si carrega bem; apenas a reprodução de vídeo é afetada. Correção: Full Tunnel + VPS, ou adicione .googlevideo.com a passthrough_hosts na sua configuração (o navegador acessa diretamente, mas em ISPs do Irã ainda é limitado).
ChatGPT / Claude / Grok mostra um CAPTCHA do Cloudflare. O Cloudflare marca IPs de datacenter do Google como bots. Correção: configure um exit node — um pequeno handler TypeScript que você implanta em um host serverless (Deno Deploy, fly.io, seu próprio VPS) que faz a ponte Apps Script → seu exit node → claude.ai. Veja assets/exit_node/README.md.
Telegram é instável. O Telegram usa MTProto, que o Apps Script não entende. Combine com xray na sua máquina — veja Telegram via xray no guia completo.
O ISP bloqueia o próprio script.google.com. O mhrv-rs tem um modo direct que usa apenas o túnel de reescrita SNI (sem Apps Script). Use-o uma vez para acessar script.google.com e implantar seu script, depois mude para o modo apps_script. Veja modo direct.
Minha busca no Google aparece sem JavaScript. O User-Agent do Apps Script é fixo em Google-Apps-Script (o Google não permite que scripts o alterem), então alguns sites servem uma versão sem JS. Solução alternativa: adicione o domínio afetado ao seu mapa hosts para que ele passe pelo túnel de reescrita SNI com o User-Agent real do seu navegador. google.com, youtube.com, fonts.googleapis.com já estão nesta lista por padrão.
Mais perguntas: FAQ completo no guia detalhado.
Precisa de ajuda?
- Pesquise issues abertas e fechadas — seu problema pode já ter resposta
- Abra uma nova issue com: sua configuração (oculte
auth_key!), exatamente o que tentou, exatamente o que viu no log
Créditos
Projeto original: @masterking32/MasterHttpRelayVPN. A ideia, o protocolo Apps Script, a arquitetura de proxy — tudo dele. Este port em Rust existe para facilitar a distribuição no lado do cliente (binário único, sem instalação de Python).
A maior parte do código Rust neste port foi escrita com Claude da Anthropic, revisada por um humano em cada commit.
Apoie este projeto
❤️ Doe em sh1n.org — cobre custos de hospedagem e CI runner. Dar estrela no repositório também ajuda a sinalizar que o projeto vale a pena ser mantido.
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. ستاره دادن به ریپو هم نشان میدهد پروژه ارزش ادامه دادن دارد.