mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-30 01:34:59 +03: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,77 @@
|
||||
---
|
||||
title: تنظیمات پنل
|
||||
description: تمام تنظیمات پنل 3x-ui — وبسرور، TLS، نمایش، امنیت و اعلانها — همراه با مقادیر پیشفرض برگرفته از سورس.
|
||||
icon: SlidersHorizontal
|
||||
---
|
||||
|
||||
**تنظیمات پنل** نحوهی ارائه و ایمنسازی خودِ پنل را کنترل میکند (جدا از ورودیها
|
||||
و کلاینتهای شما). تنظیمات بهصورت جفتهای کلید/مقدار ذخیره میشوند؛ مقادیر
|
||||
پیشفرض زیر مستقیماً از سورس پنل گرفته شدهاند. اطلاعات محرمانه (توکنها، گذرواژهها)
|
||||
فقط با نشانگرِ «تنظیمشده / تنظیمنشده» نمایش داده میشوند و هرگز بهصورت کامل به
|
||||
مرورگر بازگردانده نمیشوند.
|
||||
|
||||
## وبسرور
|
||||
|
||||
| Setting | Default | Meaning |
|
||||
| ------------------- | ----------------------- | ----------------------------------------------------------------------- |
|
||||
| `webPort` | `2053` | پورت پنل (۱ تا ۶۵۵۳۵). متغیر محیطی `XUI_PORT` در زمان اجرا آن را بازنویسی میکند. |
|
||||
| `webListen` | _(همهی واسطها)_ | پنل را به یک IP مشخص مقید کنید. |
|
||||
| `webBasePath` | `/` | مسیر URLی که پنل زیر آن ارائه میشود (همیشه به شکل `/…/` نرمالسازی میشود). |
|
||||
| `webCertFile` / `webKeyFile` | _(هیچکدام)_ | گواهی + کلید TLS. وقتی هر دو تنظیم شوند، پنل با **HTTPS** ارائه میشود. |
|
||||
| `sessionMaxAge` | `360` | طول عمر نشست بر حسب **دقیقه** (پیشفرض ۶ ساعت). |
|
||||
| `trustedProxyCIDRs` | `127.0.0.1/32,::1/128` | IPها/CIDRهایی که هدرهای فورواردشدهشان (IP واقعی کلاینت) مورد اعتماد است. |
|
||||
| `panelOutbound` | _(هیچکدام)_ | مسیریابی خروجیِ خود پنل (بررسی بهروزرسانیها، Telegram، واکشی geo/sub) از طریق یک خروجی Xray با نام مشخص. |
|
||||
|
||||
پس از تغییر پورت یا مسیر پایه، آدرس پنل بهصورت
|
||||
`http(s)://<server>:<port><web-base-path>` درمیآید. میتوانید مسیر پایه را در
|
||||
نخستین اجرا با [`XUI_INIT_WEB_BASE_PATH`](/docs/reference/env-vars) از پیش تعیین کنید.
|
||||
|
||||
### TLS
|
||||
|
||||
ارائهی پنل روی HTTPS از اطلاعات احراز هویت شما در حین انتقال محافظت میکند. یا
|
||||
`webCertFile` + `webKeyFile` را تنظیم کنید — [منوی SSL در `x-ui`](/docs/config/ssl-certificates)
|
||||
میتواند یک گواهی Let's Encrypt برای شما تهیه کند — یا TLS را روی یک
|
||||
[پروکسی معکوس](/docs/operations/reverse-proxy) خاتمه دهید.
|
||||
|
||||
<Callout type="warn">
|
||||
هرگز پنل را روی اینترنت عمومی با HTTP ساده در دسترس قرار ندهید. از TLS، یک پورت
|
||||
غیرپیشفرض، و یک مسیر پایهی وب تصادفیِ بلند استفاده کنید.
|
||||
</Callout>
|
||||
|
||||
## نمایش
|
||||
|
||||
| Setting | Default | Meaning |
|
||||
| ---------------- | ------------------------------------------------ | ------------------------------------------------------------- |
|
||||
| `pageSize` | `25` | تعداد ردیف در هر صفحه از فهرستها (`0` صفحهبندی را غیرفعال میکند). |
|
||||
| `expireDiff` | `0` | تعداد روز پیش از انقضا برای شروع هشدار. |
|
||||
| `trafficDiff` | `0` | درصد باقیمانده از سهمیه که در آن هشدار آغاز میشود. |
|
||||
| `remarkTemplate` | `{{INBOUND}}-{{EMAIL}}\|📊{{TRAFFIC_LEFT}}\|⏳{{DAYS_LEFT}}D` | الگوی پیشفرض یادداشت کلاینت (نگاه کنید به [لینکهای اشتراکگذاری](/docs/config/share-links#remark-template-variables)). |
|
||||
| `timeLocation` | `Local` | منطقهی زمانی برای آمار و انقضا. |
|
||||
| `datepicker` | `gregorian` | تقویم برای ورودیهای تاریخ (میلادی یا جلالی/شمسی). |
|
||||
|
||||
## امنیت و احراز هویت
|
||||
|
||||
اطلاعات احراز هویت، احراز هویت دومرحلهای، محدودکنندهی حملات جستجوی فراگیر،
|
||||
نشستها و LDAP در [نخستین ورود](/docs/guide/first-login) و
|
||||
[امنیت](/docs/operations/security) پوشش داده شدهاند. بهطور خلاصه:
|
||||
|
||||
- گذرواژهها بهصورت هشهای **bcrypt** ذخیره میشوند؛ تغییر آنها همهی نشستها را از سیستم خارج میکند.
|
||||
- **۲FA (TOTP)** میتواند در زمان ورود الزامی شود.
|
||||
- یک سازوکار جایگزین **LDAP** میتواند زمانی که بررسی گذرواژهی محلی ناموفق باشد، کاربران را احراز هویت کند.
|
||||
- دسترسی API از **توکنهای API** استفاده میکند که زیر تنظیمات پنل مدیریت میشوند (نگاه کنید به
|
||||
[مرجع API](/docs/reference/api/api-tokens)).
|
||||
|
||||
## اعلانها و اشتراک
|
||||
|
||||
این موارد گروههای تنظیمات و صفحههای مخصوص خود را دارند:
|
||||
|
||||
<Cards>
|
||||
<Card title="ربات Telegram" href="/docs/operations/telegram-bot" description="توکن، شناسههای چت، هشدارها و گزارشها." />
|
||||
<Card title="اشتراک" href="/docs/config/subscription" description="سرور اشتراک، قالبها و مسیرها." />
|
||||
<Card title="امنیت" href="/docs/operations/security" description="۲FA، محدودیتهای IP و سختسازی." />
|
||||
</Cards>
|
||||
|
||||
<Callout type="info">
|
||||
اعلانهای ایمیل (SMTP) نیز قابل پیکربندیاند (میزبان، پورت، رمزنگاری،
|
||||
گیرندگان) با همان انواع رویدادهای ربات Telegram.
|
||||
</Callout>
|
||||
Reference in New Issue
Block a user