Repository navigation
درخواست اضافه کردن قابلیت #299
Description
Activity
سلام @ahmadianehsan1 — سؤال خوبی هست. بذارید ۳ نکته جدا بدم:
۱. TUN mode در mhrv-rs (دسکتاپ)
نه، فعلاً پشتیبانی نداریم. mhrv-rs فقط یه proxy listener (SOCKS5/HTTP) هست. اضافه کردن TUN mode ویندوز نیاز داره به:
- WinTun driver integration (driver kernel-mode از Wireguard)
- tun2proxy port به ویندوز
این ~۱-۲ هفته کار هست + maintenance ongoing. v2rayN/Xray این رو خوب انجام میده، نیاز نمیبینم mhrv-rs duplicate کنه. Android فعلاً TUN mode داره (با VpnService) که برای موبایل ضروری بود.
۲. System Proxy (auto-set)
این هم نداریم. کاربر دستی System Settings → Network → Proxy رو ست میکنه. میتونیم اضافه کنیم — یه ۲۰-۳۰ خط کار بهازای هر OS هست (Windows registry edit، macOS scutil، Linux
gsettings). در roadmap track میکنم. v1.8.x اگه چندین کاربر بخوان.۳. passthrough_hosts (bypass list) — هم اکنون وجود داره ✅
این رو الان میتونید استفاده کنید. در
config.json:{ "passthrough_hosts": [ "your-broker-server.com", "*.metatrader.com", "192.168.1.0" ] }domains در این لیست از relay رد نمیشن — مستقیم direct TCP میرن. این برای MT5 یا هر app دیگری که میخواید از proxy رد نشه، عالی هست.
اگه میدونید سرور brokerتون چی هست (مثلاً
mt5.your-broker.comیا یه IP خاص)، اضافه کنید + restart mhrv-rs.
درباره مشکل اصلی شما (MT5 + v2rayN TUN mode + mhrv-rs):
تشخیص شما درست هست. feedback loop اتفاق میفته:
v2rayN TUN mode → captures ALL outbound traffic ↓ including mhrv-rs's own connect to script.google.com ↓ v2rayN routes that through mhrv-rs (your upstream) ↓ mhrv-rs tries to reach script.google.com ↓ v2rayN intercepts again ↓ loop / NET DROP۲ راهحل:
A. در v2rayN, mhrv-rs process رو از TUN capture exclude کنید
v2rayN settings (TUN mode tab):
- "Bypass" یا "Exclude apps" قسمت → اضافه کنید
mhrv-rs.exeیاmhrv-rs-ui.exe - این یعنی traffic mhrv-rs مستقیم میره (نه از TUN)
- بقیه appها (شامل MT5) از TUN رد میشن
اگه v2rayN exclude-by-app نداشت، میتونید route by IP کنید: traffic به
script.google.comرو exclude کنید (ولی این پیچیدهست چون آدرسها variable هستن).B. mhrv-rs بهجای upstream، direct routing
بهجای اینکه v2rayN از mhrv-rs استفاده کنه، mhrv-rs از v2rayN استفاده کنه:
- v2rayN رو با کانفیگ خودش راه بندازید (e.g. SOCKS5 listener روی
127.0.0.1:1080) - در mhrv-rs config:
{ "upstream_socks5": "127.0.0.1:1080" } - در MT5 و سایر apps، system proxy ست کنید روی
127.0.0.1:8085(HTTP) یا127.0.0.1:8086(SOCKS5) — یعنی به mhrv-rs اشاره کنه - v2rayN TUN mode رو خاموش کنید (نیازی نیست)
این الگو: mhrv-rs HTTP/HTTPS رو از Apps Script رد میکنه (سریع، چون apps_script HTTP-only)، non-HTTP traffic (مثل MT5 که FIX/MT5 protocol هست) از طریق upstream_socks5 = v2rayN → VPS تونل میشه. MT5 traffic از regular VPS path میگذره و broker میبینه IP خارج از ایران.
این الگو مزیتها:
- چیزی duplicate نمیشه
- HTTPS سریع از مسیر Apps Script (free)
- non-HTTP/MT5 از مسیر VPS (پولی، ولی فقط برای ترافیک خاص)
- هیچ feedback loop
خلاصه:
- mhrv-rs TUN mode دسکتاپ نخواهیم داشت (فعلاً) — v2rayN/Xray بهتر میکنه
passthrough_hostsرو الان امتحان کنید (راهحل ۳ سادهترین برای MT5)- اگه upstream_socks5 + v2rayN strategy بخوام، روش B بالا
System proxy auto-set رو ممکنه v1.8.x اضافه کنیم.
[reply via Anthropic Claude | reviewed by @therealaleph]
درود به شما ...ممنون که اینقدر پیگیر هستین ....چشم من الان تست میکنم نتیجشو اعلام میکنم
درود مجدد ...من از ۲ روش یکی بایپس و یکی ست کردن پروکس در خود اپ متاتریدر استفاده کردم ... وصل نشد. کانفیگ پولی جواب میده ....ولی هزینش بالاس .... ۱ میلیون برای سه چهار روز جوابه
درمورد مشکل لود ایکلاود میل و اضافه کردن چند اسکریپت ای دی هم سوال پرسیده بودم ...ممنون میشم پاسخ بدین
USE FULL MODE TO FIX ALL YOUR ISSUES
with full mode no need to install mitm cert etc .. you just need a cheap vps and a little bit network knowledge that's all
https://github.com/therealaleph/MasterHttpRelayVPN-RUST/tree/main/tunnel-node
@ahmadianehsan1 — جمعبندی نقاط مختلف:
۱. MT5 در apps_script mode — جواب نمیده، architecturally
تستهای شما (بایپس + proxy direct در MT5) درست بودن. علتش: MT5 از یه پروتکل بایناری اختصاصی روی TLS استفاده میکنه. mhrv-rs در apps_script mode میتونه HTTP/HTTPS رو tunnel کنه، ولی payload بایناری MT5 رو نه. Apps Script HTTP-only هست — وقتی mhrv-rs payload رو decrypt میکنه + میبینه HTTP نیست، میتونه فقط
raw-tcp directبفرسته که برای MT5 (که سرور broker در ایران فیلتر شده) fail میشه.w0l4i درست میگه — Full mode تنها راهحل MT5 هست. tunnel-node payload رو بدون decrypt مستقیم به VPS میفرسته، VPS به MT5 broker بدون فیلتر میرسه.
۲. کانفیگهای پولی ۱ میلیون / ۳-۴ روز:
اونها پولی هستن چون VPS با bandwidth زیاد + Iran-friendly payment + maintenance constant میخوان. هزینهشون reflect میکنه واقعیت بازار. Full mode mhrv-rs خیلی ارزونتر هست:
Path Cost MT5 work? کانفیگ پولی ~۱ میلیون / ۳-۴ روز = ~۸-۱۰ میلیون / ماه ✅ VPS Hetzner CX11 + Full mode ~۲۵۰،۰۰۰ تومان / ماه (با تبدیل ارز) ✅ Oracle Cloud Free Tier + Full mode ۰ (اگه کارت بینالمللی برای signup) ✅ پس برای MT5، یا Hetzner $5/month یا Oracle Free Tier راه عملی + ارزونتر از کانفیگ پولی هستن.
۳. iCloud Mail load نشدن
اگه در browser load نمیشه، احتمال زیاد Apple cert pinning داره روی iCloud domains. Apple security policy strict هست — وقتی mhrv-rs MITM میکنه، browser cert MITM رو میبینه (که cert pinning Apple expect نمیکنه) و درخواست reject میکنه.
Workaround: iCloud Mail رو به
passthrough_hostsاضافه کنید:{ "passthrough_hosts": [ "icloud.com", ".icloud.com", "mail.icloud.com", "p15-mail.icloud.com" ] }این یعنی iCloud traffic از MITM رد نمیشه — مستقیم direct TCP میره (با cert واقعی Apple). browser cert pinning OK میشه. Apps Script در مسیر نیست برای iCloud — این traffic رو بدون relay به سرورهای Apple میفرسته. اگه ISP شما Apple IP رو فیلتر نکرده، کار میکنه.
اگه ISP فیلتر کرده، با
upstream_socks5چارهسازی کنید (شما گفتید کانفیگ پولی دارید — اگه v2rayN local SOCKS5 میده، اون رو درupstream_socks5بذارید + iCloud direct از طریق اون egress میگذره).۴. اضافه کردن چند script ID
در
config.json:{ "deployment_ids": [ "AKfycbA...", "AKfycbB...", "AKfycbC...", "AKfycbD...", "AKfycbE..." ] }هر deployment روی یه اکانت Google جدا بسازید. mhrv-rs بین آنها round-robin میکنه (concurrency بیشتر + quota بیشتر). در نسخهٔ اندروید، paste چندتایی هم پشتیبانی میشه (newline یا comma یا semicolon separator). در دسکتاپ UI، فعلاً یکی یکی add کنید (تا v1.7.x که bulk paste اضافه بشه).
خلاصه: MT5 + iCloud + پایداری ⟶ Full mode + VPS بهترین investment. یه ماه Hetzner CX11 (~$5) امتحان کنید. اگه worth بود، ادامه بدید. اگه نبود، fall back به apps_script + کانفیگ پولی برای فقط MT5.
[reply via Anthropic Claude | reviewed by @therealaleph]
درود دوباره
ممنونم از وقتی که میزاریددر ویندوز اسکریپ ای دی ها رو چطوری اضافه کنم ...سوالم اینه که مگه هر اسکریپت ای دی پسورد ست نشده ....فقط یک جا برای گذاشتن پسورد هست اونم فقط برای اسکریپ ای دی اولی ....پسورد اسکرپت ای دی های بعدی رو چطوری اضافه کنیم
@ahmadianehsan1 — سوال خوبی هست. توضیح ساده:
یک auth_key برای همه deploymentها
مدل کار mhrv-rs اینه که شما یه AUTH_KEY انتخاب میکنید (یه string رندوم مثل
myKey123ABC) و همون مقدار رو در Code.gs همه deploymentها ست میکنید. mhrv-rs در config فقط یک auth_key field داره چون به همه deploymentها همون AUTH_KEY رو میفرسته.Setup workflow:
- یک AUTH_KEY انتخاب کنید:
myKey123ABC(هر چیزی random + ۱۲+ کاراکتر) - در Apps Script:
- Project 1: Code.gs paste → بالای فایل:
const AUTH_KEY = "myKey123ABC";→ Save → Deploy → ID copy میشه - Project 2: Code.gs paste → بالای فایل:
const AUTH_KEY = "myKey123ABC";(همون مقدار) → Save → Deploy → ID copy میشه - Project 3: Code.gs paste → بالای فایل:
const AUTH_KEY = "myKey123ABC";(همون مقدار) → Save → Deploy → ID copy میشه - ... و همینطور برای هر deployment
- Project 1: Code.gs paste → بالای فایل:
- در mhrv-rs
config.json:{ "auth_key": "myKey123ABC", "deployment_ids": [ "AKfycbA...", "AKfycbB...", "AKfycbC..." ] } - mhrv-rs همه ۳ deployment رو با همون
myKey123ABCمیفرسته. هر deployment که Code.gs اون با همون AUTH_KEY ست شده، authorized میگه. اگر Code.gs deployment با AUTH_KEY متفاوت ست شده، اون deploymentunauthorizedبرمیگردونه (و mhrv-rs اون رو blacklist میکنه).
نکته مهم: AUTH_KEY در Code.gs هر deployment باید با field auth_key در mhrv-rs match کنه. همه باید identical باشن.
اگر میخواید یه AUTH_KEY متفاوت در deployment ۲ بذارید، fundamental اعطای دو AUTH_KEY در config mhrv-rs نمیشه — schema فقط یک auth_key میپذیره. workaround تنها اینه که هر دو AUTH_KEY متفاوت رو در Code.gs دو deployment بذارید + mhrv-rs رو دو instance جداگانه run کنید (هر کدام با یک auth_key).
ولی توصیه نمیکنم. سادهترین + قویترین model: یک AUTH_KEY برای همه deploymentها. این یعنی:
- mhrv-rs single instance با list deployment IDها
- Round-robin بین deploymentها برای quota / parallelism بیشتر
- Failover خود به خود اگر یک deployment fail بشه (per feat(tunnel-client): blacklist deployments after sustained timeouts #319 v1.7.8 auto-blacklist)
معیار امنیتی:
اگر میخواید AUTH_KEY مختلف برای deploymentهای مختلف بذارید برای security (مثلاً اگر یکی leak شد بقیه safe باشن) — این نیاز نیست در عمل. AUTH_KEY شما در request body در حالت TLS هست + هرگز در URL نیست + در log Apps Script نیست. Leak شدنش نیاز به یا access به config mhrv-rs شما داره (که در آن صورت همه AUTH_KEYهای شما compromised هستن، چه single چه multi)، یا access به Code.gs شما (که نیاز به Google account access داره).
پس یک AUTH_KEY common برای همه deploymentها = simplest + functionally identical.
[reply via Anthropic Claude | reviewed by @therealaleph]
- یک AUTH_KEY انتخاب کنید:
درود دوباره بازم ممنون که پرسش هامو پاسخ میدین
سرور پولی اگه بخوام تهیه کنم از کجا تهیه بکنم برای fuul mode و آیا پرداخت کریپتو دارن ...چون کارت بانکی بین المللی ندارم من برای پرداخت هزینه سرور
درمورد بایپس کردن نرم افزار mhrv-rs تونستم با این تنظیمات بایپس کنم که دیگه در حالت تیون مد کلوز لوپ درست نشه و کل سیستم در حالت تیون با برنامه ی mhrv قرار بگیره
در کلاینت throne برید به تنظیمات rout بعد روی سربرگ route کلیک کنید و در پایین نیو رو بزنید یه پنجره باز میشه ...اسم دلخواه هست ....رول رو بزارید روی پروکسی و در کادر دایرکت هر نرم افزار ویا ای پی رو میتونید قرار بدید به فرمت توی عکس ...بعد از دونقطه نباید فاصله باشه
ولی متاسفانه متاتریدر وصل نشد نمیدونم مشکل از کجاس




فعلاً این issue را میبندم چون بیش از ۷ روز از آخرین پیگیری گزارشدهنده اصلی گذشته و ادامهی مشخصی برای بررسی نمانده.
اگر هنوز روی آخرین نسخه نیاز به پیگیری دارد، لطفاً همینجا دوباره کامنت بگذارید یا issue را reopen کنید و وضعیت فعلی، نسخه، mode و جزئیات جدید را بفرستید.
Answered via LLM, Supervised @therealaleph

درود بیکران
سپاس فراوان به خاطر این پروژه
ممنون میشم که قابلیت <تیون مد> و قابلیت <پروکسی سیستم > و قابلیت <بایپس کردن اپها و وب سایت ها> رو به برنامه اضافه کنید
این حالت در کلاینت های ترون و ویتوری ان؛ در ویندوز تنها راه اتصال متاتریدر۵ به سرورهای بروکر هست
حالت <پروکسی مود> در این دو تا کلاینت همه چی رو تونل میکنه الا متاتریدر
به محض این که با کانفیگ پولی حالت <تیون مد> فعال میشه متاتریدر وصل میشه
من دوتا پروکسی ایجاد شده توسط برنامه پروژه ی شما رو به این دوتا کلاینت یعنی ترون و وی تو ری ان اضافه میکنم در حالت <پروکسی سیستم> براوزر و اکثر اپ ها به اینترنت آزاد متصل میشن جز متاتریدر ۵ . حالت <تیون مد> رو که فعال میکنم برای اتصال متاتریدر ۵ ؛ اینترنت به طور کامل قطع میشه ./..حدس من این هست که در حالت تیون برنامه شما هم با اون دوتا پروکسی تونل میشه و همین باعث قطع شدن نت هست .....دنبال کلاینتی گشتم که حالت بای پس داشته باشه که برنامه شما رو بای پس کنه ولی پیدا نکردم
الان درخواستم اینه که به برنامه حالت تیون مد و حالت پروکس سیستم رو اضافه کنید این طوری من میتونم به متاتریدر متصل بشم .
با این کار یوزر ها هم دیگه لازمم نیست روی براوزرشون اکستنشن اضافه کنن و. یا از کلاینت دیگه ای برای تونل سیستم به وصیله پروکسی های ایجاد شده توسط برنامه شما ؛ استفاده بکنن
پروکس ها رو هم دستی به متاتریدر وارد کردم هم ساکس و هم اچ تی تی پی ...متصل نمیشه
سوالی که دارم هم اینه که وقتی به برنامه چندین اسکریپت ای دی اضافه میکنیم برای افزایش سرعت و مدت اتصال ....جایی برای اضافه کردن پسوردها نیست چجوریه درکل
مگه اسکریپت ای دی ها پسورد هم لازم ندارن پس چرا جایی برای اضافه کردن پسورد برای تمام اسکریپت ای دی ها وجود نداره؟ ممنون میشم راهنمایی کنید
سرویس ایکلاد اخطار میده و قسمتی گذاشتید برای دیدن مقدار درخواست ها اون اخطار میده تمام اسکرین دشات های لازم پیوست میشن
سیستم من ویندوز ۱۱
22H2
بیلد نامبر 22621.963