mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-27 02:55:22 +08:00
docs: vendor the documentation site into the monorepo
Fold the standalone 3x-ui-docs project (Next.js 16 + Fumadocs, deployed to docs.sanaei.dev) into docs/ so the panel and its documentation share a single source of truth, the way sing-box keeps its docs in-tree. The old repo becomes redundant and can be retired. - Import the full site under docs/ (app, components, content, lib, public, scripts, config). The self-contained pnpm project sits alongside the existing engineering notes with no filename collisions. - Re-point "Edit on GitHub" links from MHSanaei/3x-ui-docs to this repo's docs/content/docs path (docs/lib/shared.ts, docs/app/.../page.tsx). - Add docs-ci.yml and docs-deploy.yml under .github/workflows/, scoped to docs/** and run with working-directory: docs, since GitHub only runs workflows from the repo-root .github/. deploy-static.yml's GitHub Pages publish (CNAME docs.sanaei.dev) carries over unchanged. Follow-up (outside this commit): attach the docs.sanaei.dev custom domain to this repository's Pages (or set the Vercel project's root directory to docs), confirm the site is live from the monorepo, then delete MHSanaei/3x-ui-docs.
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
---
|
||||
title: نخستین ورود
|
||||
description: مشخصات ورود تولیدشدهٔ 3x-ui را بیابید، به پنل دسترسی پیدا کنید، احراز هویت دومرحلهای را فعال کنید و پیش از در معرض قرار دادن هر چیزی، پنل را ایمنسازی کنید.
|
||||
icon: KeyRound
|
||||
---
|
||||
|
||||
پس از نصب، نخستین کار شما این است که وارد پنل شوید و **آن را ایمن کنید**، پیش از
|
||||
آنکه چیز دیگری را در معرض دسترس قرار دهید.
|
||||
|
||||
## دسترسی به پنل
|
||||
|
||||
پنل در این نشانی ارائه میشود:
|
||||
|
||||
```text
|
||||
http://<your-server-ip>:<port>/<web-base-path>
|
||||
```
|
||||
|
||||
پورت پیشفرض **2053** و مسیر پایهٔ پیشفرض `/` است — اما نصب با اسکریپت، نام
|
||||
کاربری، رمز عبور، **پورت** و مسیر پایهٔ وب را **بهصورت تصادفی تولید میکند**،
|
||||
پس مقادیر واقعی خود را بررسی کنید.
|
||||
|
||||
### یافتن مشخصات ورود
|
||||
|
||||
نصب با اسکریپت پس از پایان، خلاصهای از مشخصات ورود را چاپ میکند و آن را در یک
|
||||
فایل ویژهٔ root نیز مینویسد:
|
||||
|
||||
```bash title="/etc/x-ui/install-result.env (mode 600)"
|
||||
XUI_USERNAME=...
|
||||
XUI_PASSWORD=...
|
||||
XUI_PANEL_PORT=...
|
||||
XUI_WEB_BASE_PATH=...
|
||||
XUI_ACCESS_URL=...
|
||||
XUI_API_TOKEN=...
|
||||
XUI_DB_TYPE=sqlite
|
||||
```
|
||||
|
||||
اگر آنها را از دست دادید، از ابزارهای مدیریتی استفاده کنید:
|
||||
|
||||
```bash
|
||||
x-ui # menu → 11 (View Current Settings)
|
||||
x-ui settings # or the one-shot form
|
||||
```
|
||||
|
||||
برای **Docker**، مشخصات ورود تولیدشده را از لاگهای کانتینر بخوانید، یا دستور
|
||||
`docker exec -it <container> x-ui setting -show` را اجرا کنید.
|
||||
|
||||
<Callout type="warn">
|
||||
اگر پنل شما هنوز از مقادیر پیشفرض `admin` / `admin` استفاده میکند (پنل در این
|
||||
حالت هشدار میدهد)، بیدرنگ آن را تغییر دهید — پیش از ساختن هر inbound.
|
||||
</Callout>
|
||||
|
||||
## تغییر مشخصات ورود، پورت و مسیر
|
||||
|
||||
یک پورت غیرپیشفرض و یک **مسیر پایهٔ وب** طولانی و تصادفی، یافتن پنل را بسیار
|
||||
دشوارتر میکند. آنها را از بخش **Panel Settings** در رابط کاربری، یا از منوی
|
||||
`x-ui` تغییر دهید:
|
||||
|
||||
- **7 — Reset Username & Password** (با امکان غیرفعالسازی همزمان 2FA)
|
||||
- **8 — Reset Web Base Path** (آن را تصادفی میکند)
|
||||
- **10 — Change Port**
|
||||
|
||||
تغییر نام کاربری یا رمز عبور **همهٔ نشستهای موجود را از سیستم خارج میکند** و
|
||||
اگر احراز هویت دومرحلهای فعال بود، آن را غیرفعال میسازد.
|
||||
|
||||
## احراز هویت دومرحلهای (2FA)
|
||||
|
||||
3x-ui از احراز هویت دومرحلهای TOTP پشتیبانی میکند (سازگار با Google
|
||||
Authenticator، Aegis و غیره). آن را در بخش **Panel Settings** فعال کنید — پس از
|
||||
فعالسازی، صفحهٔ ورود علاوه بر رمز عبور، یک کد ۶ رقمی نیز درخواست میکند و
|
||||
فعال کردن آن همه را وادار به ورود مجدد میکند. میتوانید آن را از مرحلهٔ **Reset
|
||||
Username & Password** در منو یا با دستور `x-ui setting -resetTwoFactor` غیرفعال
|
||||
کنید.
|
||||
|
||||
## محافظت داخلی از ورود
|
||||
|
||||
- **محدودکنندهٔ حملهٔ جستجوی فراگیر:** پس از **۵** ورود ناموفق از یک IP/نام
|
||||
کاربری یکسان در بازهٔ ۵ دقیقه، آن ترکیب برای **۱۵ دقیقه** مسدود میشود.
|
||||
- **خطاهای عمومی:** صفحهٔ ورود هم برای مشخصات نادرست و هم برای کدهای 2FA نادرست،
|
||||
پیام «wrong username or password» را نمایش میدهد، پس هیچ چیزی فاش نمیکند.
|
||||
- **نشستها** به مدت `sessionMaxAge` دقیقه (پیشفرض **۳۶۰** = ۶ ساعت) معتبرند و
|
||||
هنگام تغییر مشخصات ورود باطل میشوند.
|
||||
- **LDAP** را میتوان بهعنوان روش جایگزین احراز هویت در Panel Settings فعال کرد.
|
||||
|
||||
## چکلیست ضروری ایمنسازی
|
||||
|
||||
<Steps>
|
||||
|
||||
<Step>
|
||||
### مشخصات ورود قوی و یکتا تعیین کنید
|
||||
|
||||
نام کاربری و رمز عبور تولیدشده (یا `admin/admin`) را با مقادیر قوی جایگزین کنید.
|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
### از پورت غیرپیشفرض و مسیر پایهٔ تصادفی استفاده کنید
|
||||
|
||||
پنل را از `2053` جابهجا کنید و آن را زیر یک مسیر تصادفی و طولانی ارائه دهید.
|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
### احراز هویت دومرحلهای را فعال کنید
|
||||
|
||||
2FA را فعال کنید تا یک رمز عبور لو رفته بهتنهایی نتواند دسترسی بدهد.
|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
### پنل را پشت TLS قرار دهید
|
||||
|
||||
از یک گواهی معتبر (از طریق مدیریت SSL در منوی `x-ui` یا یک reverse proxy)
|
||||
استفاده کنید تا پنل تنها از طریق HTTPS در دسترس باشد.
|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
### دسترسی را با فایروال محدود کنید
|
||||
|
||||
تنها پورتهایی را که واقعاً نیاز دارید باز کنید و محدود کردن دسترسی به پنل بر
|
||||
اساس IP را در نظر بگیرید.
|
||||
</Step>
|
||||
|
||||
</Steps>
|
||||
|
||||
<Callout type="info">
|
||||
میخواهید پنل روی یک دامنهٔ تمیز با HTTPS خودکار باشد؟ به
|
||||
[Reverse proxy](/docs/operations/reverse-proxy) مراجعه کنید. برای ایمنسازی
|
||||
عمیقتر، به [Security](/docs/operations/security) مراجعه کنید.
|
||||
</Callout>
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: آشنایی با 3x-ui
|
||||
description: یک پنل تحت وب برای Xray-core — ورودیها، پروتکلها، کلاینتها و اشتراکها را بهجای ویرایش دستی JSON، از مرورگر خود مدیریت کنید.
|
||||
icon: Info
|
||||
---
|
||||
|
||||
**3x-ui** یک پنل کنترل تحت وب است که روی
|
||||
[Xray-core](https://github.com/XTLS/Xray-core)، همان موتور پروکسی که در واقع
|
||||
ترافیک شما را جابهجا میکند، قرار میگیرد. بهجای نوشتن و بارگذاری مجدد پیکربندی
|
||||
JSON Xray بهصورت دستی، همهچیز — ورودیها، پروتکلها، کلاینتها، گواهیها،
|
||||
اشتراکها — را از یک داشبورد مرورگری مدیریت میکنید.
|
||||
|
||||
## اجزا چگونه کنار هم کار میکنند
|
||||
|
||||
<Mermaid
|
||||
chart={`
|
||||
flowchart LR
|
||||
Admin["Admin browser"] -->|HTTPS panel| Panel["3x-ui panel"]
|
||||
Panel -->|writes config, reloads| Xray["Xray-core"]
|
||||
Panel --- DB[("SQLite or PostgreSQL")]
|
||||
Clients["Client apps"] -->|VLESS / VMess / Trojan / ...| Xray
|
||||
Xray -->|proxied traffic| Internet["Internet"]
|
||||
`}
|
||||
/>
|
||||
|
||||
- **پنل** لایهٔ مدیریت است: پیکربندی شما را در یک پایگاهداده ذخیره میکند،
|
||||
داشبورد را رندر میکند، یک REST API ارائه میدهد و پیکربندی زندهٔ Xray را
|
||||
مینویسد.
|
||||
- **Xray-core** لایهٔ داده است: اتصالات کلاینت را روی **ورودیهای** شما
|
||||
پایان میدهد و ترافیک را به مقصدش هدایت میکند.
|
||||
- **اپلیکیشنهای کلاینت** (مانند v2rayNG، Clash/Mihomo، Hiddify و دیگران) با
|
||||
استفاده از یک لینک اشتراکگذاری یا اشتراکی که پنل برای هر کلاینت تولید میکند
|
||||
متصل میشوند.
|
||||
|
||||
## چه چیزی در اختیار شما میگذارد
|
||||
|
||||
- داشبوردی برای **ورودیها** در تمام پروتکلهای اصلی — VLESS، VMess،
|
||||
Trojan، Shadowsocks، WireGuard، Hysteria2، SOCKS، HTTP و Dokodemo-door.
|
||||
- پشتیبانی درجهیک از **REALITY** و **XTLS-Vision** برای ترانسپورتهای مخفی
|
||||
و سریع.
|
||||
- سهمیههای ترافیک **بهازای هر کلاینت**، تاریخهای انقضا، محدودیتهای IP،
|
||||
وضعیت آنلاین و لینکهای اشتراکگذاری / کدهای QR با یک کلیک.
|
||||
- **اشتراکها** در قالبهای VLESS، Clash/Mihomo و JSON.
|
||||
- ابزارهای عملیاتی: مدیریت **چندنودی**، یک **ربات Telegram**، پشتیبانگیری،
|
||||
محدودسازی IP مبتنی بر Fail2ban و یک REST API مستندشده.
|
||||
|
||||
## پشت صحنه
|
||||
|
||||
| لایه | فناوری |
|
||||
| ------------ | -------------------------------------------- |
|
||||
| بکاند | Go با فریمورک وب Gin |
|
||||
| فرانتاند | TypeScript / React |
|
||||
| پایگاهداده | SQLite (پیشفرض) یا PostgreSQL |
|
||||
| موتور پروکسی | Xray-core (همراه و مدیریتشده توسط پنل) |
|
||||
|
||||
پایگاهدادهٔ پیشفرض SQLite در مسیر `/etc/x-ui/x-ui.db` قرار دارد و پنل بهصورت
|
||||
پیشفرض روی پورت **2053** گوش میدهد. هر دو قابل پیکربندی هستند — به
|
||||
[نخستین ورود](/docs/guide/first-login) و مرجع متغیرهای محیطی مراجعه کنید.
|
||||
|
||||
## برای چه کسانی است
|
||||
|
||||
3x-ui برای هر کسی که سرور Xray خودش را اجرا میکند طراحی شده است: از یک
|
||||
VPS شخصی منفرد تا اپراتورهایی که نودها و کلاینتهای فراوانی را مدیریت میکنند. اگر
|
||||
قدرت Xray-core را میخواهید بدون اینکه در فایلهای پیکربندی JSON زندگی کنید، این
|
||||
برای شماست.
|
||||
|
||||
<Callout type="info">
|
||||
3x-ui یک فورک ارتقایافته از پروژهٔ اصلی X-UI است که پشتیبانی گستردهتری از
|
||||
پروتکلها، پایداری بهبودیافته، حسابداری ترافیک بهازای هر کلاینت، مدیریت
|
||||
چندنودی و بسیاری از قابلیتهای راحتیبخش را اضافه میکند.
|
||||
</Callout>
|
||||
|
||||
آمادهاید نصب کنید؟ به [نصب](/docs/guide/installation) ادامه دهید.
|
||||
@@ -0,0 +1,150 @@
|
||||
---
|
||||
title: نصب
|
||||
description: نصب 3x-ui با اسکریپت رسمی (نسخهٔ پایدار، نسخهٔ مشخص یا dev-latest)، نصب خودکار/cloud-init یا Docker — و انتخاب میان SQLite و PostgreSQL.
|
||||
icon: Download
|
||||
---
|
||||
|
||||
3x-ui روی طیف گستردهای از توزیعهای Linux اجرا میشود — Ubuntu، Debian، Armbian،
|
||||
Fedora، CentOS، RHEL، AlmaLinux، Rocky Linux، Oracle Linux، Amazon Linux،
|
||||
Virtuozzo، Arch، Manjaro، openSUSE (Tumbleweed/Leap)، Alpine — و همچنین Windows،
|
||||
روی معماریهای `amd64`، `386`، `arm64`، `armv7`، `armv6`، `armv5` و `s390x`.
|
||||
|
||||
<Callout type="warn">
|
||||
نصبکنندهٔ اسکریپتی را بهصورت **root** (یا با `sudo`) اجرا کنید. این اسکریپت یک
|
||||
سرویس نصب میکند، دستور مدیریتی `x-ui` را راهاندازی میکند و پنل را در زمان
|
||||
بوت فعال میسازد.
|
||||
</Callout>
|
||||
|
||||
<Tabs items={['Script', 'Docker', 'Manual']}>
|
||||
|
||||
<Tab value="Script">
|
||||
|
||||
اسکریپت رسمی مسیر توصیهشده است. این اسکریپت در طول نصب یک نام کاربری، رمز عبور و
|
||||
مسیر دسترسی (مسیر پایهٔ وب) **تصادفی** تولید میکند، سرویس را راهاندازی میکند و
|
||||
دستور مدیریتی `x-ui` را نصب میکند.
|
||||
|
||||
```bash title="latest stable"
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
|
||||
```
|
||||
|
||||
برای نصب یک **نسخهٔ مشخص**، تگ آن را در انتها اضافه کنید:
|
||||
|
||||
```bash title="pinned version"
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v3.4.0
|
||||
```
|
||||
|
||||
برای نصب نسخهٔ **dev** غلتان (آخرین پیشانتشار بهازای هر کامیت از شاخهٔ `main`
|
||||
— نه یک نسخهٔ پایدار) عبارت `dev-latest` را پاس دهید:
|
||||
|
||||
```bash title="rolling dev build"
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) dev-latest
|
||||
```
|
||||
|
||||
پس از پایان نصب، مشخصات ورود چاپشده را یادداشت کنید و دستور `x-ui` را اجرا کنید تا
|
||||
[منوی مدیریت](/docs/guide/update-uninstall#the-x-ui-management-menu) باز شود، سپس
|
||||
به [نخستین ورود](/docs/guide/first-login) ادامه دهید.
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab value="Docker">
|
||||
|
||||
پیکربندی پیشفرض Compose از SQLite استفاده میکند. مخزن را کلون کنید (یا فایلهای
|
||||
`docker-compose.yml` و `Dockerfile` آن را کپی کنید) و آن را اجرا کنید:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
برای اجرا با سرویس **PostgreSQL** همراه، دو خط `XUI_DB_*` را در
|
||||
`docker-compose.yml` از حالت کامنت خارج کنید و با پروفایل مربوطه اجرا کنید:
|
||||
|
||||
```bash
|
||||
docker compose --profile postgres up -d
|
||||
```
|
||||
|
||||
ترجیح میدهید از ایمیج ازپیشساخته استفاده کنید؟ این ایمیج روی GitHub Container Registry
|
||||
منتشر شده است. این ایمیج Fail2ban را بههمراه دارد (برای [محدودیتهای IP](/docs/operations/security))
|
||||
که با `iptables` مسدودسازی انجام میدهد و بنابراین به `NET_ADMIN` (و `NET_RAW` برای IPv6)
|
||||
نیاز دارد — در غیر این صورت مسدودسازیها فقط ثبت میشوند ولی هرگز اعمال نمیشوند:
|
||||
|
||||
```bash title="docker run"
|
||||
docker run -d \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=NET_RAW \
|
||||
-e XUI_ENABLE_FAIL2BAN=true \
|
||||
-v $PWD/db/:/etc/x-ui/ \
|
||||
-v $PWD/cert/:/root/cert/ \
|
||||
--network=host \
|
||||
--restart=unless-stopped \
|
||||
--name 3x-ui \
|
||||
ghcr.io/mhsanaei/3x-ui:latest
|
||||
```
|
||||
|
||||
والیوم `db/` پایگاهدادهٔ SQLite (`/etc/x-ui/x-ui.db`) را نگه میدارد و `cert/`
|
||||
گواهیهای TLS را، بنابراین دادههای شما در ارتقاها حفظ میشوند.
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab value="Manual">
|
||||
|
||||
برای کاربران پیشرفته، یک آرشیو انتشار متناسب با معماری خود را از
|
||||
[صفحهٔ releases](https://github.com/MHSanaei/3x-ui/releases) دانلود کنید، آن را
|
||||
استخراج کنید و باینری را بهعنوان یک سرویس systemd اجرا کنید. اسکریپت نصب دقیقاً
|
||||
همین مراحل را خودکار میکند، بنابراین مگر اینکه دلیل خاصی برای نصب دستی داشته
|
||||
باشید، روش اسکریپتی ترجیح داده میشود.
|
||||
|
||||
</Tab>
|
||||
|
||||
</Tabs>
|
||||
|
||||
## دستور نصب خود را بسازید
|
||||
|
||||
دستور را متناسب با تنظیمات خود سفارشی کنید:
|
||||
|
||||
<InstallCommandBuilder />
|
||||
|
||||
## انتخاب یک پایگاهداده
|
||||
|
||||
شما بکاند ذخیرهسازی را در زمان نصب انتخاب میکنید:
|
||||
|
||||
- **SQLite** (پیشفرض) — یک فایل واحد در مسیر `/etc/x-ui/x-ui.db`. بدون نیاز به هیچ تنظیماتی.
|
||||
- **PostgreSQL** — برای تعداد کلاینت بالا یا پیکربندیهای چندنودی. نصبکننده
|
||||
میتواند آن را بهصورت محلی نصب کند یا از یک DSN که شما ارائه میدهید استفاده کند.
|
||||
|
||||
برای جزئیات و مهاجرت SQLite→PostgreSQL به [پایگاهداده](/docs/reference/database)
|
||||
مراجعه کنید.
|
||||
|
||||
## نصب خودکار / cloud-init
|
||||
|
||||
نصبکننده برای خودکارسازی بهصورت **غیرتعاملی** نیز اجرا میشود.
|
||||
`XUI_NONINTERACTIVE=1` را تنظیم کنید (یا بدون TTY اجرا کنید) تا نصب بهصورت
|
||||
سرتاسری و بدون هیچ پرسشی انجام شود، مشخصات تصادفی تولید کند و آنها را در
|
||||
`/etc/x-ui/install-result.env` بنویسد:
|
||||
|
||||
```bash
|
||||
XUI_NONINTERACTIVE=1 bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
|
||||
```
|
||||
|
||||
دایرکتوری [`deploy/`](https://github.com/MHSanaei/3x-ui/tree/main/deploy) در مخزن
|
||||
یک user-data آمادهٔ **cloud-init** برای نصبهای خودکار روی هر ابری (Hetzner، AWS،
|
||||
DigitalOcean، Vultr، GCP، Azure، Oracle) دارد.
|
||||
|
||||
## گامهای بعدی
|
||||
|
||||
<Cards>
|
||||
<Card
|
||||
title="نخستین ورود"
|
||||
href="/docs/guide/first-login"
|
||||
description="به پنل دسترسی پیدا کنید و آن را ایمن کنید."
|
||||
/>
|
||||
<Card
|
||||
title="بهروزرسانی و حذف نصب"
|
||||
href="/docs/guide/update-uninstall"
|
||||
description="منوی x-ui، بهروزرسانیها و حذف."
|
||||
/>
|
||||
<Card
|
||||
title="REALITY"
|
||||
href="/docs/config/reality"
|
||||
description="نخستین ورودی مخفی خود را پیکربندی کنید."
|
||||
/>
|
||||
</Cards>
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"title": "شروع به کار",
|
||||
"icon": "Rocket",
|
||||
"pages": ["index", "installation", "first-login", "update-uninstall"]
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: بهروزرسانی و حذف
|
||||
description: مدیریت 3x-ui با منوی x-ui و خط فرمان — بهروزرسانی (پایدار، dev یا نسخههای قدیمی)، تغییر تنظیمات و حذف تمیز و کامل.
|
||||
icon: RefreshCw
|
||||
---
|
||||
|
||||
پس از نصب با اسکریپت، دستور `x-ui` مرکز کنترل شماست. آن را بدون هیچ آرگومانی اجرا
|
||||
کنید تا منوی تعاملی باز شود، یا یک زیردستور به آن بدهید تا یک عملیات تکمرحلهای انجام شود.
|
||||
|
||||
```bash
|
||||
x-ui
|
||||
```
|
||||
|
||||
## منوی مدیریت `x-ui`
|
||||
|
||||
منو (آیتمهای `0`–`28`) وضعیت پنل/Xray را در بالا نشان میدهد و سپس:
|
||||
|
||||
| # | آیتم | کاری که انجام میدهد |
|
||||
| ----- | -------------------------------------- | --------------------------------------------------------- |
|
||||
| 1 | Install | (دوباره) نصب از روی اسکریپت راه دور |
|
||||
| 2 | Update | بهروزرسانی به آخرین نسخهٔ **پایدار** |
|
||||
| 3 | Update to Dev Channel (latest commit) | بهروزرسانی به بیلد غلتان `dev-latest` |
|
||||
| 4 | Update Menu | بهروزرسانی فقط اسکریپت منوی `x-ui` |
|
||||
| 5 | Legacy Version | نصب یک نسخهٔ قدیمی مشخص (تگ را میپرسد) |
|
||||
| 6 | Uninstall | حذف 3x-ui (در ادامه ببینید) |
|
||||
| 7 | Reset Username & Password | تنظیم مشخصات جدید؛ اختیاراً غیرفعالکردن 2FA |
|
||||
| 8 | Reset Web Base Path | تصادفیکردن مسیر پایهٔ وب |
|
||||
| 9 | Reset Settings | بازنشانی تنظیمات پنل (حساب شما حفظ میشود) |
|
||||
| 10 | Change Port | تغییر پورت پنل |
|
||||
| 11 | View Current Settings | نمایش نام کاربری، پورت، مسیر پایهٔ وب، مسیرهای گواهی |
|
||||
| 12–14 | Start / Stop / Restart | کنترل سرویس پنل |
|
||||
| 15 | Restart Xray | بارگذاری مجدد فقط Xray-core |
|
||||
| 16 | Check Status | وضعیت سرویس |
|
||||
| 17 | Logs Management | مشاهدهٔ لاگهای دیباگ / پاکسازی لاگها |
|
||||
| 18–19 | Enable / Disable Autostart | فعال/غیرفعالکردن اجرای خودکار در زمان بوت |
|
||||
| 20 | SSL Certificate Management | Let's Encrypt (دامنه یا IP)، مسیرهای سفارشی، تمدید/ابطال |
|
||||
| 21 | Cloudflare SSL Certificate | گواهی wildcard از طریق DNS-01 با Cloudflare |
|
||||
| 22 | IP Limit Management | محدودیت IP بهازای هر کلاینت مبتنی بر Fail2ban |
|
||||
| 23 | Firewall Management | نصب `ufw` و قواعد پورت |
|
||||
| 24 | SSH Port Forwarding Management | اتصال پنل به localhost و تونلزدن روی SSH |
|
||||
| 25 | PostgreSQL Management | نصب/مهاجرت/مدیریت PostgreSQL |
|
||||
| 26 | Enable BBR | فعال/غیرفعالکردن sysctl کنترل ازدحام BBR |
|
||||
| 27 | Update Geo Files | بهروزرسانی دادهٔ geoip/geosite (Loyalsoldier، IR، RU) |
|
||||
| 28 | Speedtest by Ookla | اجرای تست سرعت Ookla |
|
||||
| 0 | Exit | — |
|
||||
|
||||
برخی از این موارد صفحهٔ مخصوص خود را دارند: [گواهیهای SSL](/docs/config/ssl-certificates)
|
||||
(آیتمهای 20–21)، [امنیت](/docs/operations/security) (محدودیت IP، فایروال)،
|
||||
[پروکسی معکوس](/docs/operations/reverse-proxy) و [تنظیمات پنل](/docs/config/panel)
|
||||
(TLS)، و [پایگاهداده](/docs/reference/database) (PostgreSQL).
|
||||
|
||||
## زیردستورهای خط فرمان
|
||||
|
||||
برای اسکریپتها و اقدامهای سریع، `x-ui` یک زیردستور را هم مستقیماً میپذیرد:
|
||||
|
||||
| دستور | عملیات |
|
||||
| -------------------------- | --------------------------------------------------- |
|
||||
| `x-ui start` / `stop` / `restart` | کنترل سرویس |
|
||||
| `x-ui restart-xray` | بارگذاری مجدد فقط Xray-core |
|
||||
| `x-ui status` | نمایش وضعیت |
|
||||
| `x-ui settings` | نمایش تنظیمات فعلی |
|
||||
| `x-ui enable` / `disable` | فعال/غیرفعالکردن اجرای خودکار در زمان بوت |
|
||||
| `x-ui log` | دنبالکردن لاگ دیباگ |
|
||||
| `x-ui banlog` | نمایش لاگ مسدودسازی Fail2ban |
|
||||
| `x-ui update` | بهروزرسانی به آخرین نسخهٔ پایدار |
|
||||
| `x-ui update-dev` | بهروزرسانی به بیلد غلتان `dev-latest` |
|
||||
| `x-ui legacy` | نصب یک نسخهٔ قدیمی مشخص (میپرسد) |
|
||||
| `x-ui update-all-geofiles` | بهروزرسانی همهٔ فایلهای geo و راهاندازی مجدد در صورت تغییر |
|
||||
| `x-ui migrate-db --dsn …` | مهاجرت SQLite ← PostgreSQL (نگاه کنید به [پایگاهداده](/docs/reference/database)) |
|
||||
| `x-ui install` / `uninstall` | نصب / حذف |
|
||||
|
||||
## بهروزرسانی
|
||||
|
||||
- **پایدار:** گزینهٔ منوی **۲** یا `x-ui update`. اجرای دوبارهٔ اسکریپت نصب هم
|
||||
در همان محل بهروزرسانی میکند.
|
||||
- **کانال dev:** گزینهٔ منوی **۳** یا `x-ui update-dev` — بیلد غلتان
|
||||
`dev-latest` بهازای هر کامیت (نه یک نسخهٔ پایدار).
|
||||
- **یک نسخهٔ قدیمی مشخص:** گزینهٔ منوی **۵** (Legacy Version).
|
||||
|
||||
بهروزرسانی، پایگاهداده و تنظیمات شما را حفظ میکند. پیش از یک جهش نسخهٔ اصلی، یک
|
||||
[پشتیبان](/docs/operations/backup-restore) بگیرید.
|
||||
|
||||
<Callout type="info">
|
||||
کاربران Docker به شیوهٔ دیگری بهروزرسانی میکنند — بهجای استفاده از دستورهای
|
||||
بهروزرسانی `x-ui`، ایمیج جدید را pull کرده و کانتینر را از نو بسازید
|
||||
(`docker compose pull && docker compose up -d`).
|
||||
</Callout>
|
||||
|
||||
## حذف
|
||||
|
||||
گزینهٔ منوی **۶** یا `x-ui uninstall`. سرویس را متوقف و غیرفعال میکند، یونیت سرویس
|
||||
را حذف میکند و `/etc/x-ui/` و پوشهٔ نصب را پاک میکند. اگر پنل از یک PostgreSQL
|
||||
نصبشده بهصورت محلی استفاده میکرده، پیشنهاد میدهد آن را هم پاکسازی کند (یک تأیید
|
||||
جداگانه و برگشتناپذیر).
|
||||
|
||||
<Callout type="warn">
|
||||
حذف، پایگاهداده (`/etc/x-ui/x-ui.db`) و پیکربندی شما را پاک میکند. اگر ممکن است
|
||||
بعداً به آن نیاز داشته باشید، ابتدا [پشتیبان بگیرید](/docs/operations/backup-restore).
|
||||
</Callout>
|
||||
Reference in New Issue
Block a user