Major refactor on codes (no feature is new, just code refactor)

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Abolfazl
2026-05-02 12:03:59 +03:30
parent bd98098499
commit c5beb51df0
25 changed files with 1950 additions and 1035 deletions
+94
View File
@@ -0,0 +1,94 @@
# Exit Node Deployment Guide (Val Town / Cloudflare / Deno)
This guide explains how to deploy an exit node for MasterHttpRelayVPN on free platforms.
Traffic path:
Browser -> Local Proxy -> Apps Script -> Exit Node -> Target Website
Use this when destinations block Google datacenter egress.
## 1) Choose One Provider
- Val Town
- Cloudflare Workers
- Deno Deploy
You only need one provider.
## 2) Set PSK In Code
Each template includes:
const PSK = "CHANGE_ME_TO_A_STRONG_SECRET";
Replace that value with a long random secret.
Important:
- Use the same PSK in your local config under exit_node.psk.
- Never share your deployed URL together with a valid PSK.
## 3) Deploy On Val Town
Source file: apps_script/valtown.ts
Steps:
1. Sign in at https://www.val.town
2. Create a new Val (TypeScript HTTP endpoint).
3. Paste content from apps_script/valtown.ts.
4. Set the PSK constant in the code.
5. Save and Add HTTP trigger.
6. Copy your public URL, usually like https://YOUR-NAME.web.val.run
## 4) Deploy On Cloudflare Workers
Source file: apps_script/cloudflare_worker.js
Steps:
1. Sign in at https://dash.cloudflare.com
2. Go to Compute -> Workers & Pages.
3. Create Application -> Start with Hello World -> Deploy -> Edit Code.
4. Replace code with apps_script/cloudflare_worker.js content.
5. Set PSK constant in code.
6. Deploy.
7. Copy URL, usually like https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev
## 5) Deploy On Deno Deploy (It's not tested Yet)
Source file: apps_script/deno_deploy.ts
Steps:
1. Sign in at https://dash.deno.com
2. Select new playground.
3. Paste apps_script/deno_deploy.ts.
4. Set PSK constant in code.
5. Deploy.
6. Copy URL, usually like https://YOUR-PROJECT.deno.net
## 6) Configure MasterHttpRelayVPN
Update `config.json`:
```json
"exit_node": {
"enabled": true,
"provider": "valtown",
"url": "https://YOUR-NAME.web.val.run",
"psk": "CHANGE_ME_TO_A_STRONG_SECRET",
"mode": "full",
"hosts": [
"chatgpt.com",
"openai.com",
"claude.ai",
"anthropic.com"
]
}
```
Provider values:
- `valtown`
- `cloudflare`
- `deno`
If `mode` is `selective`, only hosts listed in `hosts` use the exit node.
If `mode` is `full`, all relayed traffic uses the exit node.
+99
View File
@@ -0,0 +1,99 @@
# راهنمای نصب نود خروجی (Val Town / Cloudflare / Deno)
این راهنما توضیح می‌دهد چطور یک نود خروجی رایگان برای MasterHttpRelayVPN راه‌اندازی کنید.
مسیر ترافیک:
```
مرورگر -> پراکسی محلی -> Apps Script -> نود خروجی -> سایت مقصد
```
از این قابلیت زمانی استفاده کنید که سایت‌های مقصد آی‌پی‌های دیتاسنتر Google را مسدود می‌کنند.
## ۱) یک Provider انتخاب کنید
- Val Town
- Cloudflare Workers
- Deno Deploy
فقط به یکی از این‌ها نیاز دارید.
## ۲) PSK را در کد تنظیم کنید
هر template شامل این خط است:
```js
const PSK = "CHANGE_ME_TO_A_STRONG_SECRET";
```
آن مقدار را با یک secret قوی و تصادفی جایگزین کنید.
نکته مهم:
- همین PSK را در `config.json` زیر `exit_node.psk` وارد کنید.
- URL عمومی را هرگز همراه با PSK معتبر به اشتراک نگذارید.
## ۳) نصب روی Val Town
فایل: `apps_script/valtown.ts`
مراحل:
1. در [https://www.val.town](https://www.val.town) ثبت‌نام کنید.
2. یک Val جدید بسازید (TypeScript HTTP endpoint).
3. محتوای `apps_script/valtown.ts` را paste کنید.
4. مقدار ثابت PSK را در کد تنظیم کنید.
5. ذخیره و deploy کنید. (Add HTTP trigger را فراموش نکنید)
6. URL عمومی خود را کپی کنید؛ معمولاً به شکل `https://YOUR-NAME.web.val.run`
## ۴) نصب روی Cloudflare Workers
فایل: `apps_script/cloudflare_worker.js`
مراحل:
1. در [https://dash.cloudflare.com](https://dash.cloudflare.com) وارد شوید.
2. به Compute -> Workers & Pages بروید.
3. گزینه Create Application -> Start with Hello World -> Deploy -> Edit Code را انتخاب کنید.
4. کد را با محتوای `apps_script/cloudflare_worker.js` جایگزین کنید.
5. مقدار PSK را در کد تنظیم کنید.
6. Deploy کنید.
7. URL را کپی کنید؛ معمولاً به شکل `https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev`
## ۵) نصب روی Deno Deploy (هنوز تست نشده)
فایل: `apps_script/deno_deploy.ts`
مراحل:
1. در [https://dash.deno.com](https://dash.deno.com) وارد شوید.
2. یک app جدید بسازید.
3. گزینه Basic HTML -> Clone Repository را انتخاب کنید.
4. محتوای `apps_script/deno_deploy.ts` را آپلود یا paste کنید.
5. مقدار PSK را در کد تنظیم کنید.
6. Deploy کنید.
7. URL را کپی کنید؛ معمولاً به شکل `https://YOUR-PROJECT.deno.dev`
## ۶) تنظیم MasterHttpRelayVPN
فایل `config.json` را ویرایش کنید:
```json
"exit_node": {
"enabled": true,
"provider": "valtown",
"url": "https://YOUR-NAME.web.val.run",
"psk": "CHANGE_ME_TO_A_STRONG_SECRET",
"mode": "full",
"hosts": [
"chatgpt.com",
"openai.com",
"claude.ai",
"anthropic.com"
]
}
```
مقادیر provider:
- `valtown`
- `cloudflare`
- `deno`
اگر `mode` برابر `selective` باشد، فقط دامنه‌های داخل `hosts` از نود خروجی عبور می‌کنند.
اگر `mode` برابر `full` باشد، تمام ترافیک relay‌شده از نود خروجی عبور می‌کند.