Skip to content

Latest commit

 

History

History
executable file
·
176 lines (126 loc) · 10.8 KB

README-fa.md

File metadata and controls

executable file
·
176 lines (126 loc) · 10.8 KB

مرزبان

راه حل یکپارچه برای مدیریت پروتکل های مختلف. قدرت گرفته از Xray


English / فارسی

Elk screenshots

بررسی اجمالی

مرزبان یک نرم افزار (وب اپلیکیشن) مدیریت پروکسی است که امکان مدیریت چند صد حساب پروکسی را با قدرت و دسترسی بالا فراهم میکند. مرزبان از 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

چندین استراتژی بر اساس نیاز های مختلف آماده شده است. برای اجرای مرزبان به کمک 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.