کانال یوتوب : https://www.youtube.com/@X4GHUB
🚀 X4G
دروازه (Gateway) سریع و مدرن برای تونلزنی VLESS روی WebSocket و XHTTP + HTTP Proxy، با داشبورد مدیریتی زیبا، ربات مدیریت تلگرام، صفحات ساب حرفهای و قابلیت ساخت لینکهای اختصاصی با محدودیت ترافیک، سرعت و آیپی.
✨ ویژگیها
- 🔌 تونل VLESS روی چند ترابرد قابلانتخاب: WebSocket، XHTTP (packet-up) و XHTTP (stream-up)
- 🌐 HTTP Proxy داخلی
- 📊 داشبورد مدیریتی کامل (آمار، نمودار ترافیک ساعتی، اتصالات زنده، لاگ فعالیتها و خطاها)
- 🔗 مدیریت لینکهای نامحدود با محدودیت ترافیک اختصاصی (KB/MB/GB)
- 🚦 محدودیت سرعت (Bandwidth Throttling) اختصاصی برای هر کانفیگ، بر حسب Mbps
- ✅ فعال/غیرفعالسازی هر لینک بهصورت لحظهای، و انقضای خودکار بر اساس روز
- 📱 خروجی QR Code برای هر لینک و هر ساب
- 🛡️ Fingerprint (uTLS) و ALPN قابل تنظیم دستی برای هر کانفیگ
- 🔢 پورت اتصال قابل تنظیم دستی برای هر کانفیگ (نه فقط 443)
- 👥 محدودیت تعداد آیپی/کاربر همزمان بهازای هر کانفیگ
- 🗂 گروههای ساب: چند کانفیگ رو داخل یک گروه بذار و یک لینک ساب حرفهای و زیبا (صفحهی عمومی، قابل رمزدار کردن) برای همهشون بگیر
- 💾 ذخیرهسازی وضعیت روی دیسک (نه فقط حافظه) تا با ریاستارت سرویس از بین نره — به شرطی که یک Volume دائمی روی مسیر دیتا وصل باشه
- 🤖 ربات مدیریت تلگرام (اختیاری) برای مدیریت کامل کانفیگها و گروههای ساب، بدون نیاز به باز کردن پنل وب
1️⃣ Fork روی گیتهاب
ابتدا روی دکمه Fork کلیک کنید تا این ریپازیتوری را به حساب خود منتقل کنید.
2️⃣ Deploy روی Railway
- وارد سایت Railway.app شوید.
- روی New Project → Deploy from GitHub repo کلیک کنید.
- ریپازیتوری Fork شده را انتخاب کنید.
- Railway بهصورت خودکار پروژه را Deploy میکند.
💡 پس از دیپلوی، یک دامنه عمومی (Public Domain) برای سرویس خود از تنظیمات Railway فعال کنید تا متغیر RAILWAY_PUBLIC_DOMAIN بهدرستی مقداردهی شود.
💾 ذخیرهسازی دائمی (Volume)
وضعیت سرویس (کانفیگها، آمار مصرف، گروههای ساب، رمز ادمین) روی فایل x4g_state.json داخل مسیر DATA_DIR (پیشفرض /data) ذخیره میشود. برای اینکه این اطلاعات با هر ریاستارت یا دیپلوی جدید روی Railway از بین نرود، حتماً یک Volume بسازید و آن را روی همان مسیر (/data) به سرویس متصل کنید (از تنظیمات سرویس → بخش Volumes). بدون این کار، اطلاعات فقط روی همان کانتینر فعلی میمانند و با تعویض کانتینر پاک میشوند.
3️⃣ اتصال به کانفیگها
پس از دیپلوی موفق:
- به آدرس
https://your-app.up.railway.app/dashboardبروید. - در صفحه داشبورد کلی، لینک VLESS پیشفرض (بدون محدودیت) را مشاهده و کپی کنید.
- این لینک را در کلاینت دلخواه (v2rayNG، NekoBox، Streisand و...) وارد کنید.
- برای ساخت لینکهای جداگانه با محدودیت ترافیک، سرعت، آیپی و... به بخش مدیریت لینکها بروید.
🔧 تنظیمات دستی هر کانفیگ
هنگام ساخت یا ویرایش هر کانفیگ میتوانید این موارد را جداگانه تنظیم کنید:
- پروتکل/ترابرد:
vless-ws(VLESS روی WebSocket) یا یکی از حالتهای XHTTP (xhttp-packet-up/xhttp-stream-up) - Fingerprint (uTLS): مقادیر chrome / firefox / safari / ios / android / edge / 360 / qq / random / randomized
- ALPN: پیشفرض پروتکل، یا مقدار دستی مثل
h2,http/1.1یاhttp/1.1 - پورت اتصال: هر پورتی بین 1 تا 65535 (نه فقط 443) — دقت کنید که این پورت باید واقعاً روی دامنه/سرویس شما باز و در دسترس باشد
- محدودیت حجم: بر حسب KB/MB/GB (0 = نامحدود)
- محدودیت سرعت: بر حسب Mbps، بهصورت مستقل برای هر کانفیگ (0 = نامحدود)
- محدودیت آیپی همزمان: تعداد آیپی/کاربری که مجاز است همزمان از همان کانفیگ استفاده کند (0 = نامحدود)
- انقضا: تعداد روزهای اعتبار کانفیگ (بدون مقدار = بدون انقضا)
🗂 گروههای ساب (لینک ساب حرفهای)
بهجای لینک ساب ساده (/sub/{uuid} که فقط متن base64 کانفیگ رو برمیگردونه)، میتونید چند کانفیگ رو داخل یک گروه ساب قرار بدید تا یک صفحهی عمومی و زیبا (/p/{uuid_key}) براشون ساخته بشه؛ شامل نمایش گرافیکی لیست کانفیگها، وضعیت هرکدوم، مصرف و QR Code، و در صورت نیاز قابل رمزدار کردن با پسورد. برای ساخت این لینک:
- به بخش «گروههای ساب» در پنل (یا از طریق ربات تلگرام) بروید.
- یک گروه جدید بسازید.
- کانفیگ(های) مورد نظر را داخل همان گروه اضافه کنید.
- لینک صفحهی عمومی گروه را از همانجا کپی کنید.
🤖 ربات مدیریت تلگرام (اختیاری)
اگر میخواهید بدون باز کردن پنل وب، از طریق تلگرام کانفیگها را مدیریت کنید:
- دو متغیر محیطی زیر را در تنظیمات سرویس Railway اضافه کنید:
TELEGRAM_BOT_TOKEN— توکن ربات از @BotFatherTELEGRAM_ADMIN_IDS— آیدی عددی تلگرام ادمینهای مجاز، جدا شده با کاما (مثلاً123456789,987654321)
- بعد از ریاستارت سرویس، به ربات پیام
/startبدهید.
امکانات ربات:
- 📋 لیست، مشاهده، فعال/غیرفعالسازی و حذف کانفیگها
- ➕ ساخت کانفیگ جدید با یک ویزارد مرحلهبهمرحله (برچسب → پروتکل → Fingerprint → ALPN → پورت → محدودیت حجم → محدودیت سرعت → محدودیت آیپی → روز انقضا)
- 🔗 دریافت لینک اتصال VLESS و لینک ساب هر کانفیگ
- 🗂 ساخت و مدیریت گروههای ساب و دریافت لینک ساب حرفهای مستقیماً داخل چت
⚙️ متغیرهای محیطی
| متغیر | توضیح | پیشفرض |
|---|---|---|
ADMIN_PASSWORD | رمز عبور ورود به داشبورد وب | X4GKING |
SECRET_KEY | کلید امضای سشن/پسورد؛ اگر تنظیم نشود، خودکار ساخته و روی دیسک ذخیره میشود | — |
DATA_DIR | مسیر ذخیرهسازی وضعیت (نیازمند Volume دائمی) | /data |
TELEGRAM_BOT_TOKEN | توکن ربات تلگرام (اختیاری) | — |
TELEGRAM_ADMIN_IDS | آیدی عددی ادمینهای مجاز ربات، جدا با کاما (اختیاری) | — |
RAILWAY_PUBLIC_DOMAIN | دامنه عمومی سرویس؛ بهصورت خودکار توسط Railway تنظیم میشود | localhost |
⚠️ نکته مهم
اگرچه وضعیت سرویس (کانفیگها، آمار، گروههای ساب) روی دیسک ذخیره میشود، اما بدون اتصال یک Volume دائمی به مسیر DATA_DIR، این اطلاعات فقط داخل همان کانتینر فعلی باقی میمانند و با تعویض/بازسازی کانتینر روی Railway از بین میروند. حتماً طبق راهنمای بخش «ذخیرهسازی دائمی» بالا، یک Volume متصل کنید.
X4G · پشتیبانی: @Farajian2004f