پنل مدیریت اشتراک سبک و خودمیزبان برای VLESS روی WebSocket + TLS.
تماماً در یک فایل پایتون نوشته شده و با FastAPI و SQLite کار میکند.
- ✨ ویژگیهای اصلی
- 🆕 تغییرات نسخه ۱.۱.۰
- 🚀 راهاندازی سریع و دیپلوی
- ☁️ پلتفرمهای پشتیبانیشده
- 📁 ساختار مخزن
- 💸 راهنمای پهنای باند و هزینه
- ⚖️ سلب مسئولیت
- 🙏 قدردانی
- احراز هویت قوی: استفاده از JWT برای نشستها با کوکیهای امن و HTTP‑only.
- ضد حملات بیروتفورس: Rate limiting روی ورود و تعامل با API.
- گذرواژههای اجباری: سیاست سختگیرانه (حداقل ۸ کاراکتر، حروف بزرگ و کوچک و عدد).
- گزارشگیری ممیزی: ثبت همه تلاشهای ورود (موفق/ناموفق، IP، User‑Agent).
- چرخه کامل عمر: ایجاد، ویرایش، فعال/غیرفعال و حذف امن کانفیگهای VLESS.
- کنترل دقیق: محدودیت ترافیک هر کاربر (گیگابایت)، روزهای انقضا و حداکثر اتصالات همزمان.
- مسیریابی پیشرفته: Path، SNI، Host و Fingerprint TLS سفارشی برای هر اینباند.
- پشتیبانی از Fragment: اضافه کردن بازههای تکهتکهسازی بستهها (مثلاً
1000-2000) برای دور زدن DPI. - پرچم کشور: اختصاص پرچم (🇮🇷، 🇩🇪 و …) به هر کانفیگ – در پنل و لینکهای اشتراک نمایش داده میشود.
- عملیات دستهای: فعال/غیرفعال کردن، بازنشانی مصرف یا حذف گروهی کانفیگها.
- هسته غیرقابل حذف: اینباند پیشفرض
SulgXبهطور سیستماتیک در برابر حذف تصادفی محافظت میشود.
- موتور سرعت زنده: نمودارهای دقیق Download/Upload با فیلتر تطبیقی برای کاهش نویز.
- متریکهای پویا: میلههای ۲۴ ساعته ترافیک (مبتنی بر منطقه زمانی) و نمودارهای دایرهای توزیع مصرف.
- سلامت سیستم: نمایش زنده CPU، Memory و Disk با fallback به
loadavg.
- مدیریت IP: افزودن، ویرایش و وارد کردن گروهی IPv4/IPv6 که بهطور پویا به اشتراکها الصاق میشوند.
- اسکنر ایمن: اسکن پورت ۴۴۳ روی ۲۴ ارائهدهنده ابری از پیشتعریفشده (Cloudflare، AWS، Azure و …).
- ضد کرش: رنجهای CIDR بزرگ (مثلاً
/14) را با سقف ۴۰۹۶ IP مدیریت میکند و از فریز مرورگر جلوگیری میکند. DNSهای عمومی (مثل8.8.8.8) بهطور خودکار حذف میشوند.
- دو زبانه (انگلیسی/فارسی): قالبهای کاملاً قابل ترجمه.
- هشدار رویدادها: ورود به پنل، کاربران منقضیشده، خطاها و اخطار مصرف ۹۰٪.
- پیشنمایش زنده: نمایش لحظهای قالب JSON در داشبورد.
- دو حالته: Simple (برای Render/Railway) و Advanced (برای Dockfly).
- قابل تنظیم: تنظیم بازه، فعال/غیرفعال و انتخاب حالت مستقیماً از تنظیمات پنل.
- خودترمیمی: بهطور خودکار هدرها و فواصل درخواست را برای جلوگیری از بلاک شدن تنظیم میکند.
| دسته | بهبود |
|---|---|
| UI & UX | بازبینی اساسی رابط کاربری شیشهای. باگ انتخاب تم آبی برطرف شد و تنظیمات تم اکنون ماندگار هستند. نمای موبایل برای همه جدولها و کنترلها بهبود یافت. |
| کارایی | کش لینکها بهطور دورهای پاکسازی میشود تا از نشت حافظه جلوگیری کند. تسکهای اسکنر با قطع WebSocket به درستی لغو میشوند. |
| ضد خواب | موتور Keep‑Alive کاملاً بازطراحی شد. اکنون دو حالت Simple و Advanced دارد که میتوان آنها را بهصورت زنده از پنل تغییر داد. |
| اینباندها | افزودن پشتیبانی از Fragment (FRAG) برای بهبود دور زدن DPI. پرچمهای کشور قابل اختصاص به هر اینباند هستند و در همه جا (پنل، لینک اشتراک، داشبورد کاربر) نمایش داده میشوند. |
| داشبورد کاربر | نوار پیشرفت مصرف با رنگهای هشداردهنده (سبز → زرد → قرمز) اضافه شد تا کاربر نهایی میزان مصرف خود را فوراً ببیند. |
| تلگرام | باگ تغییر زبان (انگلیسی/فارسی) برطرف شد و زبان انتخابی به درستی ذخیره و بازیابی میشود. |
| پایگاه داده | مهاجرت خودکار اسکیما – نصبهای قدیمی با ارتقا به این نسخه بهطور خودکار ستونهای flag و fragment را دریافت میکنند. |
| رفع باگها | کارتهای وضعیت تنظیمات اکنون با پیکربندی واقعی همگام هستند. انتخابگرهای منطقه زمانی و زبان کاملاً هماهنگ شدهاند. |
برای فهرست کامل commitها، انتشار ۱.۱.۰ را ببینید.
Note
پروژه اکنون بهطور بومی از طریق Dockerfile اجرا میشود. کافی است مخزن را فورک کنید، متغیرهای محیطی را تنظیم کنید و پلتفرم آن را برایتان بسازد.
برای پلتفرمهای پیشنهادی نیازی به دستورهای دستی شروع یا پیکربندی Gunicorn نیست.
- این مخزن را در حساب گیتهاب خود فورک کنید.
- (اختیاری) برای پایداری بیشتر، میتوانید دیپلویهای خود را به تگ انتشار
v1.1.0محدود کنید.
هر پنج پلتفرم زیر از WebSocket پشتیبانی میکنند، میتوانند مستقیماً از Dockerfile دیپلوی شوند و نیاز به کارت اعتباری یا شماره تلفن ندارند – فقط ایمیل یا حساب گیتهاب.
- Railway ← توصیه اصلی (اعتبار رایگان، Volumeهای ماندگار)
- Render ← طرح رایگان با دیسک ماندگار
- Dockfly ← ساده و کمینه
- Back4app ← مبتنی بر Parse، طرح رایگان سخاوتمندانه
- Scalingo ← PaaS فرانسوی، ۳۰ روز آزمایشی رایگان
پلتفرمهای دیگری مانند Koyeb، Fly.io، Northflank یا Zeabur نیز کاملاً با SulgX کار میکنند، اما برای ثبتنام نیاز به کارت اعتباری یا شماره تلفن دارند.
- مخزن فورکشده خود را در پلتفرم انتخابی متصل کنید.
- پلتفرم بهطور خودکار
Dockerfileموجود را تشخیص میدهد و برنامه را میسازد. - متغیرهای محیطی – متغیرهای زیر را در داشبورد پلتفرم اضافه کنید:
| متغیر | مثال | توضیح |
|---|---|---|
ADMIN_PASSWORD |
StrongPass!123 |
رمز ورود به پنل (حداقل ۸ کاراکتر، دارای حروف بزرگ و کوچک و عدد). |
SECRET_KEY |
random_long_string |
کلید مخفی برای امضای کوکیهای JWT. |
DOMAIN |
sulgx.up.railway.app |
دامنه عمومی شما. برای تولید صحیح لینکها بهشدت توصیه میشود. |
DB_PATH |
/data/panel.db |
مسیر فایل پایگاه داده SQLite. مهم: اگر پلتفرم شما Volume ماندگار پشتیبانی میکند (به جدول پلتفرمها نگاه کنید)، یک Volume در مسیر /data متصل کنید تا دادههایتان امن بمانند. |
PORT |
8000 |
(اختیاری) پورتی که برنامه روی آن گوش میدهد. اکثر پلتفرمها این را نادیده میگیرند و از پورت خود استفاده میکنند. |
-
ماندگاری دادهها
پلتفرمهایی که Volume ماندگار پشتیبانی میکنند، به شما اجازه میدهند پایگاه داده را بین راهاندازیهای مجدد حفظ کنید. برای پلتفرمهایی که فاقد این قابلیت هستند (یا اگر امنیت بیشتری میخواهید)، یک پایگاه داده خارجی PostgreSQL با تنظیم متغیر محیطیDATABASE_URLمتصل کنید. -
دسترسی به پنل
پس از دیپلوی، آدرس عمومی برنامه خود را باز کرده و به/panelبروید. با رمز تعیینشده درADMIN_PASSWORDوارد شوید.
🔹 Railway
- Volume ماندگار: بله. یک Volume در مسیر
/dataمتصل کنید. - حالت Keep‑Alive:
Simpleبهترین عملکرد را دارد.
🔹 Render
- دیسک ماندگار: بله. یک دیسک در مسیر
/dataمتصل کنید. - حالت Keep‑Alive:
Simple. (Render بعد از ۱۵ دقیقه میخوابد، اما Keep‑Alive آن را بیدار خواهد کرد.)
🔹 Dockfly
- Volume ماندگار: بله، ولی باید آن را در تنظیمات سرویس با مسیر
/dataپیکربندی کنید. - حالت Keep‑Alive:
Advancedبرای جلوگیری از خواب کانتینر اکیداً توصیه میشود.
🔹 Back4app
- Volume ماندگار: خیر. توصیه میشود
DB_PATHرا/tmp/panel.dbبگذارید و از یک PostgreSQL خارجی (DATABASE_URL) برای دادههای تولیدی استفاده کنید. - Keep‑Alive: طرح رایگان بیدار میماند. حالت
Simpleکافی است.
🔹 Scalingo
- ذخیرهسازی ماندگار: خیر در دوره آزمایشی. اگر به ذخیرهسازی دائمی نیاز دارید، از
DATABASE_URLخارجی استفاده کنید. - دوره ۳۰ روزه آزمایشی فقط با ایمیل فعال میشود. پس از آن سرویس پولی میشود.
- حالت Keep‑Alive:
Simple.
| پلتفرم | طرح رایگان | WebSocket | خوابیدن | Volume ماندگار | نیاز به کارت | نیاز به شماره |
|---|---|---|---|---|---|---|
| Railway | ۵ دلار اعتبار/ماه | ✅ | خیر (با Keep‑Alive) | ✅ (1 GB) | خیر | خیر |
| Render | ۷۵۰ ساعت/ماه | ✅ | بله (۱۵ دقیقه) | ✅ (1 GB) | خیر | خیر |
| Dockfly | ۱ پروژه (۲۵۶ MB) | ✅ | خیر | ✅ | خیر | خیر |
| Back4app | ۰.۲۵ CPU, ۲۵۶ MB | ✅ | خیر | خیر | خیر | خیر |
| Scalingo | ۳۰ روز آزمایشی | ✅ | خیر | خیر | خیر | خیر |
Note
محدودیتهای طرح رایگان و قیمتها ممکن است تغییر کنند. همواره وبسایت رسمی ارائهدهنده را برای اطلاعات بهروز بررسی کنید.
برای پلتفرمهایی که فضای ذخیرهسازی ماندگار ارائه نمیدهند، میتوانید با تنظیم متغیر محیطی DATABASE_URL یک پایگاه داده PostgreSQL خارجی متصل کنید. این کار فایل SQLite را لغو کرده و دادههایتان را برای همیشه امن نگه میدارد.
| فایل | هدف |
|---|---|
main.py |
برنامه اصلی – بکاند FastAPI، تونلهای WebSocket، و فرانتاند HTML/JS تعبیهشده. |
Dockerfile |
ساخت کانتینر – یک ایمیج سبک Python 3.11 ایجاد کرده و پنل را راهاندازی میکند. |
requirements.txt |
وابستگیهای پایتون – نسخههای ثابت برای ساختهای پایدار. |
render.yaml |
نقشه Render – دیپلوی خودکار روی Render. |
Procfile |
دستور شروع Heroku/Railway (اختیاری) – در صورت استفاده از دیپلوی غیر Docker. |
.gitignore |
قوانین نادیده گرفتن گیت – لاگها، کش و پایگاه داده را از نسخهبندی خارج نگه میدارد. |
Important
پنل SulgX کاملاً رایگان است. با این حال، ارائهدهنده ابری شما هزینه پهنای باند خروجی مصرفشده توسط کاربرانتان را دریافت میکند.
ارقام زیر تقریبی هستند و ممکن است متفاوت باشند. همواره به صفحه قیمتگذاری رسمی ارائهدهنده مراجعه کنید.
| پلتفرم | پهنای باند رایگان (تقریبی) | هزینه هر گیگابایت اضافه (تقریبی) |
|---|---|---|
| Railway | پرداخت بهازای مصرف | $0.10 / GB |
| Render | ۵ GB / ماه | $0.10 / GB |
| Dockfly | مشخص نشده | بررسی با ارائهدهنده |
| Back4app | ۱۰۰ GB / ماه | بررسی با ارائهدهنده |
| Scalingo | مشخص نشده (دوره آزمایشی) | بررسی با ارائهدهنده |
داشبورد صورتحساب ارائهدهنده خود را زیر نظر داشته باشید و از محدودیتهای ترافیک ماهانه پنل برای کنترل مصرف استفاده کنید.
Warning
پیش از دیپلوی با دقت بخوانید
- رایگان و غیرتجاری: این نرمافزار کاملاً رایگان ارائه میشود. فروش آن ممنوع است.
- VPN تجاری ممنوع: از این پنل برای فروش اشتراک VPN استفاده نکنید. این ابزار صرفاً برای اهداف شخصی، آموزشی و آزمایشی طراحی شده است.
- سوءاستفاده از پلتفرم ممنوع: از طرحهای رایگان سرویسهای ابری با ایجاد حسابهای متعدد با ایمیلهای موقت سوءاستفاده نکنید.
- گزارش تخلف: اگر مشاهده کردید شخصی دسترسی به این پنل را میفروشد یا از زیرساخت سوءاستفاده میکند، لطفاً به ارائهدهنده میزبانی مربوطه گزارش دهید.
- عدم مسئولیت: توسعهدهنده هیچگونه مسئولیتی در قبال خسارات، هزینههای اضافی صورتحساب یا نقض شرایط سرویس ندارد. شما بهتنهایی مسئول ترافیک خود هستید.
تشکر فراوان از پلتفرمها و جوامعی که ابزارهای رایگان اینترنت را ممکن میسازند:
تقدیم به مردم سرزمینم ایران، از طرف SulgX


