{"id":13456091,"url":"https://github.com/Gozargah/Marzban","last_synced_at":"2025-03-24T09:31:24.332Z","repository":{"id":65470441,"uuid":"570335310","full_name":"Gozargah/Marzban","owner":"Gozargah","description":"Unified GUI Censorship Resistant Solution Powered by Xray","archived":false,"fork":false,"pushed_at":"2025-03-18T21:19:24.000Z","size":34230,"stargazers_count":4646,"open_issues_count":54,"forks_count":614,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-03-18T23:33:52.669Z","etag":null,"topics":["api","censorship-resistant","dashboard","shadowsocks","trojan","v2ray","vless","vmess","vpn","xray"],"latest_commit_sha":null,"homepage":"https://gozargah.github.io/marzban/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gozargah.png","metadata":{"files":{"readme":"README-fa.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-24T23:37:43.000Z","updated_at":"2025-03-18T20:18:54.000Z","dependencies_parsed_at":"2023-09-23T10:40:47.558Z","dependency_job_id":"89003fb1-081f-49b0-89d0-5af75b372545","html_url":"https://github.com/Gozargah/Marzban","commit_stats":{"total_commits":853,"total_committers":52,"mean_commits":"16.403846153846153","dds":0.548651817116061,"last_synced_commit":"349451da0de5f590f19b4a84b865ed376aacef63"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gozargah%2FMarzban","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gozargah%2FMarzban/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gozargah%2FMarzban/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gozargah%2FMarzban/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gozargah","download_url":"https://codeload.github.com/Gozargah/Marzban/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245243281,"owners_count":20583600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","censorship-resistant","dashboard","shadowsocks","trojan","v2ray","vless","vmess","vpn","xray"],"created_at":"2024-07-31T08:01:16.040Z","updated_at":"2025-03-24T09:31:24.324Z","avatar_url":"https://github.com/Gozargah.png","language":"Python","funding_links":[],"categories":["Python","🌟 XrayCore Web Panels","Основное"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/gozargah/marzban\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Gozargah/Marzban-docs/raw/master/screenshots/logo-dark.png\"\u003e\n      \u003cimg width=\"160\" height=\"160\" src=\"https://github.com/Gozargah/Marzban-docs/raw/master/screenshots/logo-light.png\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"/\u003eمرزبان\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n     راه حل یکپارچه برای مدیریت پروتکل های مختلف. قدرت گرفته از \u003ca href=\"https://github.com/XTLS/Xray-core\"\u003eXray\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"#\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/gozargah/marzban/build.yml?style=flat-square\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://hub.docker.com/r/gozargah/marzban\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/docker/pulls/gozargah/marzban?style=flat-square\u0026logo=docker\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"#\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/gozargah/marzban?style=flat-square\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://t.me/gozargah_marzban\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/telegram-group-blue?style=flat-square\u0026logo=telegram\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"#\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/twitter-commiunity-blue?style=flat-square\u0026logo=twitter\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"#\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/stars/gozargah/marzban?style=social\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"./README.md\"\u003e\n\tEnglish\n\t\u003c/a\u003e\n\t/\n\t\u003ca href=\"./README-fa.md\"\u003e\n\tفارسی\n\t\u003c/a\u003e\n  /\n  \u003ca href=\"./README-zh-cn.md\"\u003e\n\t简体中文\n\t\u003c/a\u003e\n   /\n  \u003ca href=\"./README-ru.md\"\u003e\n Русский\n \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/gozargah/marzban\" target=\"_blank\" rel=\"noopener noreferrer\" \u003e\n    \u003cimg src=\"https://github.com/Gozargah/Marzban-docs/raw/master/screenshots/preview.png\" alt=\"Elk screenshots\" width=\"600\" height=\"auto\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n## فهرست مطالب\n- [بررسی اجمالی](#بررسی-اجمالی)\n  - [چرا مرزبان؟](#چرا-مرزبان)\n    - [امکانات](#امکانات)\n- [راهنمای نصب](#راهنمای-نصب)\n- [تنظیمات](#تنظیمات)\n- [داکیومنت](#داکیومنت)\n- [استفاده از API](#استفاده-از-api)\n- [پشتیبان گیری از مرزبان](#پشتیبان-گیری-از-مرزبان)\n- [ربات تلگرام](#ربات-تلگرام)\n- [رابط خط فرمان (CLI) مرزبان](#رابط-خط-فرمان-cli-مرزبان)\n- [ارسال اعلان‌ها به آدرس وبهوک](#ارسال-اعلانها-به-آدرس-وبهوک)\n- [کمک مالی](#کمک-مالی)\n- [لایسنس](#لایسنس)\n- [مشارکت در توسعه](#مشارکت-در-توسعه)\n\n\n# بررسی اجمالی\n\nمرزبان یک نرم افزار (وب اپلیکیشن) مدیریت پروکسی است که امکان مدیریت چند صد حساب پروکسی را با قدرت و دسترسی بالا فراهم میکند. مرزبان از [Xray-core](https://github.com/XTLS/Xray-core) قدرت گرفته و با Python و React پیاده سازی شده است.\n\n## چرا مرزبان؟\n\nمرزبان دارای یک رابط کاربری ساده است که قابلیت های زیادی دارد. مرزبان امکان ایجاد چند نوع پروکسی برای کاربر ها را فراهم میکند بدون اینکه به تنظیمات پیچیده ای نیاز داشته باشید. به کمک رابط کاربری تحت وب مرزبان، شما میتوانید کاربران را مانیتور، ویرایش و در صورت نیاز، محدود کنید.\n\n### امکانات\n\n- **رابط کاربری تحت وب** آماده\n- به صورت **REST API** پیاده سازی شده\n- پشتیبانی از پروتکل های **Vmess**, **VLESS**, **Trojan** و **Shadowsocks**\n- امکان فعالسازی **چندین پروتکل** برای هر یوزر\n- امکان ساخت **چندین کاربر** بر روی یک inbound\n- پشتیبانی از **چندین inbound** بر روی **یک port** (به کمک fallbacks)\n- محدودیت بر اساس مصرف **ترافیک** و **تاریخ انقضا**\n- محدودیت **ترافیک دوره ای** (به عنوان مثال روزانه، هفتگی و غیره)\n- پشتیبانی از **Subscription link** سازگار با **V2ray** _(مثل نرم افزار های V2RayNG, SingBox, Nekoray و...)_ و **Clash**\n- ساخت **لینک اشتراک گذاری** و **QRcode** به صورت خودکار\n- مانیتورینگ منابع سرور و **مصرف ترافیک**\n- پشتیبانی از تنظیمات xray\n- پشتیبانی از **TLS**\n- **ربات تلگرام**\n- **رابط خط فرمان (CLI)** داخلی\n- قابلیت ایجاد **چندین مدیر** (تکمیل نشده است)\n\n# راهنمای نصب\n\nبا دستور زیر مرزبان را با دیتابیس SQLite نصب کنید:\n\n```bash\nsudo bash -c \"$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)\" @ install\n```\n\nبا دستور زیر مرزبان را با دیتابیس MySQL نصب کنید:\n```bash\nsudo bash -c \"$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)\" @ install --database mysql\n```\n\nبا دستور زیر مرزبان را با دیتابیس MariaDB نصب کنید:\n\n```bash\nsudo bash -c \"$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)\" @ install --database mariadb\n```\n\nوقتی نصب تمام شد:\n\n- شما لاگ های مرزبان رو مشاهده میکنید که می‌توانید با بستن ترمینال یا فشار دادن `Ctrl+C` از آن خارج شوید\n- فایل های مرزبان در پوشه `/opt/marzban` قرار می‌گیرند\n- فایل تنظیمات در مسیر `/opt/marzban/.env` قرار می‌گیرد ([تنظیمات](#تنظیمات) را مشاهده کنید)\n- فایل های مهم (اطلاعات) مرزبان در مسیر `/usr/lib/marzban` قرار می‌گیرند\nبه دلایل امنیتی، داشبورد مرزبان از طریق آیپی قابل دسترسی نیست. بنابراین، باید برای دامنه خود [گواهی SSL](https://gozargah.github.io/marzban/fa/examples/issue-ssl-certificate) بگیرید و از طریق آدرس https://YOUR_DOMAIN:8000/dashboard/ وارد داشبورد مرزبان شوید (نام دامنه خود را جایگزین YOUR_DOMAIN کنید)\n- همچنین می‌توانید از فوروارد کردن پورت SSH برای دسترسی لوکال به داشبورد مرزبان بدون دامنه استفاده کنید. نام کاربری و آیپی سرور خود را جایگزین `user@serverip` کنید و دستور زیر را اجرا کنید:\n\n```bash\nssh -L 8000:localhost:8000 user@serverip\n```\n\nدر نهایت، می‌توانید لینک زیر را در مرورگر خود وارد کنید تا به داشبورد مرزبان دسترسی پیدا کنید:\n\nhttp://localhost:8000/dashboard/\n\nبه محض بستن ترمینال SSH، دسترسی شما به داشبورد قطع خواهد شد. بنابراین، این روش تنها برای تست  کردن توصیه می‌شود.\n\nدر مرحله بعد, باید یک ادمین سودو بسازید\n\n```bash\nmarzban cli admin create --sudo\n```\n\nتمام! حالا با این اطلاعات می‌توانید وارد مرزبان شوید\n\nبرای مشاهده راهنمای اسکریپت مرزبان دستور زیر را اجرا کنید\n\n```bash\nmarzban --help\n```\n\nاگر مشتاق هستید که مرزبان رو با پایتون و به صورت دستی اجرا کنید، مراحل زیر را مشاهده کنید\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e\u003ch3\u003eنصب به صورت دستی (پیچیده)\u003c/h3\u003e\u003c/summary\u003e\n\nلطفا xray را نصب کنید.\nشما میتواند به کمک [Xray-install](https://github.com/XTLS/Xray-install) این کار را انجام دهید.\n\n```bash\nbash -c \"$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)\" @ install\n```\n\nپروژه را clone کنید و dependency ها را نصب کنید. دقت کنید که نسخه پایتون شما Python\u003e=3.8 باشد.\n\n```bash\ngit clone https://github.com/Gozargah/Marzban.git\ncd Marzban\nwget -qO- https://bootstrap.pypa.io/get-pip.py | python3 -\npython3 -m pip install -r requirements.txt\n```\n\nهمچنین میتواند از , [Python Virtualenv](https://pypi.org/project/virtualenv/) هم استفاده کنید.\n\nسپس کامند زیر را اجرا کنید تا دیتابیس تنظیم شود.\n\n```bash\nalembic upgrade head\n```\n\nاگر می خواهید از `marzban-cli` استفاده کنید، باید آن را به یک فایل در `$PATH` خود لینک و قابل اجرا (executable) کنید. سپس تکمیل خودکار (auto-completion) آن را نصب کنید:\n\n```bash\nsudo ln -s $(pwd)/marzban-cli.py /usr/bin/marzban-cli\nsudo chmod +x /usr/bin/marzban-cli\nmarzban-cli completion install\n```\n\nحالا یک کپی از `.env.example` با نام `.env` بسازید و با یک ادیتور آن را باز کنید و تنظیمات دلخواه خود را انجام دهید. یه عنوان مثال نام کاربری و رمز عبور را می توانید در این فایل تغییر دهید.\n\n```bash\ncp .env.example .env\nnano .env\n```\n\n\u003e برای اطلاعات بیشتر بخش [تنظیمات](#تنظیمات) را مطالعه کنید.\n\nدر انتها, مرزبان را به کمک دستور زیر اجرا کنید.\n\n```bash\npython3 main.py\n```\n\nاجرا با استفاده از systemctl در لینوکس\n```\nsystemctl enable /var/lib/marzban/marzban.service\nsystemctl start marzban\n```\n\nاجرا با nginx\n```\nserver {\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n    server_name  example.com;\n\n    ssl_certificate      /etc/letsencrypt/live/example.com/fullchain.pem;\n    ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem;\n\n    location ~* /(dashboard|statics|sub|api|docs|redoc|openapi.json) {\n        proxy_pass http://0.0.0.0:8000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n```\nor\n```\nserver {\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n    server_name  marzban.example.com;\n\n    ssl_certificate      /etc/letsencrypt/live/example.com/fullchain.pem;\n    ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem;\n\n    location / {\n        proxy_pass http://0.0.0.0:8000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}\n```\n\nبه صورت پیشفرض مرزبان در آدرس `http://localhost:8000/dashboard` اجرا میشود. شما میتوانید با تغییر `UVICORN_HOST` و `UVICORN_PORT`، هاست و پورت را تغییر دهید.\n\u003c/details\u003e\n\n# تنظیمات\n\n\u003e متغیر های زیر در فایل ‍`env` یا `.env` استفاده میشوند. شما می توانید با تعریف و تغییر آن ها، تنظیمات مرزبان را تغییر دهید.\n\n|                                                                                                                                                  توضیحات |                                                        متغیر                                                         |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------:| :------------------------------------------------------------------------------------------------------------------: |\n|                                                                                                                                       نام کاربری مدیر کل |                                                    SUDO_USERNAME                                                     |\n|                                                                                                                                         رمز عبور مدیر کل |                                                    SUDO_PASSWORD                                                     |\n|                                           آدرس دیتابیس ([بر اساس مستندات SQLAlchemy](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls)) |                                               SQLALCHEMY_DATABASE_URL                                                |\n|                                                                                               آدرس هاستی که مرزبان روی آن اجرا میشود (پیشفرض: `0.0.0.0`) |                                                     UVICORN_HOST                                                     |\n|                                                                                                       پورتی که مرزبان روی آن اجرا میشود (پیشفرض: `8000`) |                                                     UVICORN_PORT                                                     |\n|                                                                                                                اجرای مرزبان بر روی یک Unix domain socket |                                                     UVICORN_UDS                                                      |\n|                                                                                                               آدرس گواهی SSL به جهت ایمن کردن پنل مرزبان |                                                 UVICORN_SSL_CERTFILE                                                 |\n|                                                                                                                                      آدرس کلید گواهی SSL |                                                 UVICORN_SSL_KEYFILE                                                  |\n|                                                          نوع گواهینامه مرجع SSL. از «خصوصی» برای آزمایش CA با امضای خود استفاده کنید (پیش‌فرض: `public`) |                                                 UVICORN_SSL_CA_TYPE                                                  |\n|                                                                                                 مسیر فایل json تنظیمات xray (پیشفرض: `xray_config.json`) |                                                      XRAY_JSON                                                       |\n|                                                                                                         مسیر باینری xray (پیشفرض: `/usr/local/bin/xray`) |                                                 XRAY_EXECUTABLE_PATH                                                 |\n|                                                                                                    مسیر asset های xray (پیشفرض: `/usr/local/share/xray`) |                                                   XRAY_ASSETS_PATH                                                   |\n|                                  پیشوند (یا هاست) آدرس های اشتراکی (زمانی کاربرد دارد که نیاز دارید دامنه subscription link ها با دامنه پنل متفاوت باشد) |                                             XRAY_SUBSCRIPTION_URL_PREFIX                                             |\n|                                                                                                         تگ inboundای که به عنوان fallback استفاده میشود. |                                              XRAY_FALLBACKS_INBOUND_TAG                                              |\n|                                                                                 تگ های inbound ای که لازم نیست در کانفیگ های ساخته شده وجود داشته باشند. |                                              XRAY_EXCLUDE_INBOUND_TAGS                                               |\n|                                                                                                                آدرس محل template های شخصی سازی شده کاربر |                                              CUSTOM_TEMPLATES_DIRECTORY                                              |\n|                                                                            تمپلیت مورد استفاده برای تولید کانفیگ های Clash (پیشفرض: `clash/default.yml`) |                                             CLASH_SUBSCRIPTION_TEMPLATE                                              |\n|                                                                                      تمپلیت صفحه اطلاعات اشتراک کاربر (پیشفرض `subscription/index.html`) |                                              SUBSCRIPTION_PAGE_TEMPLATE                                              |\n|                                                                                                              تمپلیت صفحه اول (پیشفرض: `home/index.html`) |                                                  HOME_PAGE_TEMPLATE                                                  |\n|                                                                                        توکن ربات تلگرام (دریافت از [@botfather](https://t.me/botfather)) |                                                  TELEGRAM_API_TOKEN                                                  |\n|                                                                           آیدی عددی ادمین در تلگرام (دریافت از [@userinfobot](https://t.me/userinfobot)) |                                                  TELEGRAM_ADMIN_ID                                                   |\n|                                                                                                                                اجرای ربات از طریق پروکسی |                                                  TELEGRAM_PROXY_URL                                                  |\n|                                                             مدت زمان انقضا توکن دسترسی به پنل مرزبان, `0` به معنای بدون تاریخ انقضا است (پیشفرض: `1440`) |                                           JWT_ACCESS_TOKEN_EXPIRE_MINUTES                                            |\n|                                                                                        فعال سازی داکیومنتیشن به آدرس `/docs` و `/redoc`(پیشفرض: `False`) |                                                         DOCS                                                         |\n|                                                                                                      فعالسازی حالت توسعه (development) (پیشفرض: `False`) |                                                        DEBUG                                                         |\n|                                  آدرس webhook که تغییرات حالت یک کاربر به آن ارسال می‌شوند. اگر این متغیر مقدار داشته باشد، ارسال پیام‌ها انجام می‌شوند. |                                                    WEBHOOK_ADDRESS                                                   |\n|                                                                           متغیری که به عنوان `x-webhook-secret` در header ارسال می‌شود. (پیشفرض: `None`) |                                                    WEBHOOK_SECRET                                                    |\n|                                                              تعداد دفعاتی که برای ارسال یک پیام، در صورت تشخیص خطا در ارسال تلاش دوباره شود (پیشفرض `3`) |                                          NUMBER_OF_RECURRENT_NOTIFICATIONS                                           |\n|                                                                    مدت زمان بین هر ارسال دوباره پیام در صورت تشخیص خطا در ارسال به ثانیه (پیشفرض: `180`) |                                           RECURRENT_NOTIFICATIONS_TIMEOUT                                            |\n|                                                                     هنگام رسیدن مصرف کاربر به چه درصدی پیام اخطار به آدرس وبهوک ارسال شود (پیشفرض: `80`) |                                             NOTIFY_REACHED_USAGE_PERCENT                                             |\n|                                                                           چند روز مانده به انتهای سرویس پیام اخطار به آدرس وبهوک ارسال شود (پیشفرض: `3`) |                                                   NOTIFY_DAYS_LEFT                                                   |\n حذف خودکار کاربران منقضی شده (و بطور اختیاری محدود شده) پس از گذشت این تعداد روز (مقادیر منفی این قابلیت را به طور پیشفرض غیرفعال می کنند. پیشفرض: `-1`) |                                                   USERS_AUTODELETE_DAYS                                                   |\n                                                                                                 تعیین اینکه کاربران محدودشده شامل حذف خودکار بشوند یا نه |                                                   USER_AUTODELETE_INCLUDE_LIMITED_ACCOUNTS                                 |\n|                                                           فعال کردن کانفیگ سفارشی JSON برای همه برنامه‌هایی که از آن پشتیبانی می‌کنند (پیش‌فرض: `False`) | USE_CUSTOM_JSON_DEFAULT |\n|                                                                                فعال کردن کانفیگ سفارشی JSON فقط برای برنامه‌ی V2rayNG (پیش‌فرض: `False`) | USE_CUSTOM_JSON_FOR_V2RAYNG |\n|                                                                              فعال کردن کانفیگ سفارشی JSON فقط برای برنامه‌ی Streisand (پیش‌فرض: `False`) | USE_CUSTOM_JSON_FOR_STREISAND |\n|                                                                                 فعال کردن کانفیگ سفارشی JSON فقط برای برنامه‌ی V2rayN (پیش‌فرض: `False`) | USE_CUSTOM_JSON_FOR_V2RAYN |\n\n\n# داکیومنت\n[داکیومنت مرزبان](https://gozargah.github.io/marzban) تمامی آموزش‌های ضروری برای شروع را فراهم می‌کند و در سه زبان فارسی، انگلیسی و روسی در دسترس است. این داکیومنت نیاز به تلاش زیادی دارد تا تمامی جنبه‌های پروژه را به طور کامل پوشش دهد. ما از کمک و همکاری شما برای بهبود آن استقبال و قدردانی می‌کنیم. می‌توانید در این صفحه [گیت‌هاب](https://github.com/Gozargah/gozargah.github.io) مشارکت کنید.\n\n# استفاده از API\nمرزبان به توسعه دهندگانAPI REST ارائه می دهد. برای مشاهده اسناد API در قالب Swagger UI یا ReDoc، متغیر `DOCS=True` را در تنظیمات خود ست کنید و در مرورگر به مسیر `/docs` و `/redoc` بروید.\n\n\n# پشتیبان گیری از مرزبان\nبهتر است همیشه از فایل های مرزبان خود نسخه پشتیبان تهیه کنید تا در صورت خرابی سیستم یا حذف تصادفی اطلاعات از دست نروند. مراحل تهیه نسخه پشتیبان از مرزبان به شرح زیر است:\n\n1. به طور پیش فرض، تمام فایل های مهم مرزبان در `/var/lib/marzban` ذخیره می شوند (در نسخه داکر). کل پوشه `/var/lib/marzban` را در یک مکان پشتیبان مورد نظر خود، مانند هارد دیسک خارجی یا فضای ذخیره سازی ابری کپی کنید.\n2. علاوه بر این، مطمئن شوید که از فایل env خود که حاوی متغیرهای تنظیمات شما است و همچنین فایل پیکربندی Xray خود نسخه پشتیبان تهیه کنید.\n\nخدمات پشتیبان‌گیری مرزبان به طور کارآمد تمام فایل‌های ضروری را فشرده کرده و آن‌ها را به ربات تلگرام مشخص شده شما ارسال می‌کند. این خدمات از پایگاه‌های داده SQLite، MySQL و MariaDB پشتیبانی می‌کند. یکی از ویژگی‌های اصلی آن، خودکار بودن است که به شما اجازه می‌دهد تا پشتیبان‌گیری‌ها را هر ساعت برنامه‌ریزی کنید. محدودیتی در مورد محدودیت‌های آپلود تلگرام برای ربات‌ها وجود ندارد؛ اگر فایل شما بزرگتر از میزان محدودیت تلگرام باشد، به دو یا چند بخش تقسیم شده و ارسال می‌شود. علاوه بر این، شما می‌توانید در هر زمان پشتیبان‌گیری فوری انجام دهید.\n\nنصب آخرین ورژن مرزبان کامند:\n```bash\nsudo bash -c \"$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)\" @ install-script\n```\n\nراه‌اندازی سرویس پشتیبان گیری:\n```bash\nmarzban backup-service\n```\n\nپشتیبان گیری فوری:\n```bash\nmarzban backup\n```\n\nبا انجام این مراحل، می توانید اطمینان حاصل کنید که از تمام فایل ها و داده های مرزبان خود یک نسخه پشتیبان تهیه کرده اید. به خاطر داشته باشید که نسخه های پشتیبان خود را به طور مرتب به روز کنید تا آنها را به روز نگه دارید.\n\n\n# ربات تلگرام\nمرزبان دارای یک ربات تلگرام داخلی است که می تواند مدیریت سرور، ایجاد و حذف کاربر و ارسال نوتیفیکیشن را انجام دهد. این ربات را می توان با انجام چند مرحله ساده به راحتی فعال کرد\n\nبرای فعال کردن ربات تلگرام:\n\n1. در تنظیمات، متغیر`TELEGRAM_API_TOKEN` را به API TOKEN ربات تلگرام خود تنظیم کنید.\n2. همینطور، متغیر`TELEGRAM_ADMIN_ID` را به شناسه عددی حساب تلگرام خود تنظیم کنید. شما می‌توانید شناسه خود را از [@userinfobot](https://t.me/userinfobot) دریافت کنید.\n\n\n# رابط خط فرمان (CLI) مرزبان\nمرزبان دارای یک رابط خط فرمان (Command Line Interface / CLI) داخلی است که به مدیران اجازه می دهد با مرزبان ارتباط مستقیم داشته باشند.\n\nاگر از Docker برای مرزبان استفاده می کنید، بهتر است از دستور های `docker exec` یا `docker-compose exec` استفاده کنید تا به پوسته (shell) تعاملی کانتینر مرزبان دسترسی پیدا کنید.\n\nبرای مثال، به پوشه ی `docker-compose.yml` مرزبان بروید و دستور زیر را اجرا کنید:\n\n```bash\n$ sudo docker-compose exec -it marzban bash\n```\n\nرابط خط فرمان (CLI) مرزبان از طریق دستور `marzban-cli` هرکجا در دسترس خواهد بود!\n\nبرای کسب اطلاعات بیشتر می توانید [مستندات CLI مرزبان](./cli/README.md) را مطالعه کنید.\n\n\n# ارسال اعلان‌ها به آدرس وبهوک\nشما می‌توانید آدرسی را برای مرزبان فراهم کنید تا تغییرات کاربران را به صورت اعلان برای شما ارسال کند.\n\nاعلان‌ها به صورت یک درخواست POST به آدرسی که در `WEBHOOK_ADDRESS` فراهم شده به همراه مقدار تعیین شده در `WEBHOOK_SECRET` به عنوان `x-webhook-secret` در header درخواست ارسال می‌شوند.\n\nنمونه‌ای از درخواست ارسال شده توسط مرزبان:\n\n```\nHeaders:\nHost: 0.0.0.0:9000\nUser-Agent: python-requests/2.28.1\nAccept-Encoding: gzip, deflate\nAccept: */*\nConnection: keep-alive\nx-webhook-secret: something-very-very-secret\nContent-Length: 107\nContent-Type: application/json\n\n\n\nBody:\n{\"username\": \"marzban_test_user\", \"action\": \"user_updated\", \"enqueued_at\": 1680506457.636369, \"tries\": 0}\n```\n\nانواع مختلف actionهایی که مرزبان ارسال می‌کند: `user_created`, `user_updated`, `user_deleted`, `user_limited`, `user_expired`, `user_disabled`, `user_enabled`\n\n\n# کمک مالی\nاگر مرزبان را برای شما مفید بوده و می‌خواهید از توسعه آن حمایت کنید، می‌توانید در یکی از طریق یکی از شبکه های کریپتو زیر کمک مالی کنید:\n\n- شبکه TRON (TRX): `TX8kJoDcowQPBFTYHAJR36GyoUKP1Xwzkb`\n- شبکه ETH، BNB، MATIC: `0xFdc9ad32454FA4fc4733270FCc12ddBFb68b83F7`\n- شبکه بیت کوین: `bc1qpys2nefgsjjgae3g3gqy9crsv3h3rm96tlkz0v`\n- شبکه Dogecoin: `DJAocBAu8y6LwhDKUktLAyzV8xyoFeHH6R`\n- شبکه TON: `EQAVf-7hAXHlF-jmrKE44oBwN7HGQFVBLAtrOsev5K4qR4P8`\n\n\nاز حمایت شما متشکرم!\n\n\n# لایسنس\n\nتوسعه یافته شده در [ناشناس!] و منتشر شده تحت لایسنس [AGPL-3.0](./LICENSE).\n\n\n# مشارکت در توسعه\nاین ❤️‍🔥 تقدیم به همه‌ی کسایی که در توسعه مرزبان مشارکت می‌کنند! اگر می‌خواهید مشارکت داشته باشید، لطفاً [دستورالعمل‌های مشارکت](CONTRIBUTING.md) ما را بررسی کنید و در صورت تمایل Pull Request ارسال کنید یا یک Issue  باز کنید. همچنین از شما برای پیوستن به گروه [تلگرام](https://t.me/gozargah_marzban) ما برای حمایت یا کمک به راهنمایی استقبال می کنیم.\n\nلطفا اگر امکانش رو دارید، با بررسی [لیست کار ها](https://github.com/gozargah/marzban/issues) به ما در بهبود مرزبان کمک کنید. کمک های شما با آغوش باز پذیرفته میشه.\n\n\u003cp align=\"center\"\u003e\nبا تشکر از همه همکارانی که به بهبود مرزبان کمک کردند:\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/Gozargah/Marzban/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Gozargah/Marzban\" /\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  ساخته شده با \u003ca rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://contrib.rocks\"\u003econtrib.rocks\u003c/a\u003e\n\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGozargah%2FMarzban","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGozargah%2FMarzban","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGozargah%2FMarzban/lists"}