Skip to content

x4gKing/X4G

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

کانال یوتوب : 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

  1. وارد سایت Railway.app شوید.
  2. روی New Project → Deploy from GitHub repo کلیک کنید.
  3. ریپازیتوری Fork شده را انتخاب کنید.
  4. Railway به‌صورت خودکار پروژه را Deploy می‌کند.

💡 پس از دیپلوی، یک دامنه عمومی (Public Domain) برای سرویس خود از تنظیمات Railway فعال کنید تا متغیر RAILWAY_PUBLIC_DOMAIN به‌درستی مقداردهی شود.

💾 ذخیره‌سازی دائمی (Volume)

وضعیت سرویس (کانفیگ‌ها، آمار مصرف، گروه‌های ساب، رمز ادمین) روی فایل x4g_state.json داخل مسیر DATA_DIR (پیش‌فرض /data) ذخیره می‌شود. برای این‌که این اطلاعات با هر ری‌استارت یا دیپلوی جدید روی Railway از بین نرود، حتماً یک Volume بسازید و آن را روی همان مسیر (/data) به سرویس متصل کنید (از تنظیمات سرویس → بخش Volumes). بدون این کار، اطلاعات فقط روی همان کانتینر فعلی می‌مانند و با تعویض کانتینر پاک می‌شوند.

3️⃣ اتصال به کانفیگ‌ها

پس از دیپلوی موفق:

  1. به آدرس https://your-app.up.railway.app/dashboard بروید.
  2. در صفحه داشبورد کلی، لینک VLESS پیش‌فرض (بدون محدودیت) را مشاهده و کپی کنید.
  3. این لینک را در کلاینت دلخواه (v2rayNG، NekoBox، Streisand و...) وارد کنید.
  4. برای ساخت لینک‌های جداگانه با محدودیت ترافیک، سرعت، آی‌پی و... به بخش مدیریت لینک‌ها بروید.

🔧 تنظیمات دستی هر کانفیگ

هنگام ساخت یا ویرایش هر کانفیگ می‌توانید این موارد را جداگانه تنظیم کنید:

  • پروتکل/ترابرد: 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، و در صورت نیاز قابل رمزدار کردن با پسورد. برای ساخت این لینک:

  1. به بخش «گروه‌های ساب» در پنل (یا از طریق ربات تلگرام) بروید.
  2. یک گروه جدید بسازید.
  3. کانفیگ(های) مورد نظر را داخل همان گروه اضافه کنید.
  4. لینک صفحه‌ی عمومی گروه را از همان‌جا کپی کنید.

🤖 ربات مدیریت تلگرام (اختیاری)

اگر می‌خواهید بدون باز کردن پنل وب، از طریق تلگرام کانفیگ‌ها را مدیریت کنید:

  1. دو متغیر محیطی زیر را در تنظیمات سرویس Railway اضافه کنید:
    • TELEGRAM_BOT_TOKEN — توکن ربات از @BotFather
    • TELEGRAM_ADMIN_IDS — آیدی عددی تلگرام ادمین‌های مجاز، جدا شده با کاما (مثلاً 123456789,987654321)
  2. بعد از ری‌استارت سرویس، به ربات پیام /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 · پشتیبانی: لینک گروه

About

No description, website, or topics provided.

Resources

Stars

6.3k stars

Watchers

16 watching

Forks

Packages

 
 
 

Contributors

Languages