一个在你电脑上运行的小程序,使用你部署在自己免费 Google 账户中的 Google Apps Script,让你免费访问被屏蔽的网站。你的 ISP 只能看到加密流量发往 www.google.com —— 它不知道你实际在访问什么。
🇬🇧 英文快速入门 · 完整指南(高级主题) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
۱. راهنمای تصویری راه اندازی به زبان فارسی (YouTube)
۲. راهنمای جامع متنی راه اندازی به زبان فارسی با تشکر از Kian Irani
你 → 浏览器 → mhrv-rs ──┐
│ ISP 只能看到:www.google.com
▼
Google 的网络
│
▼
你免费的 Apps Script 获取真实网站
│
▼
Twitter / ChatGPT / 你选择被屏蔽的网站
ISP 无法读取加密的 HTTPS 数据。他们只能看到地址 —— www.google.com。实际的页面查找发生在 Google 的网络内部,隐藏在加密隧道中。
大约 5 分钟。 你需要:
assets/apps_script/Code.gs,复制所有内容,粘贴到 Apps Script 编辑器中(替换原有代码)const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";
CHANGE_ME_TO_A_STRONG_SECRET 替换为你自己生成的长随机字符串。请保存这个字符串 —— 第 3 步需要粘贴到应用中。把它当作密码来保护。Ctrl/Cmd+S)提示: 如果你以后更新了
Code.gs,不要创建新部署。编辑代码后,进入 Deploy → Manage deployments → ✏️ → Version: New version → Deploy。Deployment ID 保持不变。
前往最新发布页面,下载适合你电脑的文件:
Mac:不确定是 Apple Silicon 还是 Intel? 点击 → About This Mac。如果“芯片”显示 Apple,则下载 arm64 版本;如果显示 Intel,则下载 amd64 版本。
Linux:遇到
GLIBC错误? 改用linux-musl-amd64文件 —— 它无需依赖即可在任何 Linux 上运行。
解压文件。
双击启动器:
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh(在终端中运行) |
首次运行时会要求输入你的电脑密码。这是为了安装一个小型证书,以便你的浏览器信任 mhrv-rs。此证书在你的电脑上生成,永远不会离开你的电脑 —— 没有云端、Google 或任何远程方可以使用它。
mhrv-rs 窗口打开。填写以下内容:
Code.gs 中设置的一串随机字符点击 Save config,然后点击 Start。如果正常工作,状态圆圈会变成绿色。
测试一下: 点击 Test 按钮。它会通过中继发送一个请求,并告诉你是否成功。
127.0.0.1 端口:8085安装 Proxy SwitchyOmega 扩展,并将代理设置为 127.0.0.1:8085。
系统设置 → 网络 → Wi-Fi → 详细信息 → 代理 → 同时启用 Web Proxy (HTTP) 和 Secure Web Proxy (HTTPS),两者都指向 127.0.0.1:8085。
在浏览器中打开任意被屏蔽的网站。它应该能正常加载。
如果某个网站无法访问:
这真的免费吗? 是的。Google 为每个账户提供每天 20,000 次出站 URL 抓取的免费额度。对于一个人正常浏览来说完全足够。如果一个家庭 3-4 人共享同一设置,可以在不同 Google 账户中创建 2-3 次部署,并将所有 ID 都添加进去。
安全吗? 证书保存在你的电脑上 —— 没有其他人拥有私钥。你的 auth_key 是你的密钥。Google 会看到通过中继访问的网站(因为 Apps Script 会代表你抓取它们)—— 这与任何托管代理一样。如果你对此感到不自在,请使用 Full Tunnel 模式配合自己的 VPS —— 参见完整指南。
YouTube 视频无法播放。 YouTube 的视频片段来自 googlevideo.com,Apps Script 无法访问(Google 禁止 Apps Script 访问其自己的视频 CDN)。页面本身加载正常,只有视频播放受影响。解决方法:配合 VPS 使用 Full Tunnel,或者将 .googlevideo.com 添加到配置的 passthrough_hosts 中(浏览器直接访问,但在伊朗 ISP 下仍会被限速)。
ChatGPT / Claude / Grok 显示 Cloudflare CAPTCHA。 Cloudflare 会将 Google 数据中心 IP 标记为机器人。解决方法:设置一个 出口节点(exit node) —— 一个小型 TypeScript 处理程序,部署在无服务器主机(Deno Deploy、fly.io 或你自己的 VPS)上,连接 Apps Script → 出口节点 → claude.ai。参见 assets/exit_node/README.md。
Telegram 不稳定。 Telegram 使用 MTProto,Apps Script 不支持。请在你的机器上配合 xray 使用 —— 参见完整指南中的 Telegram via xray。
ISP 封锁了 script.google.com 本身。 mhrv-rs 有一个 direct 模式,仅使用 SNI 重写隧道(不使用 Apps Script)。使用此模式一次来访问 script.google.com 部署脚本,然后切换回 apps_script 模式。参见 direct mode。
我的 Google 搜索显示无 JavaScript 版本。 Apps Script 的 User-Agent 固定为 Google-Apps-Script(Google 不允许脚本更改它),因此某些网站会提供无 JS 的降级版本。解决方法:将受影响的域名添加到 hosts 映射中,使其通过 SNI 重写隧道使用浏览器真实的 User-Agent 访问。google.com、youtube.com、fonts.googleapis.com 默认已在此列表中。
更多问题: 完整指南中的 FAQ。
auth_key!)、你尝试的具体步骤、你在日志中看到的具体内容原始项目:@masterking32/MasterHttpRelayVPN。想法、Apps Script 协议、代理架构 —— 全是他的。这个 Rust 移植版旨在简化客户端分发(单一二进制文件,无需安装 Python)。
本移植版中的大部分 Rust 代码由 Anthropic 的 Claude 编写,每次提交都经过人工审查。
❤️ 在 sh1n.org 捐赠 —— 用于支付托管和 CI 运行器费用。给仓库加星也有助于表明该项目值得维护。
یک برنامهٔ کوچک که روی کامپیوترت اجرا میشود و کمک میکند سایتهای مسدودشده را با یک اسکریپت رایگان که توی حساب گوگل خودت میسازی، باز کنی. ISP فقط میبیند که داری به www.google.com وصل میشوی — نمیفهمد در واقع چه سایتی را باز کردهای.
🇬🇧 English Quick Start · Full Guide (advanced) 🇮🇷 راهاندازی سریع · راهنمای کامل (پیشرفته)
تو ← مرورگر ← mhrv-rs ──┐
│ ISP فقط میبیند: www.google.com
▼
شبکهٔ گوگل
│
▼
اسکریپت رایگان گوگل تو سایت اصلی را باز میکند
│
▼
توییتر / ChatGPT / هر سایت مسدودی
| 你的系统 | 下载此文件 |
|---|
| 搭载 Apple Silicon 芯片的 Mac(M1 / M2 / M3 / M4) | mhrv-rs-macos-arm64-app.zip |
| 搭载 Intel 芯片的 Mac | 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 手机或平板 | mhrv-rs-android-universal-v*.apk |
| OpenWRT 路由器或 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. ستاره دادن به ریپو هم نشان میدهد پروژه ارزش ادامه دادن دارد.