Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 3.49 KB

File metadata and controls

58 lines (45 loc) · 3.49 KB

معماری

MasterHttpRelayVPN از یک پراکسی محلی و یک relay که کاربر deploy می‌کند ساخته شده است.

مسیر ساده

Browser یا app
  -> HTTP/SOCKS5 proxy محلی
  -> اتصال TLS fronted به سمت Google
  -> Apps Script relay
  -> سایت مقصد

شبکه یک اتصال شبیه Google می‌بیند. URL واقعی مقصد داخل ترافیک رمزگذاری‌شده به relay فرستاده می‌شود.

بخش‌های اصلی

فایل یا پوشه کاربرد
main.py نقطه ورود CLI. config را می‌خواند، دستورهای certificate را اجرا می‌کند، و proxy را شروع می‌کند.
setup.py wizard تعاملی که config.json می‌سازد.
start.bat لانچر Windows. venv می‌سازد، dependency نصب می‌کند، setup را اجرا می‌کند، و proxy را بالا می‌آورد.
start.sh لانچر Linux/macOS با همین نقش.
config.example.json نمونه کانفیگ و پیش‌فرض‌ها.
apps_script/Code.gs رله Google Apps Script که کاربر deploy می‌کند.
src/proxy/proxy_server.py HTTP CONNECT، مسیرهای MITM، SOCKS5، و تصمیم‌های مربوط به host policy.
src/proxy/mitm.py CA محلی و certificate های ساخته‌شده برای سایت‌ها.
src/relay/domain_fronter.py کلاینت Apps Script relay، batch، retry، و انتخاب transport H1/H2.
src/relay/h2_transport.py transport اختیاری HTTP/2 برای multiplexing.
src/core/cert_installer.py نصب و حذف CA برای سیستم‌عامل و Firefox.
src/core/google_ip_scanner.py اسکنر IPهای Google برای python main.py --scan.

پردازش درخواست

  • مرورگر ترافیک HTTP یا HTTPS proxy را به 127.0.0.1:8085 می‌فرستد.
  • برای HTTPS، proxy می‌تواند با CA تولیدشده MITM محلی انجام دهد.
  • قوانین host مشخص می‌کنند درخواست مستقیم، blocked، bypass، یا relayed باشد.
  • درخواست‌های relayed به JSON برای Apps Script تبدیل می‌شوند.
  • Apps Script مقصد را fetch می‌کند و پاسخ HTTP سریال‌شده برمی‌گرداند.
  • پراکسی محلی پاسخ HTTP را برای مرورگر بازسازی می‌کند.

امکانات کارایی

  • pool گرم اتصال TLS برای fallback H1.
  • HTTP/2 multiplexing وقتی package h2 نصب باشد.
  • batch کردن درخواست‌های static در burst ها.
  • چند script_ids اختیاری برای load balancing.
  • دانلود موازی range برای فایل‌های بزرگ.
  • Exit Node اختیاری برای مقصدهایی که خروجی Google را مسدود می‌کنند.

مسیر Exit Node

Browser -> Local proxy -> Apps Script -> Exit node -> Target website

Exit Node می‌تواند روی Cloudflare Workers، Deno Deploy، یا VPS اجرا شود. راهنمای Exit Node را ببینید.