package-lock.json29.6 KB
package.json347 B
README.md3.8 KB
wrangler.bot.toml636 B
wrangler.toml537 B
README.md
🛡️ دروازه پنل (panel-gateway)
لایهی کنترل برای پنلهای VLESS — بدون دست زدن به خود پنل. جلوی پنل میشینه، ترافیک رو حساب میکنه، سهمیه و انقضا رو اعمال میکنه.
هر ۶ فیچر کجاست
| فیچر | پیادهسازی |
|---|---|
| ۱. یوزر جدا با حجم و انقضا | گیتوی: هر نفر UUID جدا + لینک ساب جدا؛ سهمیه GB و انقضای روزانه؛ قطع خودکار وسط کانکشن |
| ۲. ربات تلگرام | src/bot.js — ورکر جدا: ساخت یوزر، لیست، مصرف، حذف، ریست، سلامت، بکاپ |
| ۳. پریست MCI / ایرانسل | تب «پریست ISP» در پنل ادمین — بر اساس دانش کانال: ایرانسل → fp=unsafe + راهنمای فرگمنت دستی؛ همراه اول → fp=chrome + راهنمای ECH |
| ۴. سلامت پروکسی IP داخل پنل | تب «پروکسی IP» — تست TCP 443 از لبهی کلادفلر (۳ تلاش)؛ بارگذاری خودکار از proxyip-board |
| ۵. داشبورد مصرف | تب «داشبورد» — مصرف هر یوزر با نوار پیشرفت + جمع کل |
| ۶. بکاپ/ریستور تککلیکی | تب «بکاپ» — دانلود/بازگردانی JSON همهی یوزرها |
معماری
کلاینت (v2rayNG) ──wss──▶ گیتوی ──wss──▶ پنل اصلی (دستنخورده)
│
▼
Durable Object (SQLite)
یوزرها + شمارندهی بایت
- هدر VLESS پارس میشه، UUID کاربر استخراج میشه، با DO چک میشه
- هدر با UUID واقعی پنل بازنویسی و به بکاند فوروارد میشه
- بایتها هر ۵ ثانیه فلاش میشن؛ با رد شدن سهمیه کانکشن با کد 4403 بسته میشه
نصب گیتوی
cd panel-gateway
wrangler deploy # با wrangler.toml
wrangler secret put BACKEND_WS_URL # wss://<panel-host>/<ws-path>
wrangler secret put BACKEND_UUID # UUID خود پنل
wrangler secret put ADMIN_SECRET # کلید ادمین
بعد برو به https://<gateway>/admin/ — کلید ادمین رو بده، یوزر بساز، لینک رو بده به هر نفر.
نصب ربات تلگرام
- به
@BotFatherبگو/newbot— توکن بگیر wrangler deploy -c wrangler.bot.toml- سکرتها:
TELEGRAM_BOT_TOKENWEBHOOK_SECRETADMIN_CHAT_IDGATEWAY_URLGATEWAY_ADMIN_SECRET - وبهوک:
curl https://api.telegram.org/bot<token>/setWebhook -d url=https://<bot>/webhook/<secret> - به ربات
/startبده — شناسهی چتت رو میده — بذار تویADMIN_CHAT_ID
تستها (همه سبز ✅)
node --test test/vless.test.js test/accounting.test.js test/bot.test.js # 26/26
node test/e2e.mjs # 10/10 — کلاینت VLESS واقعی → گیتوی واقعی → سرور echo واقعی
تست e2e با شبیهساز کامل WebSocket انجام شده: بایتشماری دقیق up/down، قطع سهمیه وسط کانکشن (4403)، رد UUID ناشناس (4403)، هدر خراب (4400).
محدودیتهای صادقانه
- فعلاً فقط VLESS روی WebSocket (پروتکل اصلی). Trojan/XHTTP/Shadowsocks فاز بعد.
- تست TCP پروکسی IP فقط روی رانتایم واقعی کلادفلر کار میکنه (تو Node با fallback تمیز رد میشه).
- شمارندهها هر ۵ ثانیه فلاش میشن — مصرف لحظهایِ چند ثانیهی آخر ممکنه عقب باشه.