Skip to content

Repository files navigation


Typing SVG


Python FastAPI Railway License

Stars Forks Last Commit Repo Size



🇬🇧 English

📖 Table of Contents


🚀 Overview

RVG Gateway is a fast, modern, self-hosted multi-protocol proxy management panel, built with Python + FastAPI, designed to deploy in minutes on Railway.

It gives you a beautiful admin dashboard to create, monitor, and manage proxy links across multiple protocols — with per-link traffic quotas, live connection stats, and QR code generation — all from a single lightweight service.

💡 Originally built around a simple VLESS-over-WebSocket relay, RVG has evolved into a full multi-protocol gateway with authentication, quota tracking, and a polished management UI.


✨ Features

🔌 Core Gateway

  • VLESS over WebSocket (TLS 443)
  • Trojan, Shadowsocks (AEAD / aes-256-gcm)
  • MTProto proxy via mtg binary
  • Internal HTTP Proxy
  • xHTTP / gRPC / HTTPUpgrade transports

📊 Management Dashboard

  • Real-time traffic charts & trend indicators
  • Live connection monitoring
  • Unlimited link creation with per-link quotas (MB/GB)
  • Instant enable / disable per link
  • QR Code export for every link

🛡️ Security & Reliability

  • Strict UUID validation
  • Session-based authentication
  • TLS fingerprint spoofing (Chrome)
  • Optimized relay buffers (512KB, TCP_NODELAY, SO_KEEPALIVE)

🤖 Automation

  • Telegram-bot-integrated proxy management
  • Domain suggestion via Cloudflare Worker
  • Automated TCP proxy dispatch with blacklist targeting
  • One-click Railway deployment

🌐 Supported Protocols

Protocol Transport Status
VLESS WebSocket / xHTTP / gRPC
Trojan WebSocket / HTTPUpgrade
Shadowsocks AEAD (aes-256-gcm)
MTProto mtg v2.1.7
HTTP Proxy Internal

🏗️ Architecture

flowchart LR
    A[Client / v2rayNG / NekoBox] -->|VLESS / Trojan / SS| B(RVG Gateway<br/>FastAPI Server)
    B --> C{Protocol Router}
    C -->|WebSocket| D[VLESS / Trojan Relay]
    C -->|TCP| E[Shadowsocks Relay]
    C -->|mtg binary| F[MTProto Relay]
    B --> G[(In-Memory<br/>Link & Quota Store)]
    B --> H[Admin Dashboard :8000/dashboard]
    B --> I[Telegram Bot Automation]
    style B fill:#203a43,stroke:#0f2027,color:#fff
    style H fill:#2c5364,stroke:#0f2027,color:#fff
Loading

📂 Project Structure

RVG/
├── protocol/                 # Per-protocol relay implementations
├── main.py                   # FastAPI app entrypoint
├── central.py                 # Core orchestration logic
├── pages.py                   # Dashboard route/page handlers
├── updater.py                  # Self-update logic
├── botgeneratedomin.py         # Telegram bot: domain generation
├── bottokentcpproxy.py         # TCP proxy automation via Telegram
├── zeussocks5.py                # SOCKS5 proxy handler
├── requirements.txt
├── .gitignore
└── README.md

⚡ Quick Start (Railway Deploy)

1️⃣

Fork this repository

https://github.com/arvin341az-glitch/RVG/fork
2️⃣

Deploy on Railway

  1. Go to Railway.app
  2. Click New Project → Deploy from GitHub repo
  3. Select your forked repository
  4. Railway auto-builds and deploys 🎉
3️⃣

Enable a public domain

Railway → Settings → Networking → Generate Domain (this sets RAILWAY_PUBLIC_DOMAIN automatically)

4️⃣

Open your dashboard

https://your-app.up.railway.app/dashboard

Copy the default VLESS link and import it into your client (v2rayNG, NekoBox, Streisand, …).


💻 Local Development

# Clone your fork
git clone https://github.com/<your-username>/RVG.git
cd RVG

# Create a virtual environment
python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run the server
python main.py

The dashboard will be available at http://localhost:8000/dashboard.


⚙️ Environment Variables

