
Portage en Rust du MasterHttpRelayVPN de @masterking32 — tout le crédit revient à @masterking32 pour l'idée originale et l'implémentation en Python. Contournement DPI gratuit via un relais Google Apps Script avec dissimulation TLS SNI. CLI + interface graphique de bureau multiplateforme, proxy HTTP + SOCKS5, aucune dépendance d'exécution.
Un petit programme qui s'exécute sur votre ordinateur et vous permet de visiter des sites bloqués gratuitement, en utilisant un Google Apps Script que vous déployez dans votre propre compte Google gratuit. Votre FAI ne voit qu'un trafic chiffré vers — il ne peut pas savoir ce que vous visitez réellement.
www.google.com🇬🇧 Guide de démarrage rapide en anglais · Guide complet (sujets avancés) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
۱. راهنمای تصویری راه اندازی به زبان فارسی (YouTube)
۲. راهنمای جامع متنی راه اندازی به زبان فارسی با تشکر از Kian Irani
vous → navigateur → mhrv-rs ──┐
│ Le FAI voit seulement : www.google.com
▼
Réseau de Google
│
▼
votre Apps Script gratuit récupère le vrai site
│
▼
Twitter / ChatGPT / site bloqué de votre choix
Les FAI ne peuvent pas lire à l'intérieur du HTTPS chiffré. Ils ne voient que l'adresse — www.google.com. La recherche réelle de la page se fait à l'intérieur du réseau de Google, cachée dans le tunnel chiffré.
Environ 5 minutes. Il vous faut :
assets/apps_script/Code.gs de ce dépôt, copiez tout son contenu, et collez-le dans l'éditeur Apps Script (en remplaçant ce qu'il y avait)const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";
CHANGE_ME_TO_A_STRONG_SECRET par une longue chaîne aléatoire de votre choix. Conservez cette chaîne — vous la collerez dans l'application à l'étape 3. Traitez-la comme un mot de passe.Ctrl/Cmd+S)Astuce : si vous mettez à jour
Code.gsplus tard, ne créez pas un nouveau déploiement. Modifiez le code, puis allez dans Déployer → Gérer les déploiements → ✏️ → Version : Nouvelle version → Déployer. L'ID de déploiement reste le même.
Rendez-vous sur la page de la dernière version et téléchargez le fichier correspondant à votre ordinateur :
| Vous êtes sur | Téléchargez ceci |
|---|---|
| Mac avec puce Apple Silicon (M1 / M2 / M3 / M4) | mhrv-rs-macos-arm64-app.zip |
| Mac avec puce 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 |
| Téléphone ou tablette Android | mhrv-rs-android-universal-v*.apk |
| Routeur OpenWRT ou Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
Mac : vous ne savez pas si c'est Apple Silicon ou Intel ? Cliquez sur → À propos de ce Mac. Si "Puce" indique Apple, prenez arm64. Si Intel, prenez amd64.
Linux : vous obtenez une erreur
GLIBC? Utilisez plutôt le fichierlinux-musl-amd64— il fonctionne sur n'importe quel Linux sans dépendances.
Décompressez-le.
Double-cliquez sur le lanceur :
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh (dans un terminal) |
La première fois, il demande votre mot de passe d'ordinateur. Ceci est nécessaire pour installer un petit certificat afin que votre navigateur fasse confiance à mhrv-rs. Le certificat est généré sur votre ordinateur et ne le quitte jamais — aucun cloud, aucun Google, rien à distance ne peut l'utiliser.
La fenêtre de mhrv-rs s'ouvre. Remplissez :
Code.gsCliquez sur Enregistrer la config, puis Démarrer. Le cercle d'état devient vert si cela fonctionne.
Testez-le : cliquez sur le bouton Tester. Il envoie une requête via le relais et vous indique si cela a fonctionné.
127.0.0.1 Port : 8085Installez l'extension Proxy SwitchyOmega et configurez le proxy sur 127.0.0.1:8085.
Paramètres système → Réseau → Wi-Fi → Détails → Proxies → activez à la fois Proxy Web (HTTP) et Proxy Web sécurisé (HTTPS), les deux pointant sur 127.0.0.1:8085.
Ouvrez n'importe quel site bloqué dans votre navigateur. Il devrait se charger.
Si quelque chose ne fonctionne pas :
Est-ce vraiment gratuit ? Oui. Google offre à chaque compte 20 000 récupérations d'URL sortantes par jour sur le niveau gratuit. C'est largement suffisant pour la navigation normale d'une seule personne. Pour une famille de 3 à 4 personnes partageant la même configuration, créez 2 à 3 déploiements dans différents comptes Google et ajoutez tous les ID.
Est-ce sûr ? Le certificat reste sur votre ordinateur — personne d'autre n'a la clé privée. Votre auth_key est votre secret. Google voit les sites web que vous visitez via le relais (car Apps Script les récupère pour vous) — comme tout proxy hébergé. Si cela ne vous convient pas, utilisez le mode Tunnel complet avec votre propre VPS — voir le guide complet.
Les vidéos YouTube ne se lancent pas. Les fragments vidéo de YouTube proviennent de googlevideo.com, inaccessible à Apps Script (Google bloque l'accès d'Apps Script à son propre CDN vidéo). La page elle-même se charge bien ; seule la lecture vidéo est affectée. Solution : Tunnel complet + VPS, ou ajoutez .googlevideo.com à passthrough_hosts dans votre configuration (le navigateur y accède directement, mais sur les FAI iraniens, il reste ralenti).
ChatGPT / Claude / Grok affiche un CAPTCHA Cloudflare. Cloudflare signale les adresses IP des datacenters Google comme des robots. Solution : configurez un nœud de sortie — un petit gestionnaire TypeScript que vous déployez sur un hébergeur serverless (Deno Deploy, fly.io, votre propre VPS) qui fait le pont entre Apps Script et votre nœud de sortie, puis vers claude.ai. Voir assets/exit_node/README.md.
Telegram est instable. Telegram utilise MTProto, qu'Apps Script ne comprend pas. Associez-le avec xray sur votre machine — voir Telegram via xray dans le guide complet.
Le FAI bloque script.google.com lui-même. mhrv-rs dispose d'un mode direct qui utilise uniquement le tunnel de réécriture SNI (sans Apps Script). Utilisez-le une fois pour accéder à script.google.com et déployer votre script, puis basculez en mode apps_script. Voir mode direct.
Ma recherche Google s'affiche sans JavaScript. Le User-Agent d'Apps Script est fixé à Google-Apps-Script (Google ne permet pas aux scripts de le changer), donc certains sites renvoient une version sans JS. Solution : ajoutez le domaine concerné à votre carte hosts pour qu'il passe par le tunnel de réécriture SNI avec votre vrai User-Agent de navigateur. google.com, youtube.com, fonts.googleapis.com sont déjà dans cette liste par défaut.
Plus de questions : FAQ complète dans le guide détaillé.
auth_key !), exactement ce que vous avez essayé, exactement ce que vous avez vu dans le journalProjet original : @masterking32/MasterHttpRelayVPN. L'idée, le protocole Apps Script, l'architecture proxy — tout lui appartient. Ce portage Rust existe pour faciliter la distribution côté client (un seul binaire, pas d'installation Python).
La majeure partie du code Rust de ce portage a été écrite avec Anthropic's Claude, et revue par un humain à chaque commit.
❤️ Faire un don sur sh1n.org — couvre les frais d'hébergement et de CI. Mettre une étoile au dépôt aide aussi à signaler que le projet mérite d'être maintenu.
یک برنامهٔ کوچک که روی کامپیوترت اجرا میشود و کمک میکند سایتهای مسدودشده را با یک اسکریپت رایگان که توی حساب گوگل خودت میسازی، باز کنی. ISP فقط میبیند که داری به www.google.com وصل میشوی — نمیفهمد در واقع چه سایتی را باز کردهای.
🇬🇧 English Quick Start · Full Guide (advanced) 🇮🇷 راهاندازی سریع · راهنمای کامل (پیشرفته)
تو ← مرورگر ← mhrv-rs ──┐
│ ISP فقط میبیند: www.google.com
▼
شبکهٔ گوگل
│
▼
اسکریپت رایگان گوگل تو سایت اصلی را باز میکند
│
▼
توییتر / ChatGPT / هر سایت مسدودی
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 است یا 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. ستاره دادن به ریپو هم نشان میدهد پروژه ارزش ادامه دادن دارد.
| سیستم تو | فایل دانلود |
|---|
| مک با تراشهٔ 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 |