Loading repository data…
Loading repository data…
therealaleph / repository
Rust port of @masterking32's MasterHttpRelayVPN — all credit to @masterking32 for the original idea and Python implementation. Free DPI bypass via a Google Apps Script relay with TLS SNI concealment. CLI + cross-platform desktop UI, HTTP + SOCKS5 proxy, no runtime deps.
A small program that runs on your computer and lets you visit blocked websites for free, using a Google Apps Script you deploy in your own free Google account. Your ISP only sees encrypted traffic to www.google.com — it can't tell what you're really visiting.
🇬🇧 English Quick Start · Full Guide (advanced topics) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
you → browser → mhrv-rs ──┐
│ ISP only sees: www.google.com
▼
Google's network
│
▼
your free Apps Script fetches the real site
│
▼
Twitter / ChatGPT / blocked-site of your choice
ISPs can't read inside encrypted HTTPS. They only see the address — www.google.com. The actual page lookup happens inside Google's network, hidden in the encrypted tunnel.
About 5 minutes. You need:
assets/apps_script/Code.gs in this repo, copy all of it, paste into the Apps Script editor (replacing what was there)const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";
Change CHANGE_ME_TO_A_STRONG_SECRET to a long random string of your own. Keep this string — you'll paste it into the app in Step 3. Treat it like a password.Ctrl/Cmd+S)Tip: if you ever update
Code.gslater, don't make a new deployment. Edit the code, then go to Deploy → Manage deployments → ✏️ → Version: New version → Deploy. The Deployment ID stays the same.
Go to the latest release page and download the file for your computer:
| You're on | Download this |
|---|---|
| Mac with Apple Silicon (M1 / M2 / M3 / M4 chip) | mhrv-rs-macos-arm64-app.zip |
| Mac with Intel chip | mhrv-rs-macos-amd64-app.zip |
| Windows | mhrv-rs-windows-amd64.zip |
| Linux (Ubuntu / Mint / Fedora / Debian / Arch) | mhrv-rs-linux-amd64.tar.gz |
| Android phone or tablet | mhrv-rs-android-universal-v*.apk |
| OpenWRT router or Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
Mac: not sure if Apple Silicon or Intel? Click → About This Mac. If "Chip" says Apple, get arm64. If Intel, get amd64.
Linux: getting a
GLIBCerror? Use thelinux-musl-amd64file instead — it works on any Linux without dependencies.
Unzip it.
Double-click the launcher:
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh (in a terminal) |
The first time, it asks for your computer password. This is to install one small certificate so your browser trusts mhrv-rs. The certificate is generated on your computer and never leaves it — no cloud, no Google, nothing remote can use it.
The mhrv-rs window opens. Fill in:
Code.gsClick Save config, then Start. The status circle goes green if it works.
Test it: click the Test button. It sends one request through the relay and tells you if it worked.
127.0.0.1 Port: 8085Install the Proxy SwitchyOmega extension and set proxy to 127.0.0.1:8085.
System Settings → Network → Wi-Fi → Details → Proxies → enable both Web Proxy (HTTP) and Secure Web Proxy (HTTPS), both pointing to 127.0.0.1:8085.
Open any blocked site in your browser. It should load.
If something doesn't work:
Is this really free? Yes. Google gives every account 20,000 outbound URL fetches per day on the free tier. That's plenty for one person's normal browsing. For a family of 3–4 sharing the same setup, make 2–3 deployments in different Google accounts and add all the IDs.
Is it safe? The certificate stays on your computer — no one else has the private key. Your auth_key is your secret. Google sees the websites you visit through the relay (because Apps Script fetches them on your behalf) — same as any hosted proxy. If you're not OK with that, use Full Tunnel mode with your own VPS — see the full guide.
YouTube videos don't play. YouTube's video chunks come from googlevideo.com, which Apps Script can't reach (Google blocks Apps Script from accessing Google's own video CDN). The page itself loads fine; only video playback is affected. Fix: Full Tunnel + VPS, or add .googlevideo.com to passthrough_hosts in your config (browser hits it directly, but on Iran ISPs it's still throttled).
ChatGPT / Claude / Grok shows a Cloudflare CAPTCHA. Cloudflare flags Google datacenter IPs as bots. Fix: set up an exit node — a small TypeScript handler you deploy on a serverless host (Deno Deploy, fly.io, your own VPS) that bridges Apps Script → your exit node → claude.ai. See assets/exit_node/README.md.
Telegram is unstable. Telegram uses MTProto, which Apps Script doesn't speak. Pair with xray on your machine — see Telegram via xray in the full guide.
ISP blocks script.google.com itself. mhrv-rs has a direct mode that uses only the SNI-rewrite tunnel (no Apps Script). Use it once to access script.google.com to deploy your script, then switch to apps_script mode. See direct mode.
My Google search shows up without JavaScript. The Apps Script User-Agent is fixed to Google-Apps-Script (Google won't let scripts change it), so some sites serve a no-JS fallback. Workaround: add the affected domain to your hosts map so it goes through the SNI-rewrite tunnel with your real browser User-Agent. google.com, youtube.com, fonts.googleapis.com are already on this list by default.
More questions: full FAQ in the long guide.
auth_key!), exactly what you tried, exactly what you saw in the logOriginal project: @masterking32/MasterHttpRelayVPN. The idea, the Apps Script protocol, the proxy architecture — all his. This Rust port exists to make client-side distribution easier (single binary, no Python install).
Most of the Rust code in this port was written with Anthropic's Claude, reviewed by a human on every commit.
❤️ Donate at sh1n.org — covers hosting and CI runner costs. Starring the repo also helps signal the project is worth keeping alive.
یک برنامهٔ کوچک که روی کامپیوترت اجرا میشود و کمک میکند سایتهای مسدودشده را با یک اسکریپت رایگان که توی حساب گوگل خودت میسازی، باز کنی. ISP فقط میبیند که داری به www.google.com وصل میشوی — نمیفهمد در واقع چه سایتی را باز کردهای.
🇬🇧 English Quick Start · Full Guide (advanced) 🇮🇷 راهاندازی سریع · راهنمای کامل (پیشرفته)
تو ← مرورگر ← mhrv-rs ──┐
│ ISP فقط میبیند: www.google.com
▼
شبکهٔ گوگل
│
▼
اسکریپت رایگان گوگل تو سایت اصلی را باز میکند
│
▼
توییتر / ChatGPT / هر سایت مسدودی
ISP داخل HTTPS رمزشده را نمیتواند بخواند. فقط آدرس را میبیند — www.google.com. جستوجوی واقعی