Variable Description Default
PORT Port the service runs on 8000
SECRET_KEY Internal security key Randomly generated
RAILWAY_PUBLIC_DOMAIN Public Railway domain (auto-set) localhost

📸 Dashboard Preview

Traffic overview • Live connections • Link manager • QR export


🗺️ Roadmap

  • Multi-protocol relay (VLESS, Trojan, Shadowsocks, MTProto)
  • Telegram bot automation
  • Traffic dashboard with charts
  • Persistent storage (Redis / PostgreSQL)
  • Multi-node / cluster support
  • Public REST API for external integrations

🤝 Contributing

Pull requests are welcome for bug fixes, optimizations, and documentation.

⚠️ Please read the LICENSE before contributing — modification and redistribution of modified versions is restricted. Open an issue first if you'd like to discuss a change.


📄 License

This project is distributed under a custom license: ✅ Free to use, deploy, and fork ❌ Modifying and redistributing a modified version is not permitted

See the full LICENSE file for details.


❤️ Support the Project

If this project helped you, consider supporting its development:

Donate Wallets

Made with ❤️ by codebox




🇮🇷 فارسی

📖 فهرست مطالب


🚀 معرفی

RVG Gateway یک پنل مدیریت پروکسی چندپروتکلی، سریع و مدرن است که با Python + FastAPI ساخته شده و در چند دقیقه روی Railway قابل دیپلوی است.

این پروژه یک داشبورد مدیریتی زیبا در اختیارتان می‌گذارد تا لینک‌های پروکسی را در پروتکل‌های مختلف بسازید، مانیتور کنید و مدیریت کنید — همراه با محدودیت ترافیک اختصاصی برای هر لینک، آمار اتصالات زنده و خروجی QR Code، همه از طریق یک سرویس سبک و یکپارچه.

💡 این پروژه که ابتدا یک ریلی ساده VLESS روی WebSocket بود، اکنون به یک دروازه کامل چندپروتکلی با احراز هویت، مدیریت سهمیه و رابط کاربری حرفه‌ای تبدیل شده است.


✨ ویژگی‌ها

🔌 هسته دروازه

  • VLESS روی WebSocket (TLS 443)
  • Trojan، Shadowsocks (AEAD / aes-256-gcm)
  • پروکسی MTProto از طریق باینری mtg
  • HTTP Proxy داخلی
  • ترنسپورت‌های xHTTP / gRPC / HTTPUpgrade

📊 داشبورد مدیریتی

  • نمودار ترافیک لحظه‌ای و شاخص‌های روند
  • مانیتورینگ اتصالات زنده
  • ساخت لینک نامحدود با محدودیت ترافیک اختصاصی (MB/GB)
  • فعال/غیرفعال‌سازی آنی هر لینک
  • خروجی QR Code برای هر لینک

🛡️ امنیت و پایداری

  • اعتبارسنجی دقیق UUID
  • احراز هویت مبتنی بر سشن
  • جعل فینگرپرینت TLS (Chrome)
  • بافرهای بهینه‌شده ریلی (۵۱۲ کیلوبایت، TCP_NODELAY، SO_KEEPALIVE)

🤖 اتوماسیون

  • مدیریت پروکسی یکپارچه با ربات تلگرام
  • پیشنهاد دامنه از طریق Cloudflare Worker
  • ارسال خودکار پروکسی TCP با هدف‌گیری بلک‌لیست
  • دیپلوی با یک کلیک روی Railway

🌐 پروتکل‌های پشتیبانی‌شده

پروتکل ترنسپورت وضعیت
VLESS WebSocket / xHTTP / gRPC
Trojan WebSocket / HTTPUpgrade
Shadowsocks AEAD (aes-256-gcm)
MTProto mtg v2.1.7
HTTP Proxy داخلی

🏗️ معماری

flowchart RL
    A[کلاینت / v2rayNG / NekoBox] -->|VLESS / Trojan / SS| B(RVG Gateway<br/>سرور FastAPI)
    B --> C{مسیریاب پروتکل}
    C -->|WebSocket| D[ریلی VLESS / Trojan]
    C -->|TCP| E[ریلی Shadowsocks]
    C -->|باینری mtg| F[ریلی MTProto]
    B --> G[(ذخیره‌سازی درون‌حافظه<br/>لینک و سهمیه)]
    B --> H[داشبورد مدیریت :8000/dashboard]
    B --> I[اتوماسیون ربات تلگرام]
    style B fill:#203a43,stroke:#0f2027,color:#fff
    style H fill:#2c5364,stroke:#0f2027,color:#fff
