3x-ui/docs
2026-07-09 00:45:35 +02:00
..
app docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
components docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
content/docs docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
lib docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
public docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
scripts docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
.gitattributes docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
.gitignore docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
.prettierignore docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
.prettierrc.json docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
architecture.md refactor(frontend): replace recharts with uPlot for charts 2026-07-08 02:20:30 +02:00
CONTRIBUTING.md docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
custom-subscription-templates.md refactor: focused service files, leaf subpackages, and an internal/ layout (#5167) 2026-06-10 15:19:22 +02:00
eslint.config.mjs docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
LICENSE docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
next.config.mjs docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
package.json docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
pnpm-lock.yaml docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
pnpm-workspace.yaml docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
postcss.config.mjs docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
proxy.ts docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
README.md docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
real-client-ip.md feat(inbounds): add Real client IP presets to capture visitor IP behind CDN/relay 2026-06-15 23:50:04 +02:00
source.config.ts docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
tsconfig.json docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
vercel.json docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
vitest.config.ts docs: vendor the documentation site into the monorepo 2026-07-07 23:07:14 +02:00
xray-dns.md Add encrypted DNS presets (#5837) 2026-07-09 00:45:35 +02:00

3x-ui

3x-ui Documentation

The official documentation and product site for 3x-ui — an advanced web panel for managing Xray-core servers.

Live site CI License: GPL-3.0 Next.js 16 Fumadocs 16

Read the docs →


Overview

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.

What's inside

The documentation walks you through 3x-ui from first install to day-to-day operation:

  • Getting Started — installation, first login, and updating or uninstalling the panel.
  • Configuration — the panel, inbounds, REALITY, transports, clients, subscriptions, and share links.
  • Operations — reverse proxy, multi-node setups, outbounds & routing, backup/restore, the Telegram bot, and security.
  • Reference — environment variables, the database, ports & firewall, and the HTTP API.
  • Help — troubleshooting, FAQ, migration, and how to contribute.

Interactive tools

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.

Tech stack

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

Quick start

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.

Project structure

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

Internationalization

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.

Deployment

The site builds for two targets:

  • Vercel / Nodepnpm build (static search index + prerendered OG images).
  • GitHub Pages (static export)DEPLOY_TARGET=static pnpm buildout/.

Contributing

Contributions are welcome! Setup, scripts, and project conventions live in CONTRIBUTING.md.

License

Licensed under GPL-3.0.