|
|
20 hours ago | |
|---|---|---|
| .. | ||
| app | 20 hours ago | |
| components | 20 hours ago | |
| content | 20 hours ago | |
| lib | 20 hours ago | |
| public | 20 hours ago | |
| scripts | 20 hours ago | |
| .gitattributes | 20 hours ago | |
| .gitignore | 20 hours ago | |
| .prettierignore | 20 hours ago | |
| .prettierrc.json | 20 hours ago | |
| CONTRIBUTING.md | 20 hours ago | |
| LICENSE | 20 hours ago | |
| README.md | 20 hours ago | |
| architecture.md | 1 day ago | |
| custom-subscription-templates.md | 4 weeks ago | |
| eslint.config.mjs | 20 hours ago | |
| next.config.mjs | 20 hours ago | |
| package.json | 20 hours ago | |
| pnpm-lock.yaml | 20 hours ago | |
| pnpm-workspace.yaml | 20 hours ago | |
| postcss.config.mjs | 20 hours ago | |
| proxy.ts | 20 hours ago | |
| real-client-ip.md | 3 weeks ago | |
| source.config.ts | 20 hours ago | |
| tsconfig.json | 20 hours ago | |
| vercel.json | 20 hours ago | |
| vitest.config.ts | 20 hours ago | |
The official documentation and product site for 3x-ui — an advanced web panel for managing Xray-core servers.
This directory (docs/ in the 3x-ui monorepo) contains
the source for docs.sanaei.dev — a static-first documentation and
marketing site built with Fumadocs on Next.js. It has no backend,
no database, and no auth: every page is prerendered and every tool runs entirely in the
browser.
The documentation walks you through 3x-ui from first install to day-to-day operation:
The site ships with in-browser helpers that generate configuration for you — no data ever leaves your browser:
| Tool | What it does |
|---|---|
| REALITY Config Generator | Build a valid REALITY inbound configuration. |
| Share Link Inspector | Decode and inspect vless:// / vmess:// share links. |
| Install Command Builder | Assemble the right install command for your setup. |
| Reverse Proxy Generator | Generate reverse-proxy configs (Nginx / Caddy). |
| Protocol Wizard | Pick and configure the right protocol for your needs. |
| Firewall Rules Generator | Produce firewall rules for your ports. |
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) · React 19 |
| Docs | Fumadocs (-ui / -core / -mdx) |
| Styling | Tailwind CSS v4 |
| Search | Orama static index |
| Language | TypeScript (strict) |
| Tests | Vitest for the pure lib/xray logic |
| Tooling | pnpm · ESLint 9 · Prettier |
This project uses pnpm (npm lockfiles are gitignored). Run everything
from the docs/ directory:
cd docs
pnpm install
pnpm dev # http://localhost:3000
Useful scripts:
| Script | Description |
|---|---|
pnpm dev |
Start the dev server |
pnpm build |
Production build (also typechecks) |
pnpm typecheck |
Generate MDX/route types and tsc --noEmit |
pnpm lint |
Run ESLint |
pnpm test |
Run unit tests (Vitest) |
See CONTRIBUTING.md for the full list and project conventions.
app/ # Next.js App Router — layouts, home, docs, OG images, search, llms.txt
components/ # React components — interactive tools, home sections, MDX bindings
content/docs/ # MDX documentation, one folder per locale (en · fa · ru · zh)
lib/ # source config, i18n, GitHub stats, and the unit-tested lib/xray logic
public/ # static assets — logos, favicon, openapi.json, CNAME
scripts/ # build-time scripts (API reference generation)
source.config.ts # Fumadocs MDX schema & collection config
next.config.mjs # Next.js config (static-export gating)
proxy.ts # i18n middleware
Documentation is authored in English. Persian (fa, RTL), Russian (ru), and
Chinese (zh) locales are wired up; untranslated pages fall back to English so they
never 404. English URLs are unprefixed; other locales live under /fa, /ru, /zh.
The site builds for two targets:
pnpm build (static search index + prerendered OG images).DEPLOY_TARGET=static pnpm build → out/.Contributions are welcome! Setup, scripts, and project conventions live in
CONTRIBUTING.md.
Licensed under GPL-3.0.