mirror of
https://github.com/masterking32/MasterHttpRelayVPN.git
synced 2026-05-18 06:34:40 +03:00
Add comprehensive documentation for MasterHttpRelayVPN
- Introduced ARCHITECTURE.md to outline the system architecture and flow. - Created CONFIGURATION.md detailing configuration options and their meanings. - Added DOCKER.md for Docker setup instructions and usage. - Developed GETTING_STARTED.md to guide users through initial setup and usage. - Included LAN_SHARING.md to explain how to enable LAN sharing for the proxy. - Established SECURITY.md to highlight security practices and responsibilities. - Compiled TROUBLESHOOTING.md to assist users in resolving common issues. - Translated documentation into Persian, including ARCHITECTURE.md and CONFIGURATION.md.
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# معماری
|
||||
|
||||
MasterHttpRelayVPN از یک پراکسی محلی و یک relay که کاربر deploy میکند ساخته شده است.
|
||||
|
||||
## مسیر ساده
|
||||
|
||||
```text
|
||||
Browser یا app
|
||||
-> HTTP/SOCKS5 proxy محلی
|
||||
-> اتصال TLS fronted به سمت Google
|
||||
-> Apps Script relay
|
||||
-> سایت مقصد
|
||||
```
|
||||
|
||||
شبکه یک اتصال شبیه Google میبیند. URL واقعی مقصد داخل ترافیک رمزگذاریشده به relay فرستاده میشود.
|
||||
|
||||
## بخشهای اصلی
|
||||
|
||||
| فایل یا پوشه | کاربرد |
|
||||
|--------------|--------|
|
||||
| [main.py](../../main.py) | نقطه ورود CLI. config را میخواند، دستورهای certificate را اجرا میکند، و proxy را شروع میکند. |
|
||||
| [setup.py](../../setup.py) | wizard تعاملی که `config.json` میسازد. |
|
||||
| [start.bat](../../start.bat) | لانچر Windows. venv میسازد، dependency نصب میکند، setup را اجرا میکند، و proxy را بالا میآورد. |
|
||||
| [start.sh](../../start.sh) | لانچر Linux/macOS با همین نقش. |
|
||||
| [config.example.json](../../config.example.json) | نمونه کانفیگ و پیشفرضها. |
|
||||
| [apps_script/Code.gs](../../apps_script/Code.gs) | رله Google Apps Script که کاربر deploy میکند. |
|
||||
| [src/proxy/proxy_server.py](../../src/proxy/proxy_server.py) | HTTP CONNECT، مسیرهای MITM، SOCKS5، و تصمیمهای مربوط به host policy. |
|
||||
| [src/proxy/mitm.py](../../src/proxy/mitm.py) | CA محلی و certificate های ساختهشده برای سایتها. |
|
||||
| [src/relay/domain_fronter.py](../../src/relay/domain_fronter.py) | کلاینت Apps Script relay، batch، retry، و انتخاب transport H1/H2. |
|
||||
| [src/relay/h2_transport.py](../../src/relay/h2_transport.py) | transport اختیاری HTTP/2 برای multiplexing. |
|
||||
| [src/core/cert_installer.py](../../src/core/cert_installer.py) | نصب و حذف CA برای سیستمعامل و Firefox. |
|
||||
| [src/core/google_ip_scanner.py](../../src/core/google_ip_scanner.py) | اسکنر IPهای Google برای `python main.py --scan`. |
|
||||
|
||||
## پردازش درخواست
|
||||
|
||||
1. مرورگر ترافیک HTTP یا HTTPS proxy را به `127.0.0.1:8085` میفرستد.
|
||||
2. برای HTTPS، proxy میتواند با CA تولیدشده MITM محلی انجام دهد.
|
||||
3. قوانین host مشخص میکنند درخواست مستقیم، blocked، bypass، یا relayed باشد.
|
||||
4. درخواستهای relayed به JSON برای Apps Script تبدیل میشوند.
|
||||
5. Apps Script مقصد را fetch میکند و پاسخ HTTP سریالشده برمیگرداند.
|
||||
6. پراکسی محلی پاسخ HTTP را برای مرورگر بازسازی میکند.
|
||||
|
||||
## امکانات کارایی
|
||||
|
||||
- pool گرم اتصال TLS برای fallback H1.
|
||||
- HTTP/2 multiplexing وقتی package `h2` نصب باشد.
|
||||
- batch کردن درخواستهای static در burst ها.
|
||||
- چند `script_ids` اختیاری برای load balancing.
|
||||
- دانلود موازی range برای فایلهای بزرگ.
|
||||
- Exit Node اختیاری برای مقصدهایی که خروجی Google را مسدود میکنند.
|
||||
|
||||
## مسیر Exit Node
|
||||
|
||||
```text
|
||||
Browser -> Local proxy -> Apps Script -> Exit node -> Target website
|
||||
```
|
||||
|
||||
Exit Node میتواند روی Cloudflare Workers، Deno Deploy، یا VPS اجرا شود. [راهنمای Exit Node](../exit-node/EXIT_NODE_DEPLOYMENT_FA.md) را ببینید.
|
||||
Reference in New Issue
Block a user