diff --git a/EXIT_NODE_DEPLOYMENT.md b/EXIT_NODE_DEPLOYMENT.md index 26b39d7..2acfa46 100644 --- a/EXIT_NODE_DEPLOYMENT.md +++ b/EXIT_NODE_DEPLOYMENT.md @@ -53,13 +53,14 @@ Steps: 6. Deploy. 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 Steps: 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. 4. Set PSK constant in code. 5. Deploy. @@ -67,45 +68,28 @@ Steps: ## 6) Configure MasterHttpRelayVPN -Update config.json: +Update `config.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" - ] - } +```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 +- `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. - -## 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 +If `mode` is `selective`, only hosts listed in `hosts` use the exit node. +If `mode` is `full`, all relayed traffic uses the exit node. diff --git a/EXIT_NODE_DEPLOYMENT_FA.md b/EXIT_NODE_DEPLOYMENT_FA.md new file mode 100644 index 0000000..76414d9 --- /dev/null +++ b/EXIT_NODE_DEPLOYMENT_FA.md @@ -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‌شده از نود خروجی عبور می‌کند. diff --git a/README_FA.md b/README_FA.md index f3461d4..3382819 100644 --- a/README_FA.md +++ b/README_FA.md @@ -147,7 +147,8 @@ cp config.example.json config.json 3. Deno Deploy: [apps_script/deno_deploy.ts](apps_script/deno_deploy.ts) راهنمای کامل مرحله‌به‌مرحله برای هر 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` یکسان بگذارید.