نسخه سبک، سریع و بدون سرور XHTTP Relay روی Fastly Compute Edge
داستان این نسخه چیه؟
🟥 این پروژه نسخه Fastly Compute از XHTTP Relay ECO هست. به جای Vercel، روی شبکه CDN جهانی Fastly با بیش از 70 نقطه حضور (POP) دیپلوی میشه. درخواستها روی Edge پردازش میشن و به سرور اینباند خارجی فوروارد میشن — بدون لایه میانی، بدون بافرینگ، با تاخیر بسیار پایین.
📣 جهت دریافت اطلاعات و نکات بیشتر به کانال تلگرامی من مراجعه کنید: @B3hnamR 📌 نکته مهم: لطفاً این راهنما رو تا انتها و با دقت بخونید تا موقع ستاپ کردن هیچ مشکلی براتون پیش نیاد.
⚠️ هشدار: پروژه رو Fork نکنید. برای امنیت بیشتر از دکمه سبز Code بالای صفحه روی Download ZIP کلیک کنید و از اینستالر ویندوزی استفاده کنید.
| ویژگی | Vercel | Fastly Compute |
|---|---|---|
| تعداد POP جهانی | ~20 | +70 |
| اجرای کد روی Edge | ✅ | ✅ |
| Streaming واقعی | ✅ | ✅ |
| Config Store (ENV) | Dashboard | API / Installer |
| بدون Cold Start | ✅ | |
| پلن رایگان | محدود | 100K req/month رایگان |
| هزینه هر میلیون request | بیشتر | $0.50 |
کلاینت (xray/v2ray)
│
▼ HTTPS / TLS
┌─────────────────────────┐
│ Fastly Edge (70+ POP) │ ← نزدیکترین POP به کاربر
│ relay-xxxxx.edgecompute.app │
└────────────┬────────────┘
│ HTTPS + Config Store
▼
┌─────────────────────────┐
│ سرور اینباند خارجی │
│ xray / v2ray (XHTTP) │
└─────────────────────────┘
چطور کار میکنه؟
درخواست کلاینت به نزدیکترین POP فستلی میرسه. کد JavaScript روی Edge اجرا میشه، هدرها فیلتر میشن، و درخواست به سرور اینباند خارجی فوروارد میشه. Config Store مقادیر TARGET_BASE، TARGET_HOSTNAME و RELAY_PATH رو به صورت runtime در اختیار کد میذاره — بدون نیاز به redeploy برای تغییر تنظیمات.
پیشنیاز: فیلترشکن روی TUN Mode یا System Proxy
۱. فایل ZIP پروژه رو Extract کن
۲. فیلترشکن رو روشن کن
۳. روی Run-Deploy-Fastly.bat دابلکلیک کن
۴. توکن Fastly رو وارد کن
۵. تنظیمات رو پر کن و Deploy بزن
۱. وارد manage.fastly.com بشو ۲. برو به Account → Personal Tokens ۳. یک توکن جدید با scope global بساز ۴. توکن رو داخل اینستالر پیست کن
توکن به صورت رمزنگاریشده با DPAPI ویندوز ذخیره میشه:
.fastly-token.dpapi
Main Menu:
──────────────────────────────────────────────
[1] New deployment - ساخت service جدید روی Fastly
[2] Redeploy / update - بیلد و آپلود مجدد روی service موجود
[3] Manage services - لیست، ویرایش ENV، حذف سرویسها
[4] Change API token - تعویض توکن فستلی
[0] Exit
──────────────────────────────────────────────
[1] List all services - لیست همه Compute serviceهای اکانت
[2] View service details - domain، ENV، timeout یک سرویس
[3] Edit ENV (Config Store)- تغییر TARGET/PATH بدون redeploy
[4] Delete service - حذف کامل سرویس
[0] Back
آدرس کامل سرور اینباند خارجی با پورت:
https://your-domain.com:2053
مسیری که روی سرور اینباند تنظیم کردی:
/api
PUBLIC_RELAY_PATHبه صورت خودکار باRELAY_PATHیکی میشه.
| پارامتر | پیشفرض | توضیح |
|---|---|---|
connect_timeout |
10000ms |
حداکثر زمان برای برقراری TCP connection به سرور |
first_byte_timeout |
300000ms |
حداکثر زمان انتظار برای دریافت اولین byte از سرور |
between_bytes_timeout |
300000ms |
حداکثر زمان انتظار بین هر دو chunk متوالی داده |
برای XHTTP streaming، مقادیر بالا توصیه میشه تا بین پکتها قطعی رخ نده.
بعد از deploy، اینستالر یک Config Store برای سرویس میسازه و این مقادیر رو توش ذخیره میکنه:
| کلید | مثال |
|---|---|
TARGET_BASE |
https://your-domain.com:2053 |
TARGET_HOSTNAME |
your-domain.com |
RELAY_PATH |
/api |
مزیت بزرگ: میتونی این مقادیر رو بدون redeploy تغییر بدی — از منوی Manage → Edit ENV، مقدار جدید رو وارد کنی و بلافاصله live میشه.
بعد از deploy، اینستالر کانفیگ آماده میسازه:
vless://YOUR-UUID@relay-xxxxxxxx.edgecompute.app:443
?encryption=none
&security=tls
&sni=relay-xxxxxxxx.edgecompute.app
&fp=chrome
&insecure=0
&type=xhttp
&host=relay-xxxxxxxx.edgecompute.app
&path=%2Fapi
&mode=auto
#XHTTP-Fastly-Compute
نکات مهم:
hostوsniباید دامنه Fastly پروژه باشنpathباید باRELAY_PATHیکی باشهmode=autoپیشفرضه؛ اگه سرور رویpacket-upبود، کلاینت همpacket-upبذار
اینستالر بعد از deploy یک تست خودکار میگیره:
| HTTP Code | معنی |
|---|---|
400 یا 404 |
✅ Relay کار میکنه — origin جواب داده (برای xhttp طبیعیه) |
200 |
✅ Relay کار میکنه |
000 |
⏳ DNS هنوز propagate نشده — 1-2 دقیقه صبر کن |
500 |
|
502 |
❌ Backend در دسترس نیست — سرور و پورت رو چک کن |
| کد | معنی |
|---|---|
400 |
مسیر جواب داده ولی درخواست probe کامل نیست — طبیعیه |
404 |
مسیر اشتباهه؛ RELAY_PATH رو چک کن |
500 |
Config Store در دسترس نیست یا مقادیر ست نشدن |
502 |
Fastly به سرور مقصد وصل نشد |
503 |
سرور مقصد overload یا در دسترس نیست |
504 |
timeout؛ first_byte_timeout رو بالا ببر |
| چیز | مقدار |
|---|---|
| پلن رایگان | 100,000 request/ماه |
| Compute time رایگان | 438,000 GB-second/ماه |
| هر میلیون request اضافه | $0.50 |
| هر میلیون GB-second اضافه | $0.05 |
برای استفاده معمولی VPN، هزینه ماهانه معمولاً کمتر از $2 میشه.
XHTTPRelayFastly/
├── Deploy-Fastly-Windows.ps1 ← اینستالر ویندوزی
├── Run-Deploy-Fastly.bat ← لانچر یککلیکی
├── fastly.toml ← تنظیمات Fastly Compute
├── package.json ← وابستگیهای JS
├── src/
│ └── index.js ← کد relay روی Edge
└── bin/
└── main.wasm ← خروجی build (بعد از npm run build)
| پروژه | توضیح |
|---|---|
| XHTTPRelayECO | نسخه Vercel همین پروژه |
اگر این پروژه براتون مفید بود:
Tron (TRX) / USDT (TRC-20):
TTfYReJ7aJEvx4CfwgtY3UV8hJHXTrTwnn
BNB / USDT (BEP-20):
0x25CAc03F80C12FFc30D8264e4b90423AFfA2E6Ac
@b3hnamrjd @ShakerFPS MIT