mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-30 17:55:00 +03:00
9b91f0f42e
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.
127 lines
6.0 KiB
Plaintext
127 lines
6.0 KiB
Plaintext
---
|
|
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>
|