Files
3x-ui/docs/content/docs/fa/guide/first-login.mdx
T
MHSanaei 9b91f0f42e 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.
2026-07-07 23:07:14 +02:00

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>