feat: update exit node deployment guide and add Persian version

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Abolfazl
2026-05-01 22:37:38 +03:30
parent ff419b1338
commit 68b6945616
3 changed files with 124 additions and 40 deletions
+23 -39
View File
@@ -53,13 +53,14 @@ Steps:
6. Deploy. 6. Deploy.
7. Copy URL, usually like https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev 7. Copy URL, usually like https://YOUR-WORKER.YOUR-SUBDOMAIN.workers.dev
## 5) Deploy On Deno Deploy ## 5) Deploy On Deno Deploy (It's not tested Yet)
Source file: apps_script/deno_deploy.ts Source file: apps_script/deno_deploy.ts
Steps: Steps:
1. Sign in at https://dash.deno.com 1. Sign in at https://dash.deno.com
2. Create new project. 2. Create new app.
3. Select Basic HTML -> Clone Repository
3. Upload or paste apps_script/deno_deploy.ts. 3. Upload or paste apps_script/deno_deploy.ts.
4. Set PSK constant in code. 4. Set PSK constant in code.
5. Deploy. 5. Deploy.
@@ -67,45 +68,28 @@ Steps:
## 6) Configure MasterHttpRelayVPN ## 6) Configure MasterHttpRelayVPN
Update config.json: Update `config.json`:
{ ```json
"exit_node": { "exit_node": {
"enabled": true, "enabled": true,
"provider": "valtown", "provider": "valtown",
"url": "https://YOUR-NAME.web.val.run", "url": "https://YOUR-NAME.web.val.run",
"psk": "CHANGE_ME_TO_A_STRONG_SECRET", "psk": "CHANGE_ME_TO_A_STRONG_SECRET",
"mode": "full", "mode": "full",
"hosts": [ "hosts": [
"chatgpt.com", "chatgpt.com",
"openai.com", "openai.com",
"claude.ai", "claude.ai",
"anthropic.com" "anthropic.com"
] ]
}
} }
```
Provider values: Provider values:
- valtown - `valtown`
- cloudflare - `cloudflare`
- deno - `deno`
If mode is selective, only hosts listed in hosts use the exit node. If `mode` is `selective`, only hosts listed in `hosts` use the exit node.
If mode is full, all relayed traffic uses the exit node. If `mode` is `full`, all relayed traffic uses the exit node.
## 7) Quick Test
1. Start app: python main.py
2. Ensure proxy is set in browser.
3. Open a site known to require non-Google egress.
4. If it fails, check:
- provider and url are correct
- psk matches exactly between config and deployed code
- exit_node.enabled is true
## Troubleshooting
- unauthorized: PSK mismatch
- method_not_allowed: endpoint got non-POST request directly (normal when opened in browser)
- bad_url: malformed target URL from relay payload
- timeout or 5xx: temporary provider issue, redeploy and retry
+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 کنید.
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‌شده از نود خروجی عبور می‌کند.
+2 -1
View File
@@ -147,7 +147,8 @@ cp config.example.json config.json
3. Deno Deploy: [apps_script/deno_deploy.ts](apps_script/deno_deploy.ts) 3. Deno Deploy: [apps_script/deno_deploy.ts](apps_script/deno_deploy.ts)
راهنمای کامل مرحله‌به‌مرحله برای هر provider: راهنمای کامل مرحله‌به‌مرحله برای هر provider:
- [EXIT_NODE_DEPLOYMENT.md](EXIT_NODE_DEPLOYMENT.md) - [EXIT_NODE_DEPLOYMENT_FA.md](EXIT_NODE_DEPLOYMENT_FA.md) (فارسی)
- [EXIT_NODE_DEPLOYMENT.md](EXIT_NODE_DEPLOYMENT.md) (انگلیسی)
سپس همان secret را هم در کد نود خروجی (`PSK`) و هم در `config.json` یکسان بگذارید. سپس همان secret را هم در کد نود خروجی (`PSK`) و هم در `config.json` یکسان بگذارید.