
MasterHttpRelayVPN-RUST v1.9.37
Rust 移植版 @masterking32 的 MasterHttpRelayVPN — 所有功劳归功于 @masterking32 的原始创意和 Python 实现。通过带有 TLS SNI 隐藏的 Google Apps Script 中继实现免费 DPI 绕过。CLI + 跨平台桌面 UI,HTTP + SOCKS5 代理,无运行时依赖。
mhrv-rs — 免费绕过审查,使用你自己的 Google 账户
一个在你电脑上运行的小程序,使用你部署在自己免费 Google 账户中的 Google Apps Script,让你免费访问被屏蔽的网站。你的 ISP 只能看到加密流量发往 www.google.com —— 它不知道你实际在访问什么。
🇬🇧 英文快速入门 · 完整指南(高级主题) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
۱. راهنمای تصویری راه اندازی به زبان فارسی (YouTube)
۲. راهنمای جامع متنی راه اندازی به زبان فارسی با تشکر از Kian Irani
你得到什么
- 🌐 绕过 DPI / SNI 封锁 – 利用 Google 的边缘节点作为中继
- 💯 完全免费 – 运行在你自己的 Google 账户免费额度上
- ⚡ 单个小文件(约 3 MB),无需 Python、Node.js 或任何依赖
- 🖥️ 支持 Mac、Windows、Linux、Android、OpenWRT 路由器
- 🦊 任何支持 HTTP 代理或 SOCKS5 的浏览器或应用
工作原理(简单示意)
你 → 浏览器 → mhrv-rs ──┐
│ ISP 只能看到:www.google.com
▼
Google 的网络
│
▼
你免费的 Apps Script 获取真实网站
│
▼
Twitter / ChatGPT / 你选择被屏蔽的网站
ISP 无法读取加密的 HTTPS 数据。他们只能看到地址 —— www.google.com。实际的页面查找发生在 Google 的网络内部,隐藏在加密隧道中。
快速入门
大约 5 分钟。 你需要:
- 一个免费的 Google 账户(任何 Gmail 都可以)
- 一台电脑(Mac、Windows 或 Linux)
- Firefox 或 Chrome
第 1 步 — 创建 Google Apps Script(一次性操作)
- 前往 script.google.com,用你的 Google 账户登录
- 点击左上角的 New project
- 删除编辑器中的默认代码
- 打开本仓库中的文件
assets/apps_script/Code.gs,复制所有内容,粘贴到 Apps Script 编辑器中(替换原有代码) - 在文件顶部附近找到这一行:
将const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";CHANGE_ME_TO_A_STRONG_SECRET替换为你自己生成的长随机字符串。请保存这个字符串 —— 第 3 步需要粘贴到应用中。把它当作密码来保护。 - 点击 💾 Save(或
Ctrl/Cmd+S) - 点击 Deploy(右上角)→ New deployment
- 点击“Select type”旁边的齿轮图标 ⚙ → 选择 Web app
- 设置:
- Execute as: Me(你的 Google 账户)
- Who has access: Anyone
- 点击 Deploy。Google 可能会请求权限 —— 点击 Authorize access 并批准
- Google 会显示一个 Deployment ID(一长串随机字符串)。复制它 —— 第 3 步需要用到。
提示: 如果你以后更新了
Code.gs,不要创建新部署。编辑代码后,进入 Deploy → Manage deployments → ✏️ → Version: New version → Deploy。Deployment ID 保持不变。
第 2 步 — 下载 mhrv-rs
前往最新发布页面,下载适合你电脑的文件:
| 你的系统 | 下载此文件 |
|---|---|
| 搭载 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 |
Mac:不确定是 Apple Silicon 还是 Intel? 点击 → About This Mac。如果“芯片”显示 Apple,则下载 arm64 版本;如果显示 Intel,则下载 amd64 版本。
Linux:遇到
GLIBC错误? 改用linux-musl-amd64文件 —— 它无需依赖即可在任何 Linux 上运行。
解压文件。
第 3 步 — 首次运行
双击启动器:
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh(在终端中运行) |
首次运行时会要求输入你的电脑密码。这是为了安装一个小型证书,以便你的浏览器信任 mhrv-rs。此证书在你的电脑上生成,永远不会离开你的电脑 —— 没有云端、Google 或任何远程方可以使用它。
mhrv-rs 窗口打开。填写以下内容:
- Apps Script ID(s) → 粘贴第 1 步中的 Deployment ID
- Auth key → 粘贴你在
Code.gs中设置的一串随机字符 - 其他设置保持默认
点击 Save config,然后点击 Start。如果正常工作,状态圆圈会变成绿色。
测试一下: 点击 Test 按钮。它会通过中继发送一个请求,并告诉你是否成功。
第 4 步 — 让浏览器使用 mhrv-rs
Firefox(推荐 —— 最简单)
- Firefox → ☰ 菜单 → Settings
- 在搜索框中搜索“proxy”
- 在“Network Settings”下点击 Settings…
- 选择 Manual proxy configuration
- HTTP Proxy:
127.0.0.1端口:8085 - ☑ 勾选 “Also use this proxy for HTTPS”
- 点击 OK
Chrome / Edge
安装 Proxy SwitchyOmega 扩展,并将代理设置为 127.0.0.1:8085。
macOS(全局设置)
系统设置 → 网络 → Wi-Fi → 详细信息 → 代理 → 同时启用 Web Proxy (HTTP) 和 Secure Web Proxy (HTTPS),两者都指向 127.0.0.1:8085。
第 5 步 — 尝试访问
在浏览器中打开任意被屏蔽的网站。它应该能正常加载。
如果某个网站无法访问:
- 点击 mhrv-rs 窗口中的 Test 按钮 —— 它会指出哪个步骤失败了
- 查看窗口底部的 Recent log 面板
- 参见下面的常见问题
常见问题
这真的免费吗? 是的。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)。