
MasterHttpRelayVPN-RUST v1.9.37
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.
mhrv-rs — contourner la censure gratuitement, avec votre propre compte Google
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 www.google.com — il ne peut pas savoir ce que vous visitez réellement.
🇬🇧 Guide de démarrage rapide en anglais · Guide complet (sujets avancés) 🇮🇷 راهاندازی سریع فارسی · راهنمای کامل (مباحث پیشرفته)
۱. راهنمای تصویری راه اندازی به زبان فارسی (YouTube)
۲. راهنمای جامع متنی راه اندازی به زبان فارسی با تشکر از Kian Irani
Ce que vous obtenez
- 🌐 Contourne le blocage DPI/SNI en utilisant le bord de Google comme relais
- 💯 Entièrement gratuit — fonctionne sur le niveau gratuit de votre propre compte Google
- ⚡ Un seul petit fichier (~3 Mo), pas de Python, pas de Node.js, pas de dépendances
- 🖥️ Fonctionne sur Mac, Windows, Linux, Android, routeurs OpenWRT
- 🦊 Tout navigateur ou application supportant un proxy HTTP ou SOCKS5
Comment ça marche (vue simplifiée)
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é.
Démarrage rapide
Environ 5 minutes. Il vous faut :
- Un compte Google gratuit (n'importe quel Gmail fonctionne)
- Un ordinateur (Mac, Windows ou Linux)
- Firefox ou Chrome
Étape 1 — Créer le Google Apps Script (une fois)
- Allez sur script.google.com et connectez-vous avec votre compte Google
- Cliquez sur Nouveau projet en haut à gauche
- Supprimez le code par défaut dans l'éditeur
- Ouvrez le fichier
assets/apps_script/Code.gsde ce dépôt, copiez tout son contenu, et collez-le dans l'éditeur Apps Script (en remplaçant ce qu'il y avait) - Trouvez cette ligne près du haut :
Remplacez
const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";CHANGE_ME_TO_A_STRONG_SECRETpar 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. - Cliquez sur 💾 Enregistrer (ou
Ctrl/Cmd+S) - Cliquez sur Déployer (en haut à droite) → Nouveau déploiement
- Cliquez sur l'icône d'engrenage ⚙ à côté de "Sélectionner le type" → choisissez Application Web
- Définissez :
- Exécuter en tant que : Moi (votre compte Google)
- Qui a accès : Tout le monde
- Cliquez sur Déployer. Google peut demander des autorisations — cliquez sur Autoriser l'accès et approuvez
- Google affiche un ID de déploiement (une longue chaîne aléatoire). Copiez-le — vous en aurez besoin à l'étape 3.
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.
Étape 2 — Télécharger mhrv-rs
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.
Étape 3 — Premier lancement
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 :
- Apps Script ID(s) → collez l'ID de déploiement de l'étape 1
- Auth key → collez la chaîne aléatoire que vous avez mise dans
Code.gs - Laissez tout le reste par défaut
Cliquez 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é.
Étape 4 — Configurer votre navigateur pour utiliser mhrv-rs
Firefox (recommandé — le plus simple)
- Firefox → menu ☰ → Paramètres
- Recherchez "proxy" dans la zone de recherche
- Cliquez sur Paramètres… sous Paramètres réseau
- Choisissez Configuration manuelle du proxy
- Proxy HTTP :
127.0.0.1Port :8085 - ☑ Cochez "Utiliser aussi ce proxy pour HTTPS"
- Cliquez sur OK
Chrome / Edge
Installez l'extension Proxy SwitchyOmega et configurez le proxy sur 127.0.0.1:8085.
macOS (système entier)
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.
Étape 5 — Essayez-le
Ouvrez n'importe quel site bloqué dans votre navigateur. Il devrait se charger.
Si quelque chose ne fonctionne pas :
- Cliquez sur Tester dans la fenêtre de mhrv-rs — cela identifie l'étape qui échoue
- Regardez le panneau Journal récent en bas de la fenêtre
- Consultez la section Questions courantes ci-dessous
Questions courantes
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é.
Besoin d'aide ?
- Recherchez dans les problèmes ouverts et fermés — votre problème a peut-être déjà une réponse
- Ouvrez un nouveau problème avec : votre configuration (masquez
auth_key!), exactement ce que vous avez essayé, exactement ce que vous avez vu dans le journal
Crédits
Projet 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.
Soutenir ce projet
❤️ 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.
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. ستاره دادن به ریپو هم نشان میدهد پروژه ارزش ادامه دادن دارد.