
MasterHttpRelayVPN-RUST v1.9.37
Порт на Rust от @masterking32's MasterHttpRelayVPN — вся заслуга @masterking32 за оригинальную идею и реализацию на Python. Бесплатный обход DPI через ретранслятор Google Apps Script со скрытием TLS SNI. CLI + кроссплатформенный графический интерфейс, HTTP + SOCKS5 прокси, без зависимостей времени выполнения.
mhrv-rs — обход цензуры бесплатно, с вашим собственным аккаунтом Google
Небольшая программа, которая запускается на вашем компьютере и позволяет бесплатно посещать заблокированные сайты, используя Google Apps Script, развёрнутый в вашем бесплатном аккаунте Google. Ваш провайдер видит только зашифрованный трафик до www.google.com — он не может определить, что вы на самом деле посещаете.
🇬🇧 English Quick Start · Full Guide (advanced topics) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
۱. راهنمای تصویری راه اندازی به زبان فارسی (YouTube)
۲. راهنمای جامع متنی راه اندازی به زبان فارسی با تشکر از Kian Irani
Что вы получаете
- 🌐 Обход DPI / блокировки SNI с использованием граничных сетей Google в качестве ретранслятора
- 💯 Полностью бесплатно — работает на бесплатном тарифе вашего собственного аккаунта Google
- ⚡ Один небольшой файл (~3 МБ), не требуется Python, Node.js или других зависимостей
- 🖥️ Работает на Mac, Windows, Linux, Android, роутерах OpenWRT
- 🦊 Любой браузер или приложение, поддерживающее HTTP-прокси или SOCKS5
Как это работает (упрощённая схема)
вы → браузер → mhrv-rs ──┐
│ Провайдер видит только: www.google.com
▼
Сеть Google
│
▼
ваш бесплатный Apps Script загружает реальный сайт
│
▼
Twitter / ChatGPT / любой заблокированный сайт
Провайдеры не могут прочитать содержимое зашифрованного 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
Перейдите на страницу последнего релиза и скачайте файл для вашего компьютера:
| Ваша система | Скачать этот файл |
|---|---|
| Mac с чипом Apple Silicon (M1 / M2 / M3 / M4) | mhrv-rs-macos-arm64-app.zip |
| Mac с чипом 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 |
| Телефон или планшет Android | mhrv-rs-android-universal-v*.apk |
| Роутер OpenWRT или Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
Mac: не уверены, Apple Silicon или Intel? Нажмите → About This Mac. Если в строке «Chip» указано 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) — вставьте Deployment ID с шага 1
- Auth key — вставьте случайную строку, которую вы задали в
Code.gs - Остальные параметры оставьте по умолчанию
Нажмите Save config, затем Start. Если всё работает, индикатор состояния станет зелёным.
Проверьте: нажмите кнопку Test. Она отправляет один запрос через ретранслятор и сообщает, успешно ли он выполнен.
Шаг 4 — Настройка браузера на использование mhrv-rs
Firefox (рекомендуется, проще всего)
- Firefox → меню ☰ → Settings
- Введите «proxy» в строке поиска
- Нажмите Settings… в разделе Network 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 (системный прокси)
System Settings → Network → Wi-Fi → Details → Proxies → включите оба Web Proxy (HTTP) и Secure Web Proxy (HTTPS), оба указывают на 127.0.0.1:8085.
Шаг 5 — Проверка
Откройте любой заблокированный сайт в браузере. Он должен загрузиться.
Если что-то не работает:
- Нажмите Test в окне mhrv-rs — он точно укажет, на каком этапе возникла проблема
- Посмотрите панель Recent log внизу окна
- См. раздел Часто задаваемые вопросы ниже
Часто задаваемые вопросы
Это действительно бесплатно? Да. Google предоставляет каждому аккаунту 20 000 исходящих запросов URL в день на бесплатном тарифе. Этого достаточно для обычного серфинга одного человека. Для семьи из 3–4 человек, использующих одну настройку, создайте 2–3 деплоя в разных аккаунтах Google и добавьте все их ID.
Безопасно ли это? Сертификат остаётся на вашем компьютере — никто другой не имеет к нему доступа. Ваш auth_key — это ваш секрет. Google видит сайты, которые вы посещаете через ретранслятор (так как Apps Script запрашивает их от вашего имени) — как и в случае с любым хостируемым прокси. Если вас это не устраивает, используйте режим Full Tunnel с собственным VPS — см. полное руководство.
Видео на YouTube не воспроизводятся. Видеофрагменты YouTube поступают с googlevideo.com, к которому Apps Script не может обратиться (Google блокирует доступ Apps Script к собственному видеохостингу). Сама страница загружается нормально; проблема только с воспроизведением видео. Решение: Full Tunnel + VPS, или добавьте .googlevideo.com в passthrough_hosts в вашей конфигурации (браузер будет обращаться к нему напрямую, но на провайдерах Ирана это всё равно может быть заторможено).
ChatGPT / Claude / Grok показывает капчу Cloudflare. Cloudflare помечает IP-адреса датацентров Google как ботов. Решение: настройте exit node — небольшой обработчик на TypeScript, развёрнутый на бессерверном хостинге (Deno Deploy, fly.io, ваш собственный VPS), который станет мостом от Apps Script к целевому сайту. См. assets/exit_node/README.md.
Telegram работает нестабильно. Telegram использует MTProto, который Apps Script не поддерживает. Объедините mhrv-rs с xray на вашем компьютере — см. Telegram через xray в полном руководстве.
Провайдер блокирует сам script.google.com. mhrv-rs имеет режим direct, который использует только туннель с перезаписью SNI (без Apps Script). Воспользуйтесь им один раз, чтобы открыть script.google.com и развернуть скрипт, затем переключитесь обратно в режим apps_script. См. режим direct.
Поиск Google отображается без JavaScript. У Apps Script фиксированный User-Agent — Google-Apps-Script (Google не позволяет скриптам его менять), поэтому некоторые сайты возвращают упрощённую версию без JS. Решение: добавьте проблемный домен в вашу карту hosts, чтобы он шёл через туннель с перезаписью SNI и настоящим User-Agent вашего браузера. google.com, youtube.com, fonts.googleapis.com уже включены в этот список по умолчанию.
Больше вопросов: полный FAQ в подробном руководстве.
Нужна помощь?
- Поищите в открытых и закрытых issue — возможно, ваша проблема уже решена
- Откройте новый issue с указанием: вашей конфигурации (обязательно скройте
auth_key!), что именно вы пробовали и что именно увидели в логах
Авторы
Оригинальный проект: @masterking32/MasterHttpRelayVPN. Идея, протокол Apps Script, архитектура прокси — всё его. Этот порт на Rust сделан для упрощения распространения клиентской части (один бинарный файл, не требуется установка Python).
Большая часть кода на Rust в этом порте была написана с помощью Claude от Anthropic и проверена человеком в каждом коммите.
Поддержать проект
❤️ Пожертвовать на sh1n.org — покрывает расходы на хостинг и CI-раннеры. Постановка звезды репозиторию также помогает показать, что проект стоит поддерживать.
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. ستاره دادن به ریپو هم نشان میدهد پروژه ارزش ادامه دادن دارد.