این پروژه یک اسکریپت رله (Reverse Proxy) مبتنی بر Node.js است که به شما اجازه میدهد فیلترینگِ شدیدِ مبتنی بر لیست سفید (Whitelist/Intranet) را با استفاده از ترکیبِ زیرساخت مایکروسافت آژور (Azure) و DNS شِکَن (Shecan) دور بزنید.
در این معماری، ترافیک فیلترشکن شما (Xray/V2ray) در ظاهر به عنوان ترافیک مجازِ برنامهنویسان (مایکروسافت) از فایروال اینترانت ایران عبور کرده و بدون مشکل به سرور اصلی شما در خارج از کشور متصل میشود.
بسیاری از کاربران برای رله کردن ترافیک از پلتفرمهای Serverless مثل Vercel یا Netlify استفاده میکنند. با وجود اینکه آنها پهنای باند بالایی دارند، اما به دلیل معماری بدون سرور، اتصالات وبسوکت شما را هر ۱۰ ثانیه قطع میکنند (Timeout). آژور به دلیل معماری کانتینری (Container-based)، استریمهای طولانیمدت را بدون قطعی هندل میکند.
| ویژگی / محدودیت | Azure App Service (Free F1) | Azure App Service (Basic/Premium) | Vercel / Netlify |
|---|---|---|---|
| هزینه ماهانه | کاملاً رایگان ($0) | ۱۳ تا ۱۰۰ دلار | رایگان ($0) |
| قطعی اتصال (Timeout) | ندارد (استریم پایدار) | ندارد | قطع شدن بعد از ۱۰ ثانیه! |
| محدودیت پردازش (CPU) | ۶۰ دقیقه در هر ۲۴ ساعت | نامحدود | محدودیت ثانیهای (Edge Timeout) |
| پهنای باند (Outbound) | ۱۶۵ مگابایت در روز (فقط برای تست) | نامحدود / بسیار بالا | ۱۰۰ گیگابایت در ماه |
| وضعیت بیداری (Sleep) | بعد از ۲۰ دقیقه بیکاری میخوابد | همیشه بیدار (Always-on) | اجرا با هر ریکوئست |
| پشتیبانی پروتکل | WebSocket / xhttp / HTTP | WebSocket / xhttp / HTTP | فقط HTTP / xhttp |
** پلن رایگان آژور بهترین بستر برای دور زدن فیلترینگ و تست معماری است. اما برای مصرف روزمره و دانلودهای سنگین، ارتقا به پلنهای ارزانِ پولی (Basic/Premium) در آژور، یک تانل پرسرعت خواهید داشت.
- این مخزن را در گیتهاب خود Fork کنید (یا فایلهای
index.jsوpackage.jsonرا در یک مخزن جدید آپلود کنید). - در فایل
index.js، متغیرTARGET_URLرا پیدا کرده و آدرس سرور Xray خودتان (مثلاً سرور هتزنر که دارای SSL است) را جایگزین کنید.
- وارد سایت portal.azure.com شوید و یک اکانت بسازید.
- در نوار جستجوی بالا، عبارت App Services را جستجو کنید و روی
Create -> Web Appکلیک کنید. - تنظیمات زیر را با دقت وارد کنید:
- Publish: Code
- Runtime stack: Node.js 18 LTS (یا بالاتر)
- Operating System: Linux
- Region:
⚠️ (بسیار مهم: برای پینگ پایین در ایران، حتماً روی West Europe یا North Europe تنظیم کنید.). - Pricing plan: Free F1 (یا پلن پولی مورد نظرتان).
- در تب Deployment، اکانت گیتهاب خود را متصل کرده و مخزنی که در مرحله اول ساختید را انتخاب کنید.
- روی
Review + Createکلیک کنید. پس از پایان ساخت، آژور به شما یک دامنه میدهد (مثلاًmy-relay.azurewebsites.net).
پلن رایگان آژور در صورت عدم استفاده پس از ۲۰ دقیقه خاموش میشود که باعث افت شدید سرعت در اتصال اولیه (Cold Start) میگردد.
- در سایت UptimeRobot یک اکانت رایگان بسازید.
- یک مانیتور جدید از نوع
HTTP(s)ایجاد کنید. - لینکِ دامنهی آژور خود را وارد کرده و تایمر را روی 5 دقیقه تنظیم کنید.
پیشنیاز حیاتی: این متد فقط و فقط زمانی کار میکند که DNS دستگاه شما (یا DNS داخلی برنامه v2ray) روی آیپیهای سایت شکن (
178.22.122.100و185.51.200.2) تنظیم شده باشد.
یک کانفیگِ جدید بسازید و مقادیر زیر را وارد کنید:
- Address: دامنهی آژور شما (مثال:
my-relay.azurewebsites.net) - Port: 443
- Network:
wsیاxhttp(بسته به کانفیگ سرور اصلیتان) - Path: مسیری که در سرور اصلی تنظیم کردهاید.
- SNI: دامنهی آژور شما
- Host (Request Host): دامنهی آژور شما
- TLS: روشن (تیک زده شود)
- Fragment: خاموش (Off)
روی اتصال کلیک کنید. ترافیک شما از طریق شکن وارد دیتاسنترهای آژور شده و از آنجا به سرور اصلیتان رله میشود!
اگر این پروژه برای شما مفید بود و به شما در دور زدن محدودیتهای اینترنتی کمک کرد، میتوانید برای حمایت از توسعه و نگهداری این مخزن، از طریق آدرس کریپتویی زیر دونیت کنید. حمایتهای شما باعث دلگرمی و کشفِ مسیرهای جدید خواهد شد. ✌️ EVM Wallet Address (USDT / ETH / BNB / MATIC): 0x515c5972f94753b37d8C04882BF9491824aecea4