Loading

📂 ساختار پروژه

RVG/
├── protocol/                 # پیاده‌سازی ریلی هر پروتکل
├── main.py                   # نقطه ورود اپلیکیشن FastAPI
├── central.py                 # منطق اصلی هماهنگ‌سازی
├── pages.py                   # هندلر مسیرها/صفحات داشبورد
├── updater.py                  # منطق به‌روزرسانی خودکار
├── botgeneratedomin.py         # ربات تلگرام: تولید دامنه
├── bottokentcpproxy.py         # اتوماسیون پروکسی TCP از طریق تلگرام
├── zeussocks5.py                # هندلر پروکسی SOCKS5
├── requirements.txt
├── .gitignore
└── README.md

⚡ شروع سریع (دیپلوی روی Railway)

1️⃣

فورک کردن این ریپازیتوری

https://github.com/arvin341az-glitch/RVG/fork
2️⃣

دیپلوی روی Railway

۱. وارد Railway.app شوید ۲. روی New Project → Deploy from GitHub repo کلیک کنید ۳. ریپازیتوری فورک‌شده خود را انتخاب کنید ۴. Railway به‌صورت خودکار پروژه را می‌سازد و دیپلوی می‌کند 🎉

3️⃣

فعال‌سازی دامنه عمومی

Railway ← Settings ← Networking ← Generate Domain (این کار متغیر RAILWAY_PUBLIC_DOMAIN را خودکار تنظیم می‌کند)

4️⃣

باز کردن داشبورد

https://your-app.up.railway.app/dashboard

لینک پیش‌فرض VLESS را کپی کرده و در کلاینت دلخواه (v2rayNG، NekoBox، Streisand و...) وارد کنید.


💻 توسعه محلی

# کلون کردن فورک شما
git clone https://github.com/<your-username>/RVG.git
cd RVG

# ساخت محیط مجازی
python -m venv venv
source venv/bin/activate   # ویندوز: venv\Scripts\activate

# نصب وابستگی‌ها
pip install -r requirements.txt

# اجرای سرور
python main.py

داشبورد در آدرس http://localhost:8000/dashboard در دسترس خواهد بود.


⚙️ متغیرهای محیطی

متغیر توضیح پیش‌فرض
PORT پورت اجرای سرویس 8000
SECRET_KEY کلید امنیتی داخلی تولید تصادفی
RAILWAY_PUBLIC_DOMAIN دامنه عمومی Railway (خودکار) localhost

🗺️ نقشه راه

  • ریلی چندپروتکلی (VLESS، Trojan، Shadowsocks، MTProto)
  • اتوماسیون ربات تلگرام
  • داشبورد ترافیک با نمودار
  • ذخیره‌سازی دائمی (Redis / PostgreSQL)
  • پشتیبانی چندنودی / کلاستر
  • API عمومی REST برای یکپارچه‌سازی با سرویس‌های دیگر

🤝 مشارکت

پول‌ریکوئست برای رفع باگ، بهینه‌سازی و مستندسازی خوش‌آمد است.

⚠️ لطفاً قبل از مشارکت، فایل LICENSE را مطالعه کنید — تغییر و بازنشر نسخه تغییریافته محدود شده است. برای هرگونه تغییر، ابتدا یک Issue باز کنید.


📄 لایسنس

این پروژه تحت یک لایسنس سفارشی منتشر شده است: ✅ استفاده، دیپلوی و فورک آزاد ❌ تغییر و بازنشر نسخه تغییریافته مجاز نیست

برای جزئیات کامل به فایل LICENSE مراجعه کنید.


❤️ حمایت از پروژه

اگر این پروژه به شما کمک کرد، می‌توانید از توسعه آن حمایت کنید:

Donate Wallets

ساخته‌شده با ❤️ توسط codebox


About

Multi-protocol proxy management panel built with Python & FastAPI, deployable on Railway.

Topics

Resources

Security policy

Stars

3.3k stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages