راه حل یکپارچه برای مدیریت پروتکل های مختلف. قدرت گرفته از Xray
مرزبان یک نرم افزار (وب اپلیکیشن) مدیریت پروکسی است که امکان مدیریت چند صد حساب پروکسی را با قدرت و دسترسی بالا فراهم میکند. مرزبان از Xray-core قدرت گرفته و با Python و React پیاده سازی شده است.
مرزبان دارای یک رابط کاربری ساده است که قابلیت های زیادی دارد. مرزبان امکان ایجاد چند نوع پروکسی برای کاربر ها را فراهم میکند بدون اینکه به تنظیمات پیچیده ای نیاز داشته باشید. به کمک رابط کاربری تحت وب مرزبان، شما میتوانید کاربران را مانیتور، ویرایش و در صورت نیاز، محدود کنید.
-
رابط کاربری تحت وب آماده
-
به صورت REST API پیاده سازی شده
-
پشتیبانی از پروتکل های Vmess, VLESS, Trojan و Shadowsocks
-
امکان فعالسازی چندین پروتکل برای هر یوزر
-
امکان ساخت چندین کاربر بر روی یک inbound
-
پشتیبانی از چندین inbound بر روی یک port (به کمک fallbacks)
-
محدودیت بر اساس مصرف ترافیک و تاریخ انقضا
-
پشتیبانی از Subscription link سازگار با V2ray (مثل نرم افزار های V2RayNG, OneClick, Nekoray و...) و Clash
-
ساخت لینک اشتراک گذاری و QRcode به صورت خودکار
-
مانیتورینگ منابع سرور و مصرف ترافیک
-
پشتیبانی از تنظیمات xray
-
پشتیبانی از TLS
-
قابلیت ایجاد چندین مدیر (تکمیل نشده است)
ما به شدت پیشنهاد میکنیم برای استفاده در ابعاد بزرگ (production) از Docker image مرزبان استفاده کنید. در اینصورت برای ارتقا به نسخه های بعدی راحتتر خواهید بود و مطمئن تر است.
چندین استراتژی بر اساس نیاز های مختلف آماده شده است. برای اجرای مرزبان به کمک Docker لطفا این مطلب را مطالعه کنید.
لطفا xray را نصب کنید. شما میتواند به کمک Xray-install این کار را انجام دهید.
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
پروژه را clone کنید و dependency ها را نصب کنید. دقت کنید که نسخه پایتون شما Python>=3.8 باشد.
git clone https://github.com/Gozargah/Marzban.git
cd Marzban
wget -qO- https://bootstrap.pypa.io/get-pip.py | python3 -
python3 -m pip install -r requirements.txt
همچنین میتواند از , Python Virtualenv هم استفاده کنید.
سپس کامند زیر را اجرا کنید تا دیتابیس تنظیم شود.
alembic upgrade head
حالا یک کپی از .env.example
با نام .env
بسازید و با یک ادیتور آن را باز کنید و تنظیمات دلخواه خود را انجام دهید. یه عنوان مثال نام کاربری و رمز عبور را میتوانید در این فایل تغییر دهید.
cp .env.example .env
nano .env
برای اطلاعات بیشتر بخش تنظیمات را مطالعه کنید.
در انتها, مرزبان را به کمک دستور زیر اجرا کنید.
python3 main.py
به صورت پیشفرض مرزبان در آدرس http://localhost:8000/dashboard
اجرا میشود. شما میتوانید با تغییر UVICORN_HOST
و UVICORN_PORT
، هاست و پورت را تغییر دهید.
متغیر های زیر در فایل
.env
استفاده میشوند. شما می توانید با تعریف و تغییر آن ها، تنظیمات مرزبان را تغییر دهید.
Variable | Description |
---|---|
SUDO_USERNAME | نام کاربری مدیر کل (پیشفرض: admin) |
SUDO_PASSWORD | رمز عبور مدیر کل (پیشفرض: admin) |
SQLALCHEMY_DATABASE_URL | آدرس دیتابیس (بر اساس مستندات SQLAlchemy) |
UVICORN_HOST | آدرس هاستی که مرزبان روی آن اجرا میشود (پیشفرض: 0.0.0.0 ) |
UVICORN_PORT | پورتی که مرزبان روی آن اجرا میشود (پیشفرض: 8000 ) |
UVICORN_UDS | اجرای مرزبان بر روی یک Unix domain socket |
UVICORN_SSL_CERTFILE | آدرس گواهی SSL به جهت ایمن کردن پنل مرزبان |
UVICORN_SSL_KEYFILE | آدرس کلید گواهی SSL |
XRAY_HOSTS | آدرس هاست های Xray هرکدام در یک خط. با فرمت remark@hostname (پیشفرض: 🚀 Marz@SERVER_IP ) |
XRAY_JSON | مسیر فایل json تنظیمات xray (پیشفرض: xray.json ) |
XRAY_EXECUTABLE_PATH | مسیر باینری xray (پیشفرض: /usr/local/bin/xray ) |
XRAY_ASSETS_PATH | مسیر asset های xray (پیشفرض: /usr/local/share/xray ) |
XRAY_SUBSCRIPTION_URL_PREFIX | پیشوند (یا هاست) آدرس های اشتراکی (زمانی کاربرد دارد که نیاز دارید دامنه subscription link ها با دامنه پنل متفاوت باشد) |
XRAY_FALLBACK_INBOUND_TAG | تگ inboundای که به عنوان fallback استفاده میشود. |
XRAY_EXCLUDE_INBOUND_TAGS | تگ های inbound ای که لازم نیست در کانفیگ های ساخته شده وجود داشته باشند. |
JWT_ACCESS_TOKEN_EXPIRE_MINUTES | مدت زمان انقضا توکن دسترسی به پنل مرزبان, 0 به معنای بدون تاریخ انقضا است (پیشفرض: 1440 ) |
DOCS | فعال سازی داکیومنتیشن به آدرس /docs و /redoc (پیشفرض: False ) |
DEBUG | فعالسازی حالت توسعه (development) (پیشفرض: False ) |
لطفا اگر امکانش رو دارید، با بررسی لیست کار ها به ما در بهبود مرزبان کمک کنید. کمک های شما با آغوش باز پذیرفته میشه.
لطفا ایده های خودتون رو با ما به اشتراک بذارید تا در اسرع وقت پیاده سازی بشن.
اگر به هر نوعی این پروژه به شما کمک کرده است، ما خوشحال میشیم از طریق حمایت مالی، ما رو در مسیر توسعه مرزبان همراهی کنید.
توسعه یافته شده در [ناشناس!] و منتشر شده تحت لایسنس AGPL-3.0.