mirror of
https://github.com/masterking32/MasterHttpRelayVPN.git
synced 2026-05-17 21:24:37 +03:00
feat: update exit node deployment guide and add Persian version
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
+23
-39
@@ -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
|
|
||||||
|
|||||||
@@ -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
@@ -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` یکسان بگذارید.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user