therealaleph/MasterHttpRelayVPN-RUST
Rust port of @masterking32's MasterHttpRelayVPN — all credit to @masterking32 for the original idea and Python implementation. Free DPI bypass via a Google Apps Script relay with TLS SNI concealment. CLI + cross-platform desktop UI, HTTP + SOCKS5 proxy, no runtime deps.
View Origin LinkProduct Positioning & Context
Related Ecosystem & Alternatives
Discover adjacent products, open-source repositories, and developer tools sharing similar technical architecture.
Deep-Dive FAQs
What is therealaleph/MasterHttpRelayVPN-RUST?
Where did therealaleph/MasterHttpRelayVPN-RUST originate?
When was therealaleph/MasterHttpRelayVPN-RUST publicly launched?
How popular is therealaleph/MasterHttpRelayVPN-RUST?
Which technical categories define therealaleph/MasterHttpRelayVPN-RUST?
Are there active development issues for therealaleph/MasterHttpRelayVPN-RUST?
Are there open-source alternatives related to therealaleph/MasterHttpRelayVPN-RUST?
How does the creator describe therealaleph/MasterHttpRelayVPN-RUST?
Active Developer Issues (GitHub)
Community Voice & Feedback
1.I have 10 deployment id's prepared in config
2. -
3.
```
2026-04-28T09:40:27.994816Z ERROR tunnel connect_data error for push.services.mozilla.com:443: timeout
2026-04-28T09:40:28.206672Z INFO batch: 1 ops → AKfycbx8, rtt=1.957s
2026-04-28T09:40:29.920784Z INFO batch: 1 ops → AKfycbw-, rtt=2.309528s
2026-04-28T09:40:29.920820Z INFO tunnel session 05cd0e06-d51c-406e-b002-d042db4b73a8 opened for www.google.com:443
2026-04-28T09:40:29.920913Z INFO tunnel session 05cd0e06-d51c-406e-b002-d042db4b73a8 closed for www.google.com:443
2026-04-28T09:40:30.105784Z INFO batch: 1 ops → AKfycbx7, rtt=4.1145918s
2026-04-28T09:40:30.357419Z INFO batch: 1 ops → AKfycbxO, rtt=2.5775417s
2026-04-28T09:40:30.539721Z INFO dispatch check-host.net:443 -> full tunnel (via batch mux)
2026-04-28T09:40:30.801887Z INFO batch: 1 ops → AKfycbwj, rtt=2.5736677s
2026-04-28T09:40:30.801900Z WARN batch failed: bad response: no json in batch response: ...
**برای بیرون رفتن از intranet block خاص شما:**
**۱. اگه intranet از mhrv-rs Tunnel mode میگذرونه:** دیگه intranet بلاک Apps Script رو نمیبینه (mhrv-rs خودش traffic رو از Google IP redirect میکنه + اون Google IP عمدتاً در intranet allowed list هست).
**۲. اگه intranet کلاً Google traffic رو هم بلاک میکنه** (nuclear option توسط admin شبکه): mhrv-rs کار نمیکنه چون mhrv-rs نیاز به دسترسی به Google داره. در این صورت باید از mobile data (LTE/5G گوشی) استفاده کنید + از mhrv-rs نه از intranet.
**در ضمن — درباره فیلم آموزشی:**
[@kanan-droid](https://github.com/kanan-droid) داره روی فیلم آموزشی کار میکنه (اعلام کرد "تا عصری آماده میشه" در [#392 comment](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/392#issuecomment-...) قبلی). اون میتونه عمدت...
**۱. v1.8.0 random padding overhead:**
v1.8.0 یک `_pad` field random length 0-1024 byte به هر request اضافه میکنه (DPI defense). متوسط ~512 byte اضافی per batch. روی batchهای ~۲ KB، این یعنی **+25% bandwidth + processing** per request. در شرایط Iran ISP throttle، این 25% میتونه difference بین "slow but works" و "timeout" باشه.
**Test کنید:** v1.7.11 رو موقتاً نصب کنید (آخرین نسخه قبل v1.8.0):
-
- Compare همان workload روی v1.7.11 vs v1.8.0
- اگه v1.7.11 سریعتر = padding overhead قابل تشخیص. اگه same = علت دیگه.
اگه padding بد effect داره، میتونیم در v1.8.x flag config برای disable کردن padding اضافه کنیم (default true ولی override).
**۲. v1.7.8's auto-blacklist بیش از حد aggressive:**
deploymen...
نکته ای که هست اینه که سرعت لود بسیار پایینتر اومده اما همچنان میتونه لود کنه بعضی از ریکوست هارو و کامل از کار نیوفتاده تانل پس نمیشه گفت که مشکل از کانفیگ و یا credentials هست
بخشی از لاگ مربوطه :
```
2026-04-28T09:24:06.521078Z INFO dispatch signaler-pa.youtube.com:443 -> full tunnel (via batch mux)
2026-04-28T09:24:06.534895Z INFO batch: 1 ops → AKfycbxO, rtt=470.2µs
2026-04-28T09:24:06.534908Z WARN batch failed: io: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof
2026-04-28T09:24:06.534922Z ERROR tunnel connect_data error for signaler-pa.youtube.com:443: io: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof
2026-04-28T09:24:07.538689Z INFO dispatch signaler-pa.youtube.com:443 -> full tunnel (via ba...
اونم لطفن تو فیلم اموزشی بزارید
مو به مو اجرا شد هم برای tunnel auth key
و هم برای auth key
ولی همون ارور دریافت شد
(متاسفانه بخاطر مشقت های کار با ترمیوس در اندروید موقع اجرای دستور دیباگ کرش میکنه و عذاب میده ولی مو به مو اجرا کردم)
ایا امکان اموزش ویدیویی یا ویسی هست؟
یا چه کار دیگه ای میشه کرد؟
در ضمن ، اسکریپت در حالات دیگه بجز تانل اجرا میشه بدون مشکل
و همه سایت ها تحت وب باز میشن با همین اسکریپتی که ساختم برای تانل
تمام مواردی که توی مشکلات دیگران بود رو هم چک کردم
حتی ورژن دیپلای و ...
- Pin it in the Telegram channel (https://t.me/mhrv_rs) so users see it on first visit
- Cross-link from the main README under a "Tutorials" or "راهنمای تصویری" section
- Reciprocally, point new beginner-level issues at the video instead of typing setup walkthroughs
Tip if you want it to render well from inside Iran: Telegram-native video upload (the in-channel video player works without a separate hosting service) avoids the YouTube + Aparat filter risks. If your video is too long for Telegram (~2 GB hard cap), Aparat is the next-best Iran-accessible option.
If you cover these 5 setup flows in the video (matching the most-frequent issue patterns), it'll deflect ~50% of the support volume:
1. **Apps Script setup** end-to-end on desktop (browser → script.google.com → New Project → paste Code.gs → AUTH_KEY → Deploy → New deployment → Web app → Anyone access → copy deployment ID)
2. **mhrv-rs Windows inst...
**۱. مستندات موجود:**
- **مستندات tunnel-node فارسی:**
- **مستندات Android فارسی:**
- **راهنمای کامل VPS Persian:** [#310 reply](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/310#issuecomment-4326086988)
**۲. کانال Telegram (داخل ایران معمولاً قابل دسترس هست با MTProto Proxy):**
- کانال فایلها:
- لینک invite:
در کانال علاوه بر فایلها، گاهی کاربران screenshot setup خودشون رو share میکنن.
**۳. landing page در حال توسعه:**
@TahaMjp در [#384](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/384) داره یه landing page روی GitHub Pages میسازه که screenshotها + step-by-ste...
**۱. AUTH_KEY mismatch** (بین mhrv-rs config ↔ CodeFull.gs در Apps Script)
**۲. TUNNEL_AUTH_KEY mismatch** (بین CodeFull.gs ↔ tunnel-node container env var) — **این بیشتر شایع هست از علت ۱**
علت TUNNEL_AUTH_KEY: متغیر محیطی tunnel-node container `TUNNEL_AUTH_KEY` هست. ولی برخی منابع docs اشتباهاً `MHRV_AUTH_KEY` نوشتن. اگر شما با `-e MHRV_AUTH_KEY=...` در docker run setup کردید، اون env ignore میشه + tunnel-node default `changeme` رو بهعنوان TUNNEL_AUTH_KEY فرض میکنه. CodeFull.gs شما `TUNNEL_AUTH_KEY="your-real-key"` داره، که match نمیکنه با container's `changeme` → tunnel-node decoy nginx-404 برمیگردونه → CodeFull.gs اون رو میخونه + میبینه JSON نیست → exception → response array empty یا null → mhrv-rs میگه "No json in batch response".
**Fix در ۳ مرحله:**
**۱. در CodeFull.gs (روی script.google.com):**
...
**علت:** account گوگل که Apps Script شما روی اون deploy شده، یک **Google Workspace account** هست (نه Gmail شخصی) + admin اون Workspace روی YouTube content restrictions فعال کرده.
**Fix در ۵ دقیقه:**
1. **یک account Gmail شخصی استفاده کنید** (نه Workspace):
- → اگه account شخصی موجود ندارید، یکی بسازید (شماره خانواده/دوست خارج از ایران اگه شماره ایرانی reject میشه)
- اگه account شخصی دارید، با اون login کنید
2. **روی اون account جدید Apps Script setup کنید:**
- با account شخصی باز کنید
- New Project → Code.gs paste → AUTH_KEY ست → Save → Deploy → Web app → Anyone access → Depl...
درباره اینکه چرا تقریبا تمام سایت ها Relay error: timeout میدن, نمیدونم چه کاری میتونم بکنم و مشکل از چی هست. متاسفانه امکان گرفتن VPS هم نیست. توانایی راه اندازیش رو ندارم
اما درباره خود یوتیوب؛ یه چیز رو تست کردم که فکر میکنم بخاطر همون ویدئوها رو نشون نمیده
برای تست؛ از طریق سرچ گوگل یک ویدئو از کانالهایی که ویدئوهاشون نشون داده نمیشه رو تست کردم.
با ارور Video unavailable This video is restricted. Please check the Google Workspace administrator and/or the network administrator restrictions. مواجه شدم.
روی اکانت که کلیک میکنم؛ گزینه Restricted Mode خودش روشن هست (به صورت خاکستری)
وقتی روش کلیک میکنم که بخوام خاموشش کنم, امکان تغییر وجود نداره و فقط یه پیام نوشته شده: Turned on by your network administrator to help hide potentially mature videos.
این اکانت, اکانت همیشگیم هست و قبلا مشکلی با دیدن ویدئو ها نداشتم.
ادیت: الان نگاه کردم؛ حتی SafeSearch گوگل هم فعال شده
You can't change your SafeSearch setting at the moment because someone else,...
```
ERROR tunnel connect_data error for X:443: missing response in batch
batch failed: timeout (10-11s RTT)
```
**`missing response in batch`** = mhrv-rs یک batch با N op فرستاد، Apps Script با response array کمتر از N entry برگشت — یعنی `_doTunnelBatch` در CodeFull.gs نتونست همه opها رو process کنه. یا اونکه Apps Script timeout میگیره قبل از پاسخ کامل tunnel-node.
**شما درست حدس زدید — TUNNEL_AUTH_KEY بسیار محتمل علت اصلی است.** این کلید جداست از AUTH_KEY شما:
| کلید | بین | هدف |
|---|---|---|
| `AUTH_KEY` | mhrv-rs (clientshow) ↔ Apps Script | احراز هویت کاربر شما |
| `TUNNEL_AUTH_KEY` | Apps Script ↔ tunnel-node | احراز هویت Apps Script در VPS شما |
اگه `TUNNEL_AUTH_KEY` در CodeFull.gs با `TUNNEL_AUTH_KEY` در tunnel-node container match نکنه:
- در v1.8.0 tunnel-node decoy 404 nginx برمیگرد...
>
> ```
> WARN batch failed: bad response: no json in batch response:
> Web App
> The script completed but did not return anything.
> ```
>
> **این HTML دقیقاً decoy ای هست که در v1.8.0 برای active-probing defense اضافه شد.** Code.gs شما این decoy رو وقتی برمیگردونه که AUTH_KEY که mhrv-rs میفرسته، با AUTH_KEY در Code.gs match نکنه.
>
> پس **علت قطعی:** AUTH_KEY mismatch بین config mhrv-rs شما + Code.gs deployment.
>
> **Fix در ۳ مرحله:**
>
> **۱. AUTH_KEY واقعی deployment رو پیدا کنید:**
>
> * به https://script.google.com بروید + پروژه رو باز کنید
> * در بالای فایل Code.gs (یا CodeFull.gs)، خطی شبیه این:
> const AUTH_KEY = "your-secret-here";
> * مقدار `your-secret-here` رو کپی کنید (دقیق، شامل همه کاراکترها بدون فاصله ابتدا/انتها)
>
> **۲. AUTH_KEY در config mhrv-rs رو بررسی کنید:**
>
> `%APPDATA%\mhrv-rs\conf...
```
WARN batch failed: bad response: no json in batch response:
Web App
The script completed but did not return anything.
```
**این HTML دقیقاً decoy ای هست که در v1.8.0 برای active-probing defense اضافه شد.** Code.gs شما این decoy رو وقتی برمیگردونه که AUTH_KEY که mhrv-rs میفرسته، با AUTH_KEY در Code.gs match نکنه.
پس **علت قطعی:** AUTH_KEY mismatch بین config mhrv-rs شما + Code.gs deployment.
**Fix در ۳ مرحله:**
**۱. AUTH_KEY واقعی deployment رو پیدا کنید:**
- به https://script.google.com بروید + پروژه رو باز کنید
- در بالای فایل Code.gs (یا CodeFull.gs)، خطی شبیه این:
```js
const AUTH_KEY = "your-secret-here";
```
- مقدار `your-secret-here` رو کپی کنید (دقیق، شامل همه کاراکترها بدون فاصله ابتدا/انتها)
**۲. AUTH_KEY در config mhrv-rs رو بررسی کنید:**
`%APPDATA%\mhrv-rs\config\config.json` (روی ویندوز شما، با توجه به path در log) باز کنید. خط:...
Discovery Source
GitHub Open Source Aggregated via automated community intelligence tracking.
Tech Stack Dependencies
No direct open-source NPM package mentions detected in the product documentation.
Media Tractions & Mentions
No mainstream media stories specifically mentioning this product name have been intercepted yet.
Deep Research & Science
No direct peer-reviewed scientific literature matched with this product's architecture.
SaaS Metrics