From 433f4e393b35ef420f01ae9674fcc76cb98cf8d0 Mon Sep 17 00:00:00 2001 From: Meow <197331664+Meo597@users.noreply.github.com> Date: Sat, 24 Jan 2026 02:39:19 +0800 Subject: [PATCH] VitePress: Refactor nav and sidebar --- .vitepress/config.mts | 967 +------------------------------- .vitepress/menus/nav.en.mts | 29 + .vitepress/menus/nav.mts | 26 + .vitepress/menus/nav.ru.mts | 29 + .vitepress/menus/sidebar.en.mts | 316 +++++++++++ .vitepress/menus/sidebar.mts | 241 ++++++++ .vitepress/menus/sidebar.ru.mts | 325 +++++++++++ 7 files changed, 979 insertions(+), 954 deletions(-) create mode 100644 .vitepress/menus/nav.en.mts create mode 100644 .vitepress/menus/nav.mts create mode 100644 .vitepress/menus/nav.ru.mts create mode 100644 .vitepress/menus/sidebar.en.mts create mode 100644 .vitepress/menus/sidebar.mts create mode 100644 .vitepress/menus/sidebar.ru.mts diff --git a/.vitepress/config.mts b/.vitepress/config.mts index e5fa120f..b5e07925 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -2,6 +2,13 @@ import { defineConfig } from "vitepress"; import llmstxt from "vitepress-plugin-llms"; import { MermaidMarkdown, MermaidPlugin } from "vitepress-plugin-mermaid"; +import { nav as nav } from "./menus/nav.mts"; +import { nav as nav_en } from "./menus/nav.en.mts"; +import { nav as nav_ru } from "./menus/nav.ru.mts"; +import { sidebar as sidebar } from "./menus/sidebar.mts"; +import { sidebar as sidebar_en } from "./menus/sidebar.en.mts"; +import { sidebar as sidebar_ru } from "./menus/sidebar.ru.mts"; + // https://vitepress.dev/reference/site-config export default defineConfig({ srcDir: "docs", @@ -44,30 +51,7 @@ export default defineConfig({ themeConfig: { // https://vitepress.dev/reference/default-theme-config - nav: [ - { text: "首页", link: "/" }, - { text: "赞助 & 捐款 & NFTs", link: "/about/sponsor.md" }, - { - text: "配置指南", - items: [ - { text: "特性详解", link: "/config/features/" }, - { text: "基础配置", link: "/config/" }, - { text: "入站协议", link: "/config/inbounds/" }, - { text: "出站协议", link: "/config/outbounds/" }, - { text: "底层传输", link: "/config/transports/" }, - ], - }, - { - text: "使用指南", - items: [ - { text: "快速入门", link: "/document/" }, - { text: "小小白白话文", link: "/document/level-0/" }, - { text: "入门技巧", link: "/document/level-1/" }, - { text: "进阶技巧", link: "/document/level-2/" }, - ], - }, - { text: "开发指南", link: "/development/" }, - ], + nav: nav, search: { provider: "local", @@ -111,245 +95,7 @@ export default defineConfig({ label: "页面导航", }, - sidebar: { - "/config/": [ - { - text: "特性详解", - link: "/config/features/", - collapsed: true, - items: [ - { text: "XTLS 深度剖析", link: "/config/features/xtls.md" }, - { text: "Fallback 回落", link: "/config/features/fallback.md" }, - { - text: "Browser Dialer", - link: "/config/features/browser_dialer.md", - }, - { text: "环境变量", link: "/config/features/env.md" }, - { text: "多文件配置", link: "/config/features/multiple.md" }, - ], - }, - { - text: "基础配置", - link: "/config/", - collapsed: true, - items: [ - { text: "日志配置", link: "/config/log.md" }, - { text: "API 接口", link: "/config/api.md" }, - { text: "内置 DNS 服务器", link: "/config/dns.md" }, - { text: "FakeDNS", link: "/config/fakedns.md" }, - { text: "入站代理", link: "/config/inbound.md" }, - { text: "出站代理(Mux、XUDP)", link: "/config/outbound.md" }, - { text: "本地策略", link: "/config/policy.md" }, - { text: "反向代理", link: "/config/reverse.md" }, - { text: "路由", link: "/config/routing.md" }, - { text: "统计信息", link: "/config/stats.md" }, - { text: "传输方式(uTLS、REALITY)", link: "/config/transport.md" }, - { text: "Metrics", link: "/config/metrics.md" }, - { text: "连接观测", link: "/config/observatory.md" }, - ], - }, - { - text: "入站协议", - link: "/config/inbounds/", - collapsed: true, - items: [ - { - text: "Tunnel(dokodemo-door)", - link: "/config/inbounds/tunnel.md", - }, - { text: "HTTP", link: "/config/inbounds/http.md" }, - { text: "Shadowsocks", link: "/config/inbounds/shadowsocks.md" }, - { text: "Socks", link: "/config/inbounds/socks.md" }, - { text: "Trojan", link: "/config/inbounds/trojan.md" }, - { - text: "VLESS(XTLS Vision Seed)", - link: "/config/inbounds/vless.md", - }, - { text: "VMess", link: "/config/inbounds/vmess.md" }, - { text: "Wireguard", link: "/config/inbounds/wireguard.md" }, - { text: "TUN", link: "/config/inbounds/tun.md" }, - ], - }, - { - text: "出站协议", - link: "/config/outbounds/", - collapsed: true, - items: [ - { text: "Blackhole", link: "/config/outbounds/blackhole.md" }, - { text: "DNS", link: "/config/outbounds/dns.md" }, - { - text: "Freedom(fragment、noises)", - link: "/config/outbounds/freedom.md", - }, - { text: "HTTP", link: "/config/outbounds/http.md" }, - { text: "Loopback", link: "/config/outbounds/loopback.md" }, - { text: "Shadowsocks", link: "/config/outbounds/shadowsocks.md" }, - { text: "Socks", link: "/config/outbounds/socks.md" }, - { text: "Trojan", link: "/config/outbounds/trojan.md" }, - { - text: "VLESS(XTLS Vision Seed)", - link: "/config/outbounds/vless.md", - }, - { text: "VMess", link: "/config/outbounds/vmess.md" }, - { text: "Wireguard", link: "/config/outbounds/wireguard.md" }, - { text: "Hysteria", link: "/config/outbounds/hysteria.md" }, - ], - }, - { - text: "底层传输", - link: "/config/transports/", - collapsed: true, - items: [ - { text: "RAW", link: "/config/transports/raw.md" }, - { - text: "XHTTP: Beyond REALITY", - link: "/config/transports/xhttp.md", - }, - { text: "mKCP", link: "/config/transports/mkcp.md" }, - { text: "gRPC", link: "/config/transports/grpc.md" }, - { text: "WebSocket", link: "/config/transports/websocket.md" }, - { text: "HTTPUpgrade", link: "/config/transports/httpupgrade.md" }, - { text: "Hysteria", link: "/config/transports/hysteria.md" }, - ], - }, - ], - "/document/": [ - { - text: "快速入门文档", - link: "/document/", - collapsed: true, - items: [ - { text: "下载安装", link: "/document/install.md" }, - { text: "配置运行", link: "/document/config.md" }, - { text: "命令参数", link: "/document/command.md" }, - { text: "为 Project X 的文档贡献", link: "/document/document.md" }, - ], - }, - { - text: "小小白白话文", - link: "/document/level-0/", - collapsed: true, - items: [ - { - text: "【第 1 章】 小小白白话文", - link: "/document/level-0/ch01-preface.md", - }, - { - text: "【第 2 章】原料准备篇", - link: "/document/level-0/ch02-preparation.md", - }, - { - text: "【第 3 章】远程登录篇", - link: "/document/level-0/ch03-ssh.md", - }, - { - text: "【第 4 章】安全防护篇", - link: "/document/level-0/ch04-security.md", - }, - { - text: "【第 5 章】网站建设篇", - link: "/document/level-0/ch05-webpage.md", - }, - { - text: "【第 6 章】证书管理篇", - link: "/document/level-0/ch06-certificates.md", - }, - { - text: "【第 7 章】Xray 服务器篇", - link: "/document/level-0/ch07-xray-server.md", - }, - { - text: "【第 8 章】Xray 客户端篇", - link: "/document/level-0/ch08-xray-clients.md", - }, - { - text: "【第 9 章】附录", - link: "/document/level-0/ch09-appendix.md", - }, - ], - }, - { - text: "入门技巧", - link: "/document/level-1/", - collapsed: true, - items: [ - { - text: "回落 (fallbacks) 功能简析", - link: "/document/level-1/fallbacks-lv1.md", - }, - { - text: "路由 (routing) 功能简析(上)", - link: "/document/level-1/routing-lv1-part1.md", - }, - { - text: "路由 (routing) 功能简析(下)", - link: "/document/level-1/routing-lv1-part2.md", - }, - { text: "Xray 的工作模式", link: "/document/level-1/work.md" }, - { - text: "SNI 回落", - link: "/document/level-1/fallbacks-with-sni.md", - }, - { - text: "用 DNS 实现精准境内外分流", - link: "/document/level-1/routing-with-dns.md", - }, - ], - }, - { - text: "进阶技巧", - link: "/document/level-2/", - collapsed: true, - items: [ - { - text: "透明代理入门", - link: "/document/level-2/transparent_proxy/transparent_proxy.md", - }, - { text: "TProxy 透明代理", link: "/document/level-2/tproxy.md" }, - { - text: "TProxy 透明代理(ipv4 and ipv6)", - link: "/document/level-2/tproxy_ipv4_and_ipv6.md", - }, - { - text: "Nginx 或 Haproxy 搭建 TLS 隧道隐藏指纹", - link: "/document/level-2/nginx_or_haproxy_tls_tunnel.md", - }, - { text: "GID 透明代理", link: "/document/level-2/iptables_gid.md" }, - { text: "出站流量重定向", link: "/document/level-2/redirect.md" }, - { - text: "通过 Cloudflare Warp 增强代理安全性", - link: "/document/level-2/warp.md", - }, - { text: "流量统计", link: "/document/level-2/traffic_stats.md" }, - ], - }, - ], - "/development/": [ - { - text: "开发指南", - link: "/development/", - collapsed: true, - items: [ - { text: "编译", link: "/development/intro/compile.md" }, - { text: "设计目标", link: "/development/intro/design.md" }, - { text: "开发规范", link: "/development/intro/guide.md" }, - ], - }, - { - text: "协议详解", - collapsed: false, - items: [ - { text: "VLESS 协议", link: "/development/protocols/vless.md" }, - { text: "VMess 协议", link: "/development/protocols/vmess.md" }, - { - text: "Mux.Cool 协议", - link: "/development/protocols/muxcool.md", - }, - { text: "mKCP 协议", link: "/development/protocols/mkcp.md" }, - ], - }, - ], - }, + sidebar: sidebar, socialLinks: [ { icon: "github", link: "https://github.com/XTLS/Xray-core" }, @@ -389,33 +135,7 @@ export default defineConfig({ label: "English", lang: "en", themeConfig: { - nav: [ - { text: "Homepage", link: "/en" }, - { text: "Sponsor & Donation & NFTs", link: "/en/about/sponsor.md" }, - { - text: "Configuration Guide", - items: [ - { text: "Feature Details", link: "/en/config/features/" }, - { text: "Basic Configuration", link: "/en/config/" }, - { text: "Inbound Protocols", link: "/en/config/inbounds/" }, - { text: "Outbound Protocols", link: "/en/config/outbounds/" }, - { text: "Underlying Transports", link: "/en/config/transports/" }, - ], - }, - { - text: "Usage Guide", - items: [ - { text: "Quick Start", link: "/en/document/" }, - { - text: "Beginner's Plain Language Guide", - link: "/en/document/level-0/", - }, - { text: "Beginner Tips", link: "/en/document/level-1/" }, - { text: "Advanced Tips", link: "/en/document/level-2/" }, - ], - }, - { text: "Developer Guide", link: "/en/development/" }, - ], + nav: nav_en, search: { options: { @@ -457,320 +177,7 @@ export default defineConfig({ label: "On this page", }, - sidebar: { - "/en/config/": [ - { - text: "Feature Details", - link: "/en/config/features/", - collapsed: true, - items: [ - { - text: "In-depth Analysis of XTLS", - link: "/en/config/features/xtls.md", - }, - { - text: "Fallback", - link: "/en/config/features/fallback.md", - }, - { - text: "Browser Dialer", - link: "/en/config/features/browser_dialer.md", - }, - { - text: "Environment Variables", - link: "/en/config/features/env.md", - }, - { - text: "Multi-file Configuration", - link: "/en/config/features/multiple.md", - }, - ], - }, - { - text: "Basic Configuration", - link: "/en/config/", - collapsed: true, - items: [ - { text: "Log Configuration", link: "/en/config/log.md" }, - { text: "API Interface", link: "/en/config/api.md" }, - { text: "Built-in DNS Server", link: "/en/config/dns.md" }, - { text: "FakeDNS", link: "/en/config/fakedns.md" }, - { text: "Inbound Proxy", link: "/en/config/inbound.md" }, - { - text: "Outbound Proxy (Mux, XUDP)", - link: "/en/config/outbound.md", - }, - { text: "Local Policy", link: "/en/config/policy.md" }, - { text: "Reverse Proxy", link: "/en/config/reverse.md" }, - { text: "Routing", link: "/en/config/routing.md" }, - { text: "Statistics", link: "/en/config/stats.md" }, - { - text: "Transport (uTLS, REALITY)", - link: "/en/config/transport.md", - }, - { text: "Metrics", link: "/en/config/metrics.md" }, - { - text: "Connection Observatory", - link: "/en/config/observatory.md", - }, - ], - }, - { - text: "Inbound Protocols", - link: "/en/config/inbounds/", - collapsed: true, - items: [ - { - text: "Tunnel (dokodemo-door)", - link: "/en/config/inbounds/tunnel.md", - }, - { text: "HTTP", link: "/en/config/inbounds/http.md" }, - { - text: "Shadowsocks", - link: "/en/config/inbounds/shadowsocks.md", - }, - { text: "Socks", link: "/en/config/inbounds/socks.md" }, - { text: "Trojan", link: "/en/config/inbounds/trojan.md" }, - { - text: "VLESS (XTLS Vision Seed)", - link: "/en/config/inbounds/vless.md", - }, - { text: "VMess", link: "/en/config/inbounds/vmess.md" }, - { text: "Wireguard", link: "/en/config/inbounds/wireguard.md" }, - ], - }, - { - text: "Outbound Protocols", - link: "/en/config/outbounds/", - collapsed: true, - items: [ - { - text: "Blackhole", - link: "/en/config/outbounds/blackhole.md", - }, - { text: "DNS", link: "/en/config/outbounds/dns.md" }, - { - text: "Freedom (fragment, noises)", - link: "/en/config/outbounds/freedom.md", - }, - { text: "HTTP", link: "/en/config/outbounds/http.md" }, - { text: "Loopback", link: "/en/config/outbounds/loopback.md" }, - { - text: "Shadowsocks", - link: "/en/config/outbounds/shadowsocks.md", - }, - { text: "Socks", link: "/en/config/outbounds/socks.md" }, - { text: "Trojan", link: "/en/config/outbounds/trojan.md" }, - { - text: "VLESS (XTLS Vision Seed)", - link: "/en/config/outbounds/vless.md", - }, - { text: "VMess", link: "/en/config/outbounds/vmess.md" }, - { - text: "Wireguard", - link: "/en/config/outbounds/wireguard.md", - }, - ], - }, - { - text: "Underlying Transports", - link: "/en/config/transports/", - collapsed: true, - items: [ - { text: "RAW", link: "/en/config/transports/raw.md" }, - { - text: "XHTTP: Beyond REALITY", - link: "/en/config/transports/xhttp.md", - }, - { text: "mKCP", link: "/en/config/transports/mkcp.md" }, - { text: "gRPC", link: "/en/config/transports/grpc.md" }, - { - text: "WebSocket", - link: "/en/config/transports/websocket.md", - }, - { - text: "HTTPUpgrade", - link: "/en/config/transports/httpupgrade.md", - }, - ], - }, - ], - "/en/document/": [ - { - text: "Quick Start Guide", - link: "/en/document/", - collapsed: true, - items: [ - { - text: "Download and Install", - link: "/en/document/install.md", - }, - { text: "Configure and Run", link: "/en/document/config.md" }, - { text: "Command Parameters", link: "/en/document/command.md" }, - { - text: "Contribute to Project X's Documentation", - link: "/en/document/document.md", - }, - ], - }, - { - text: "Beginner's Plain Language Guide", - link: "/en/document/level-0/", - collapsed: true, - items: [ - { - text: "[Chapter 1] Beginner's Plain Language Guide", - link: "/en/document/level-0/ch01-preface.md", - }, - { - text: "[Chapter 2] Preparation", - link: "/en/document/level-0/ch02-preparation.md", - }, - { - text: "[Chapter 3] Remote Login", - link: "/en/document/level-0/ch03-ssh.md", - }, - { - text: "[Chapter 4] Security Protection", - link: "/en/document/level-0/ch04-security.md", - }, - { - text: "[Chapter 5] Website Construction", - link: "/en/document/level-0/ch05-webpage.md", - }, - { - text: "[Chapter 6] Certificate Management", - link: "/en/document/level-0/ch06-certificates.md", - }, - { - text: "[Chapter 7] Xray Server", - link: "/en/document/level-0/ch07-xray-server.md", - }, - { - text: "[Chapter 8] Xray Client", - link: "/en/document/level-0/ch08-xray-clients.md", - }, - { - text: "[Chapter 9] Appendix", - link: "/en/document/level-0/ch09-appendix.md", - }, - ], - }, - { - text: "Beginner Tips", - link: "/en/document/level-1/", - collapsed: true, - items: [ - { - text: "Brief Analysis of Fallbacks", - link: "/en/document/level-1/fallbacks-lv1.md", - }, - { - text: "Brief Analysis of Routing (Part 1)", - link: "/en/document/level-1/routing-lv1-part1.md", - }, - { - text: "Brief Analysis of Routing (Part 2)", - link: "/en/document/level-1/routing-lv1-part2.md", - }, - { - text: "Xray's Working Modes", - link: "/en/document/level-1/work.md", - }, - { - text: "SNI Fallback", - link: "/en/document/level-1/fallbacks-with-sni.md", - }, - { - text: "Achieving Precise Domestic/International Traffic Splitting with DNS", - link: "/en/document/level-1/routing-with-dns.md", - }, - ], - }, - { - text: "Advanced Tips", - link: "/en/document/level-2/", - collapsed: true, - items: [ - { - text: "Introduction to Transparent Proxy", - link: "/en/document/level-2/transparent_proxy/transparent_proxy.md", - }, - { - text: "TProxy Transparent Proxy", - link: "/en/document/level-2/tproxy.md", - }, - { - text: "TProxy Transparent Proxy (IPv4 and IPv6)", - link: "/en/document/level-2/tproxy_ipv4_and_ipv6.md", - }, - { - text: "Building TLS Tunnel with Nginx or Haproxy to Hide Fingerprints", - link: "/en/document/level-2/nginx_or_haproxy_tls_tunnel.md", - }, - { - text: "GID Transparent Proxy", - link: "/en/document/level-2/iptables_gid.md", - }, - { - text: "Outbound Traffic Redirection", - link: "/en/document/level-2/redirect.md", - }, - { - text: "Enhancing Proxy Security with Cloudflare Warp", - link: "/en/document/level-2/warp.md", - }, - { - text: "Traffic Statistics", - link: "/en/document/level-2/traffic_stats.md", - }, - ], - }, - ], - "/en/development/": [ - { - text: "Development Guide", - link: "/en/development/", - collapsed: true, - items: [ - { - text: "Compilation", - link: "/en/development/intro/compile.md", - }, - { - text: "Design Goals", - link: "/en/development/intro/design.md", - }, - { - text: "Development Guidelines", - link: "/en/development/intro/guide.md", - }, - ], - }, - { - text: "Protocol Details", - collapsed: false, - items: [ - { - text: "VLESS Protocol", - link: "/en/development/protocols/vless.md", - }, - { - text: "VMess Protocol", - link: "/en/development/protocols/vmess.md", - }, - { - text: "Mux.Cool Protocol", - link: "/en/development/protocols/muxcool.md", - }, - { - text: "mKCP Protocol", - link: "/en/development/protocols/mkcp.md", - }, - ], - }, - ], - }, + sidebar: sidebar_en, editLink: { text: "Help us improve this page on GitHub!", @@ -800,33 +207,7 @@ export default defineConfig({ label: "Русский", lang: "ru", themeConfig: { - nav: [ - { text: "Главная", link: "/ru" }, - { text: "Sponsor & Donation & NFTs", link: "/ru/about/sponsor.md" }, - { - text: "Описание функций", - items: [ - { text: "Обзор", link: "/ru/config/features/" }, - { text: "Базовая конфигурация", link: "/ru/config/" }, - { text: "Входящие подключения", link: "/ru/config/inbounds/" }, - { text: "Исходящие подключения", link: "/ru/config/outbounds/" }, - { text: "Транспортный уровень", link: "/ru/config/transports/" }, - ], - }, - { - text: "Руководство по использованию", - items: [ - { text: "Быстрый старт", link: "/ru/document/" }, - { - text: "Простыми словами", - link: "/ru/document/level-0/", - }, - { text: "Базовые навыки", link: "/ru/document/level-1/" }, - { text: "Продвинутые навыки", link: "/ru/document/level-2/" }, - ], - }, - { text: "Руководство разработчика", link: "/ru/development/" }, - ], + nav: nav_ru, search: { options: { @@ -868,329 +249,7 @@ export default defineConfig({ label: "Содержание страницы", }, - sidebar: { - "/ru/config/": [ - { - text: "Обзор", - link: "/config/features/", - collapsed: true, - items: [ - { - text: "Глубокий анализ XTLS", - link: "/ru/config/features/xtls.md", - }, - { - text: "Fallback", - link: "/ru/config/features/fallback.md", - }, - { - text: "Browser Dialer", - link: "/ru/config/features/browser_dialer.md", - }, - { - text: "Переменные окружения", - link: "/ru/config/features/env.md", - }, - { - text: "Конфигурация из нескольких файлов", - link: "/ru/config/features/multiple.md", - }, - ], - }, - { - text: "Базовая конфигурация", - link: "/ru/config/", - collapsed: true, - items: [ - { text: "Настройка журнала", link: "/ru/config/log.md" }, - { text: "API", link: "/ru/config/api.md" }, - { text: "Встроенный DNS-сервер", link: "/ru/config/dns.md" }, - { text: "FakeDNS", link: "/ru/config/fakedns.md" }, - { text: "Входящие подключения", link: "/ru/config/inbound.md" }, - { - text: "Исходящие подключения", - link: "/ru/config/outbound.md", - }, - { text: "Локальные политики", link: "/ru/config/policy.md" }, - { text: "Обратный прокси", link: "/ru/config/reverse.md" }, - { text: "Маршрутизация", link: "/ru/config/routing.md" }, - { text: "Статистика", link: "/ru/config/stats.md" }, - { - text: "Способы передачи", - link: "/ru/config/transport.md", - }, - { text: "Метрики", link: "/ru/config/metrics.md" }, - { - text: "Мониторинг подключений", - link: "/ru/config/observatory.md", - }, - ], - }, - { - text: "Входящие подключения", - link: "/ru/config/inbounds/", - collapsed: true, - items: [ - { - text: "Tunnel (dokodemo-door)", - link: "/ru/config/inbounds/tunnel.md", - }, - { text: "HTTP", link: "/ru/config/inbounds/http.md" }, - { - text: "Shadowsocks", - link: "/ru/config/inbounds/shadowsocks.md", - }, - { text: "Socks", link: "/ru/config/inbounds/socks.md" }, - { text: "Trojan", link: "/ru/config/inbounds/trojan.md" }, - { - text: "VLESS (XTLS Vision Seed)", - link: "/ru/config/inbounds/vless.md", - }, - { text: "VMess", link: "/ru/config/inbounds/vmess.md" }, - { text: "Wireguard", link: "/ru/config/inbounds/wireguard.md" }, - { text: "TUN", link: "/ru/config/inbounds/tun.md" }, - ], - }, - { - text: "Исходящие подключения", - link: "/ru/config/outbounds/", - collapsed: true, - items: [ - { - text: "Blackhole", - link: "/ru/config/outbounds/blackhole.md", - }, - { text: "DNS", link: "/ru/config/outbounds/dns.md" }, - { - text: "Freedom (fragment, noises)", - link: "/ru/config/outbounds/freedom.md", - }, - { text: "HTTP", link: "/ru/config/outbounds/http.md" }, - { text: "Loopback", link: "/ru/config/outbounds/loopback.md" }, - { - text: "Shadowsocks", - link: "/ru/config/outbounds/shadowsocks.md", - }, - { text: "Socks", link: "/ru/config/outbounds/socks.md" }, - { text: "Trojan", link: "/ru/config/outbounds/trojan.md" }, - { - text: "VLESS (XTLS Vision Seed)", - link: "/ru/config/outbounds/vless.md", - }, - { text: "VMess", link: "/ru/config/outbounds/vmess.md" }, - { - text: "Wireguard", - link: "/ru/config/outbounds/wireguard.md", - }, - { - text: "Hysteria 2", - link: "/ru/config/outbounds/hysteria.md", - }, - ], - }, - { - text: "Способы передачи", - link: "/ru/config/transports/", - collapsed: true, - items: [ - { text: "RAW", link: "/ru/config/transports/raw.md" }, - { - text: "XHTTP: За пределами REALITY", - link: "/ru/config/transports/xhttp.md", - }, - { text: "mKCP", link: "/ru/config/transports/mkcp.md" }, - { text: "gRPC", link: "/ru/config/transports/grpc.md" }, - { - text: "WebSocket", - link: "/ru/config/transports/websocket.md", - }, - { - text: "HTTPUpgrade", - link: "/ru/config/transports/httpupgrade.md", - }, - { - text: "Hysteria", - link: "/ru/config/transports/hysteria.md", - }, - ], - }, - ], - "/ru/document/": [ - { - text: "Руководство по быстрому старту", - link: "/ru/document/", - collapsed: true, - items: [ - { - text: "Загрузка и установка", - link: "/ru/document/install.md", - }, - { text: "Настройка и запуск", link: "/ru/document/config.md" }, - { text: "Параметры команды", link: "/ru/document/command.md" }, - { - text: "Вклад в документацию Project X", - link: "/ru/document/document.md", - }, - ], - }, - { - text: "Простыми словами", - link: "/ru/document/level-0/", - collapsed: true, - items: [ - { - text: "[Глава 1] Руководство для новичков простым языком", - link: "/ru/document/level-0/ch01-preface.md", - }, - { - text: "[Глава 2] Подготовка", - link: "/ru/document/level-0/ch02-preparation.md", - }, - { - text: "[Глава 3] Удаленный вход", - link: "/ru/document/level-0/ch03-ssh.md", - }, - { - text: "[Глава 4] Защита безопасности", - link: "/ru/document/level-0/ch04-security.md", - }, - { - text: "[Глава 5] Создание веб-сайта", - link: "/ru/document/level-0/ch05-webpage.md", - }, - { - text: "[Глава 6] Управление сертификатами", - link: "/ru/document/level-0/ch06-certificates.md", - }, - { - text: "[Глава 7] Сервер Xray", - link: "/ru/document/level-0/ch07-xray-server.md", - }, - { - text: "[Глава 8] Клиент Xray", - link: "/ru/document/level-0/ch08-xray-clients.md", - }, - { - text: "[Глава 9] Приложение", - link: "/ru/document/level-0/ch09-appendix.md", - }, - ], - }, - { - text: "Советы для начинающих", - link: "/ru/document/level-1/", - collapsed: true, - items: [ - { - text: "Краткий анализ функции Fallbacks", - link: "/ru/document/level-1/fallbacks-lv1.md", - }, - { - text: "Краткий анализ функции маршрутизации (Часть 1)", - link: "/ru/document/level-1/routing-lv1-part1.md", - }, - { - text: "Краткий анализ функции маршрутизации (Часть 2)", - link: "/ru/document/level-1/routing-lv1-part2.md", - }, - { - text: "Режимы работы Xray", - link: "/ru/document/level-1/work.md", - }, - { - text: "SNI Fallback", - link: "/ru/document/level-1/fallbacks-with-sni.md", - }, - { - text: "Достижение точного разделения трафика (внутренний/международный) с помощью DNS", - link: "/ru/document/level-1/routing-with-dns.md", - }, - ], - }, - { - text: "Продвинутые советы", - link: "/ru/document/level-2/", - collapsed: true, - items: [ - { - text: "Введение в прозрачный прокси", - link: "/ru/document/level-2/transparent_proxy/transparent_proxy.md", - }, - { - text: "Прозрачный прокси TProxy", - link: "/ru/document/level-2/tproxy.md", - }, - { - text: "Прозрачный прокси TProxy (IPv4 и IPv6)", - link: "/ru/document/level-2/tproxy_ipv4_and_ipv6.md", - }, - { - text: "Создание TLS-туннеля с Nginx или Haproxy для скрытия отпечатков", - link: "/ru/document/level-2/nginx_or_haproxy_tls_tunnel.md", - }, - { - text: "Прозрачный прокси GID", - link: "/ru/document/level-2/iptables_gid.md", - }, - { - text: "Перенаправление исходящего трафика", - link: "/ru/document/level-2/redirect.md", - }, - { - text: "Улучшение безопасности прокси с помощью Cloudflare Warp", - link: "/ru/document/level-2/warp.md", - }, - { - text: "Статистика трафика", - link: "/ru/document/level-2/traffic_stats.md", - }, - ], - }, - ], - "/ru/development/": [ - { - text: "Руководство разработчика", - link: "/ru/development/", - collapsed: true, - items: [ - { - text: "Компиляция", - link: "/ru/development/intro/compile.md", - }, - { - text: "Дизайн", - link: "/ru/development/intro/design.md", - }, - { - text: "Принципы разработки", - link: "/ru/development/intro/guide.md", - }, - ], - }, - { - text: "Детали протоколов", - collapsed: false, - items: [ - { - text: "Протокол VLESS", - link: "/ru/development/protocols/vless.md", - }, - { - text: "Протокол VMess", - link: "/ru/development/protocols/vmess.md", - }, - { - text: "Протокол Mux.Cool", - link: "/ru/development/protocols/muxcool.md", - }, - { - text: "Протокол mKCP", - link: "/ru/development/protocols/mkcp.md", - }, - ], - }, - ], - }, + sidebar: sidebar_ru, editLink: { text: "Помогите нам улучшить эту страницу!", diff --git a/.vitepress/menus/nav.en.mts b/.vitepress/menus/nav.en.mts new file mode 100644 index 00000000..941e93b1 --- /dev/null +++ b/.vitepress/menus/nav.en.mts @@ -0,0 +1,29 @@ +import type { DefaultTheme } from "vitepress"; + +export const nav: DefaultTheme.Config["nav"] = [ + { text: "Homepage", link: "/en" }, + { text: "Sponsor & Donation & NFTs", link: "/en/about/sponsor.md" }, + { + text: "Configuration Guide", + items: [ + { text: "Feature Details", link: "/en/config/features/" }, + { text: "Basic Configuration", link: "/en/config/" }, + { text: "Inbound Protocols", link: "/en/config/inbounds/" }, + { text: "Outbound Protocols", link: "/en/config/outbounds/" }, + { text: "Underlying Transports", link: "/en/config/transports/" }, + ], + }, + { + text: "Usage Guide", + items: [ + { text: "Quick Start", link: "/en/document/" }, + { + text: "Beginner's Plain Language Guide", + link: "/en/document/level-0/", + }, + { text: "Beginner Tips", link: "/en/document/level-1/" }, + { text: "Advanced Tips", link: "/en/document/level-2/" }, + ], + }, + { text: "Developer Guide", link: "/en/development/" }, +]; diff --git a/.vitepress/menus/nav.mts b/.vitepress/menus/nav.mts new file mode 100644 index 00000000..a1d56040 --- /dev/null +++ b/.vitepress/menus/nav.mts @@ -0,0 +1,26 @@ +import type { DefaultTheme } from "vitepress"; + +export const nav: DefaultTheme.Config["nav"] = [ + { text: "首页", link: "/" }, + { text: "赞助 & 捐款 & NFTs", link: "/about/sponsor.md" }, + { + text: "配置指南", + items: [ + { text: "特性详解", link: "/config/features/" }, + { text: "基础配置", link: "/config/" }, + { text: "入站协议", link: "/config/inbounds/" }, + { text: "出站协议", link: "/config/outbounds/" }, + { text: "底层传输", link: "/config/transports/" }, + ], + }, + { + text: "使用指南", + items: [ + { text: "快速入门", link: "/document/" }, + { text: "小小白白话文", link: "/document/level-0/" }, + { text: "入门技巧", link: "/document/level-1/" }, + { text: "进阶技巧", link: "/document/level-2/" }, + ], + }, + { text: "开发指南", link: "/development/" }, +]; diff --git a/.vitepress/menus/nav.ru.mts b/.vitepress/menus/nav.ru.mts new file mode 100644 index 00000000..4dfc5e0f --- /dev/null +++ b/.vitepress/menus/nav.ru.mts @@ -0,0 +1,29 @@ +import type { DefaultTheme } from "vitepress"; + +export const nav: DefaultTheme.Config["nav"] = [ + { text: "Главная", link: "/ru" }, + { text: "Sponsor & Donation & NFTs", link: "/ru/about/sponsor.md" }, + { + text: "Описание функций", + items: [ + { text: "Обзор", link: "/ru/config/features/" }, + { text: "Базовая конфигурация", link: "/ru/config/" }, + { text: "Входящие подключения", link: "/ru/config/inbounds/" }, + { text: "Исходящие подключения", link: "/ru/config/outbounds/" }, + { text: "Транспортный уровень", link: "/ru/config/transports/" }, + ], + }, + { + text: "Руководство по использованию", + items: [ + { text: "Быстрый старт", link: "/ru/document/" }, + { + text: "Простыми словами", + link: "/ru/document/level-0/", + }, + { text: "Базовые навыки", link: "/ru/document/level-1/" }, + { text: "Продвинутые навыки", link: "/ru/document/level-2/" }, + ], + }, + { text: "Руководство разработчика", link: "/ru/development/" }, +]; diff --git a/.vitepress/menus/sidebar.en.mts b/.vitepress/menus/sidebar.en.mts new file mode 100644 index 00000000..31ea44fb --- /dev/null +++ b/.vitepress/menus/sidebar.en.mts @@ -0,0 +1,316 @@ +import type { DefaultTheme } from "vitepress"; + +export const sidebar: DefaultTheme.Config["sidebar"] = { + "/en/config/": [ + { + text: "Feature Details", + link: "/en/config/features/", + collapsed: true, + items: [ + { + text: "In-depth Analysis of XTLS", + link: "/en/config/features/xtls.md", + }, + { + text: "Fallback", + link: "/en/config/features/fallback.md", + }, + { + text: "Browser Dialer", + link: "/en/config/features/browser_dialer.md", + }, + { + text: "Environment Variables", + link: "/en/config/features/env.md", + }, + { + text: "Multi-file Configuration", + link: "/en/config/features/multiple.md", + }, + ], + }, + { + text: "Basic Configuration", + link: "/en/config/", + collapsed: true, + items: [ + { text: "Log Configuration", link: "/en/config/log.md" }, + { text: "API Interface", link: "/en/config/api.md" }, + { text: "Built-in DNS Server", link: "/en/config/dns.md" }, + { text: "FakeDNS", link: "/en/config/fakedns.md" }, + { text: "Inbound Proxy", link: "/en/config/inbound.md" }, + { + text: "Outbound Proxy (Mux, XUDP)", + link: "/en/config/outbound.md", + }, + { text: "Local Policy", link: "/en/config/policy.md" }, + { text: "Reverse Proxy", link: "/en/config/reverse.md" }, + { text: "Routing", link: "/en/config/routing.md" }, + { text: "Statistics", link: "/en/config/stats.md" }, + { + text: "Transport (uTLS, REALITY)", + link: "/en/config/transport.md", + }, + { text: "Metrics", link: "/en/config/metrics.md" }, + { + text: "Connection Observatory", + link: "/en/config/observatory.md", + }, + ], + }, + { + text: "Inbound Protocols", + link: "/en/config/inbounds/", + collapsed: true, + items: [ + { + text: "Tunnel (dokodemo-door)", + link: "/en/config/inbounds/tunnel.md", + }, + { text: "HTTP", link: "/en/config/inbounds/http.md" }, + { + text: "Shadowsocks", + link: "/en/config/inbounds/shadowsocks.md", + }, + { text: "Socks", link: "/en/config/inbounds/socks.md" }, + { text: "Trojan", link: "/en/config/inbounds/trojan.md" }, + { + text: "VLESS (XTLS Vision Seed)", + link: "/en/config/inbounds/vless.md", + }, + { text: "VMess", link: "/en/config/inbounds/vmess.md" }, + { text: "Wireguard", link: "/en/config/inbounds/wireguard.md" }, + ], + }, + { + text: "Outbound Protocols", + link: "/en/config/outbounds/", + collapsed: true, + items: [ + { + text: "Blackhole", + link: "/en/config/outbounds/blackhole.md", + }, + { text: "DNS", link: "/en/config/outbounds/dns.md" }, + { + text: "Freedom (fragment, noises)", + link: "/en/config/outbounds/freedom.md", + }, + { text: "HTTP", link: "/en/config/outbounds/http.md" }, + { text: "Loopback", link: "/en/config/outbounds/loopback.md" }, + { + text: "Shadowsocks", + link: "/en/config/outbounds/shadowsocks.md", + }, + { text: "Socks", link: "/en/config/outbounds/socks.md" }, + { text: "Trojan", link: "/en/config/outbounds/trojan.md" }, + { + text: "VLESS (XTLS Vision Seed)", + link: "/en/config/outbounds/vless.md", + }, + { text: "VMess", link: "/en/config/outbounds/vmess.md" }, + { + text: "Wireguard", + link: "/en/config/outbounds/wireguard.md", + }, + ], + }, + { + text: "Underlying Transports", + link: "/en/config/transports/", + collapsed: true, + items: [ + { text: "RAW", link: "/en/config/transports/raw.md" }, + { + text: "XHTTP: Beyond REALITY", + link: "/en/config/transports/xhttp.md", + }, + { text: "mKCP", link: "/en/config/transports/mkcp.md" }, + { text: "gRPC", link: "/en/config/transports/grpc.md" }, + { + text: "WebSocket", + link: "/en/config/transports/websocket.md", + }, + { + text: "HTTPUpgrade", + link: "/en/config/transports/httpupgrade.md", + }, + ], + }, + ], + "/en/document/": [ + { + text: "Quick Start Guide", + link: "/en/document/", + collapsed: true, + items: [ + { + text: "Download and Install", + link: "/en/document/install.md", + }, + { text: "Configure and Run", link: "/en/document/config.md" }, + { text: "Command Parameters", link: "/en/document/command.md" }, + { + text: "Contribute to Project X's Documentation", + link: "/en/document/document.md", + }, + ], + }, + { + text: "Beginner's Plain Language Guide", + link: "/en/document/level-0/", + collapsed: true, + items: [ + { + text: "[Chapter 1] Beginner's Plain Language Guide", + link: "/en/document/level-0/ch01-preface.md", + }, + { + text: "[Chapter 2] Preparation", + link: "/en/document/level-0/ch02-preparation.md", + }, + { + text: "[Chapter 3] Remote Login", + link: "/en/document/level-0/ch03-ssh.md", + }, + { + text: "[Chapter 4] Security Protection", + link: "/en/document/level-0/ch04-security.md", + }, + { + text: "[Chapter 5] Website Construction", + link: "/en/document/level-0/ch05-webpage.md", + }, + { + text: "[Chapter 6] Certificate Management", + link: "/en/document/level-0/ch06-certificates.md", + }, + { + text: "[Chapter 7] Xray Server", + link: "/en/document/level-0/ch07-xray-server.md", + }, + { + text: "[Chapter 8] Xray Client", + link: "/en/document/level-0/ch08-xray-clients.md", + }, + { + text: "[Chapter 9] Appendix", + link: "/en/document/level-0/ch09-appendix.md", + }, + ], + }, + { + text: "Beginner Tips", + link: "/en/document/level-1/", + collapsed: true, + items: [ + { + text: "Brief Analysis of Fallbacks", + link: "/en/document/level-1/fallbacks-lv1.md", + }, + { + text: "Brief Analysis of Routing (Part 1)", + link: "/en/document/level-1/routing-lv1-part1.md", + }, + { + text: "Brief Analysis of Routing (Part 2)", + link: "/en/document/level-1/routing-lv1-part2.md", + }, + { + text: "Xray's Working Modes", + link: "/en/document/level-1/work.md", + }, + { + text: "SNI Fallback", + link: "/en/document/level-1/fallbacks-with-sni.md", + }, + { + text: "Achieving Precise Domestic/International Traffic Splitting with DNS", + link: "/en/document/level-1/routing-with-dns.md", + }, + ], + }, + { + text: "Advanced Tips", + link: "/en/document/level-2/", + collapsed: true, + items: [ + { + text: "Introduction to Transparent Proxy", + link: "/en/document/level-2/transparent_proxy/transparent_proxy.md", + }, + { + text: "TProxy Transparent Proxy", + link: "/en/document/level-2/tproxy.md", + }, + { + text: "TProxy Transparent Proxy (IPv4 and IPv6)", + link: "/en/document/level-2/tproxy_ipv4_and_ipv6.md", + }, + { + text: "Building TLS Tunnel with Nginx or Haproxy to Hide Fingerprints", + link: "/en/document/level-2/nginx_or_haproxy_tls_tunnel.md", + }, + { + text: "GID Transparent Proxy", + link: "/en/document/level-2/iptables_gid.md", + }, + { + text: "Outbound Traffic Redirection", + link: "/en/document/level-2/redirect.md", + }, + { + text: "Enhancing Proxy Security with Cloudflare Warp", + link: "/en/document/level-2/warp.md", + }, + { + text: "Traffic Statistics", + link: "/en/document/level-2/traffic_stats.md", + }, + ], + }, + ], + "/en/development/": [ + { + text: "Development Guide", + link: "/en/development/", + collapsed: true, + items: [ + { + text: "Compilation", + link: "/en/development/intro/compile.md", + }, + { + text: "Design Goals", + link: "/en/development/intro/design.md", + }, + { + text: "Development Guidelines", + link: "/en/development/intro/guide.md", + }, + ], + }, + { + text: "Protocol Details", + collapsed: false, + items: [ + { + text: "VLESS Protocol", + link: "/en/development/protocols/vless.md", + }, + { + text: "VMess Protocol", + link: "/en/development/protocols/vmess.md", + }, + { + text: "Mux.Cool Protocol", + link: "/en/development/protocols/muxcool.md", + }, + { + text: "mKCP Protocol", + link: "/en/development/protocols/mkcp.md", + }, + ], + }, + ], +}; diff --git a/.vitepress/menus/sidebar.mts b/.vitepress/menus/sidebar.mts new file mode 100644 index 00000000..454143d8 --- /dev/null +++ b/.vitepress/menus/sidebar.mts @@ -0,0 +1,241 @@ +import type { DefaultTheme } from "vitepress"; + +export const sidebar: DefaultTheme.Config["sidebar"] = { + "/config/": [ + { + text: "特性详解", + link: "/config/features/", + collapsed: true, + items: [ + { text: "XTLS 深度剖析", link: "/config/features/xtls.md" }, + { text: "Fallback 回落", link: "/config/features/fallback.md" }, + { + text: "Browser Dialer", + link: "/config/features/browser_dialer.md", + }, + { text: "环境变量", link: "/config/features/env.md" }, + { text: "多文件配置", link: "/config/features/multiple.md" }, + ], + }, + { + text: "基础配置", + link: "/config/", + collapsed: true, + items: [ + { text: "日志配置", link: "/config/log.md" }, + { text: "API 接口", link: "/config/api.md" }, + { text: "内置 DNS 服务器", link: "/config/dns.md" }, + { text: "FakeDNS", link: "/config/fakedns.md" }, + { text: "入站代理", link: "/config/inbound.md" }, + { text: "出站代理(Mux、XUDP)", link: "/config/outbound.md" }, + { text: "本地策略", link: "/config/policy.md" }, + { text: "反向代理", link: "/config/reverse.md" }, + { text: "路由", link: "/config/routing.md" }, + { text: "统计信息", link: "/config/stats.md" }, + { text: "传输方式(uTLS、REALITY)", link: "/config/transport.md" }, + { text: "Metrics", link: "/config/metrics.md" }, + { text: "连接观测", link: "/config/observatory.md" }, + ], + }, + { + text: "入站协议", + link: "/config/inbounds/", + collapsed: true, + items: [ + { + text: "Tunnel(dokodemo-door)", + link: "/config/inbounds/tunnel.md", + }, + { text: "HTTP", link: "/config/inbounds/http.md" }, + { text: "Shadowsocks", link: "/config/inbounds/shadowsocks.md" }, + { text: "Socks", link: "/config/inbounds/socks.md" }, + { text: "Trojan", link: "/config/inbounds/trojan.md" }, + { + text: "VLESS(XTLS Vision Seed)", + link: "/config/inbounds/vless.md", + }, + { text: "VMess", link: "/config/inbounds/vmess.md" }, + { text: "Wireguard", link: "/config/inbounds/wireguard.md" }, + { text: "TUN", link: "/config/inbounds/tun.md" }, + ], + }, + { + text: "出站协议", + link: "/config/outbounds/", + collapsed: true, + items: [ + { text: "Blackhole", link: "/config/outbounds/blackhole.md" }, + { text: "DNS", link: "/config/outbounds/dns.md" }, + { + text: "Freedom(fragment、noises)", + link: "/config/outbounds/freedom.md", + }, + { text: "HTTP", link: "/config/outbounds/http.md" }, + { text: "Loopback", link: "/config/outbounds/loopback.md" }, + { text: "Shadowsocks", link: "/config/outbounds/shadowsocks.md" }, + { text: "Socks", link: "/config/outbounds/socks.md" }, + { text: "Trojan", link: "/config/outbounds/trojan.md" }, + { + text: "VLESS(XTLS Vision Seed)", + link: "/config/outbounds/vless.md", + }, + { text: "VMess", link: "/config/outbounds/vmess.md" }, + { text: "Wireguard", link: "/config/outbounds/wireguard.md" }, + { text: "Hysteria", link: "/config/outbounds/hysteria.md" }, + ], + }, + { + text: "底层传输", + link: "/config/transports/", + collapsed: true, + items: [ + { text: "RAW", link: "/config/transports/raw.md" }, + { + text: "XHTTP: Beyond REALITY", + link: "/config/transports/xhttp.md", + }, + { text: "mKCP", link: "/config/transports/mkcp.md" }, + { text: "gRPC", link: "/config/transports/grpc.md" }, + { text: "WebSocket", link: "/config/transports/websocket.md" }, + { text: "HTTPUpgrade", link: "/config/transports/httpupgrade.md" }, + { text: "Hysteria", link: "/config/transports/hysteria.md" }, + ], + }, + ], + "/document/": [ + { + text: "快速入门文档", + link: "/document/", + collapsed: true, + items: [ + { text: "下载安装", link: "/document/install.md" }, + { text: "配置运行", link: "/document/config.md" }, + { text: "命令参数", link: "/document/command.md" }, + { text: "为 Project X 的文档贡献", link: "/document/document.md" }, + ], + }, + { + text: "小小白白话文", + link: "/document/level-0/", + collapsed: true, + items: [ + { + text: "【第 1 章】 小小白白话文", + link: "/document/level-0/ch01-preface.md", + }, + { + text: "【第 2 章】原料准备篇", + link: "/document/level-0/ch02-preparation.md", + }, + { + text: "【第 3 章】远程登录篇", + link: "/document/level-0/ch03-ssh.md", + }, + { + text: "【第 4 章】安全防护篇", + link: "/document/level-0/ch04-security.md", + }, + { + text: "【第 5 章】网站建设篇", + link: "/document/level-0/ch05-webpage.md", + }, + { + text: "【第 6 章】证书管理篇", + link: "/document/level-0/ch06-certificates.md", + }, + { + text: "【第 7 章】Xray 服务器篇", + link: "/document/level-0/ch07-xray-server.md", + }, + { + text: "【第 8 章】Xray 客户端篇", + link: "/document/level-0/ch08-xray-clients.md", + }, + { + text: "【第 9 章】附录", + link: "/document/level-0/ch09-appendix.md", + }, + ], + }, + { + text: "入门技巧", + link: "/document/level-1/", + collapsed: true, + items: [ + { + text: "回落 (fallbacks) 功能简析", + link: "/document/level-1/fallbacks-lv1.md", + }, + { + text: "路由 (routing) 功能简析(上)", + link: "/document/level-1/routing-lv1-part1.md", + }, + { + text: "路由 (routing) 功能简析(下)", + link: "/document/level-1/routing-lv1-part2.md", + }, + { text: "Xray 的工作模式", link: "/document/level-1/work.md" }, + { + text: "SNI 回落", + link: "/document/level-1/fallbacks-with-sni.md", + }, + { + text: "用 DNS 实现精准境内外分流", + link: "/document/level-1/routing-with-dns.md", + }, + ], + }, + { + text: "进阶技巧", + link: "/document/level-2/", + collapsed: true, + items: [ + { + text: "透明代理入门", + link: "/document/level-2/transparent_proxy/transparent_proxy.md", + }, + { text: "TProxy 透明代理", link: "/document/level-2/tproxy.md" }, + { + text: "TProxy 透明代理(ipv4 and ipv6)", + link: "/document/level-2/tproxy_ipv4_and_ipv6.md", + }, + { + text: "Nginx 或 Haproxy 搭建 TLS 隧道隐藏指纹", + link: "/document/level-2/nginx_or_haproxy_tls_tunnel.md", + }, + { text: "GID 透明代理", link: "/document/level-2/iptables_gid.md" }, + { text: "出站流量重定向", link: "/document/level-2/redirect.md" }, + { + text: "通过 Cloudflare Warp 增强代理安全性", + link: "/document/level-2/warp.md", + }, + { text: "流量统计", link: "/document/level-2/traffic_stats.md" }, + ], + }, + ], + "/development/": [ + { + text: "开发指南", + link: "/development/", + collapsed: true, + items: [ + { text: "编译", link: "/development/intro/compile.md" }, + { text: "设计目标", link: "/development/intro/design.md" }, + { text: "开发规范", link: "/development/intro/guide.md" }, + ], + }, + { + text: "协议详解", + collapsed: false, + items: [ + { text: "VLESS 协议", link: "/development/protocols/vless.md" }, + { text: "VMess 协议", link: "/development/protocols/vmess.md" }, + { + text: "Mux.Cool 协议", + link: "/development/protocols/muxcool.md", + }, + { text: "mKCP 协议", link: "/development/protocols/mkcp.md" }, + ], + }, + ], +}; diff --git a/.vitepress/menus/sidebar.ru.mts b/.vitepress/menus/sidebar.ru.mts new file mode 100644 index 00000000..386c3c42 --- /dev/null +++ b/.vitepress/menus/sidebar.ru.mts @@ -0,0 +1,325 @@ +import type { DefaultTheme } from "vitepress"; + +export const sidebar: DefaultTheme.Config["sidebar"] = { + "/ru/config/": [ + { + text: "Обзор", + link: "/config/features/", + collapsed: true, + items: [ + { + text: "Глубокий анализ XTLS", + link: "/ru/config/features/xtls.md", + }, + { + text: "Fallback", + link: "/ru/config/features/fallback.md", + }, + { + text: "Browser Dialer", + link: "/ru/config/features/browser_dialer.md", + }, + { + text: "Переменные окружения", + link: "/ru/config/features/env.md", + }, + { + text: "Конфигурация из нескольких файлов", + link: "/ru/config/features/multiple.md", + }, + ], + }, + { + text: "Базовая конфигурация", + link: "/ru/config/", + collapsed: true, + items: [ + { text: "Настройка журнала", link: "/ru/config/log.md" }, + { text: "API", link: "/ru/config/api.md" }, + { text: "Встроенный DNS-сервер", link: "/ru/config/dns.md" }, + { text: "FakeDNS", link: "/ru/config/fakedns.md" }, + { text: "Входящие подключения", link: "/ru/config/inbound.md" }, + { + text: "Исходящие подключения", + link: "/ru/config/outbound.md", + }, + { text: "Локальные политики", link: "/ru/config/policy.md" }, + { text: "Обратный прокси", link: "/ru/config/reverse.md" }, + { text: "Маршрутизация", link: "/ru/config/routing.md" }, + { text: "Статистика", link: "/ru/config/stats.md" }, + { + text: "Способы передачи", + link: "/ru/config/transport.md", + }, + { text: "Метрики", link: "/ru/config/metrics.md" }, + { + text: "Мониторинг подключений", + link: "/ru/config/observatory.md", + }, + ], + }, + { + text: "Входящие подключения", + link: "/ru/config/inbounds/", + collapsed: true, + items: [ + { + text: "Tunnel (dokodemo-door)", + link: "/ru/config/inbounds/tunnel.md", + }, + { text: "HTTP", link: "/ru/config/inbounds/http.md" }, + { + text: "Shadowsocks", + link: "/ru/config/inbounds/shadowsocks.md", + }, + { text: "Socks", link: "/ru/config/inbounds/socks.md" }, + { text: "Trojan", link: "/ru/config/inbounds/trojan.md" }, + { + text: "VLESS (XTLS Vision Seed)", + link: "/ru/config/inbounds/vless.md", + }, + { text: "VMess", link: "/ru/config/inbounds/vmess.md" }, + { text: "Wireguard", link: "/ru/config/inbounds/wireguard.md" }, + { text: "TUN", link: "/ru/config/inbounds/tun.md" }, + ], + }, + { + text: "Исходящие подключения", + link: "/ru/config/outbounds/", + collapsed: true, + items: [ + { + text: "Blackhole", + link: "/ru/config/outbounds/blackhole.md", + }, + { text: "DNS", link: "/ru/config/outbounds/dns.md" }, + { + text: "Freedom (fragment, noises)", + link: "/ru/config/outbounds/freedom.md", + }, + { text: "HTTP", link: "/ru/config/outbounds/http.md" }, + { text: "Loopback", link: "/ru/config/outbounds/loopback.md" }, + { + text: "Shadowsocks", + link: "/ru/config/outbounds/shadowsocks.md", + }, + { text: "Socks", link: "/ru/config/outbounds/socks.md" }, + { text: "Trojan", link: "/ru/config/outbounds/trojan.md" }, + { + text: "VLESS (XTLS Vision Seed)", + link: "/ru/config/outbounds/vless.md", + }, + { text: "VMess", link: "/ru/config/outbounds/vmess.md" }, + { + text: "Wireguard", + link: "/ru/config/outbounds/wireguard.md", + }, + { + text: "Hysteria 2", + link: "/ru/config/outbounds/hysteria.md", + }, + ], + }, + { + text: "Способы передачи", + link: "/ru/config/transports/", + collapsed: true, + items: [ + { text: "RAW", link: "/ru/config/transports/raw.md" }, + { + text: "XHTTP: За пределами REALITY", + link: "/ru/config/transports/xhttp.md", + }, + { text: "mKCP", link: "/ru/config/transports/mkcp.md" }, + { text: "gRPC", link: "/ru/config/transports/grpc.md" }, + { + text: "WebSocket", + link: "/ru/config/transports/websocket.md", + }, + { + text: "HTTPUpgrade", + link: "/ru/config/transports/httpupgrade.md", + }, + { + text: "Hysteria", + link: "/ru/config/transports/hysteria.md", + }, + ], + }, + ], + "/ru/document/": [ + { + text: "Руководство по быстрому старту", + link: "/ru/document/", + collapsed: true, + items: [ + { + text: "Загрузка и установка", + link: "/ru/document/install.md", + }, + { text: "Настройка и запуск", link: "/ru/document/config.md" }, + { text: "Параметры команды", link: "/ru/document/command.md" }, + { + text: "Вклад в документацию Project X", + link: "/ru/document/document.md", + }, + ], + }, + { + text: "Простыми словами", + link: "/ru/document/level-0/", + collapsed: true, + items: [ + { + text: "[Глава 1] Руководство для новичков простым языком", + link: "/ru/document/level-0/ch01-preface.md", + }, + { + text: "[Глава 2] Подготовка", + link: "/ru/document/level-0/ch02-preparation.md", + }, + { + text: "[Глава 3] Удаленный вход", + link: "/ru/document/level-0/ch03-ssh.md", + }, + { + text: "[Глава 4] Защита безопасности", + link: "/ru/document/level-0/ch04-security.md", + }, + { + text: "[Глава 5] Создание веб-сайта", + link: "/ru/document/level-0/ch05-webpage.md", + }, + { + text: "[Глава 6] Управление сертификатами", + link: "/ru/document/level-0/ch06-certificates.md", + }, + { + text: "[Глава 7] Сервер Xray", + link: "/ru/document/level-0/ch07-xray-server.md", + }, + { + text: "[Глава 8] Клиент Xray", + link: "/ru/document/level-0/ch08-xray-clients.md", + }, + { + text: "[Глава 9] Приложение", + link: "/ru/document/level-0/ch09-appendix.md", + }, + ], + }, + { + text: "Советы для начинающих", + link: "/ru/document/level-1/", + collapsed: true, + items: [ + { + text: "Краткий анализ функции Fallbacks", + link: "/ru/document/level-1/fallbacks-lv1.md", + }, + { + text: "Краткий анализ функции маршрутизации (Часть 1)", + link: "/ru/document/level-1/routing-lv1-part1.md", + }, + { + text: "Краткий анализ функции маршрутизации (Часть 2)", + link: "/ru/document/level-1/routing-lv1-part2.md", + }, + { + text: "Режимы работы Xray", + link: "/ru/document/level-1/work.md", + }, + { + text: "SNI Fallback", + link: "/ru/document/level-1/fallbacks-with-sni.md", + }, + { + text: "Достижение точного разделения трафика (внутренний/международный) с помощью DNS", + link: "/ru/document/level-1/routing-with-dns.md", + }, + ], + }, + { + text: "Продвинутые советы", + link: "/ru/document/level-2/", + collapsed: true, + items: [ + { + text: "Введение в прозрачный прокси", + link: "/ru/document/level-2/transparent_proxy/transparent_proxy.md", + }, + { + text: "Прозрачный прокси TProxy", + link: "/ru/document/level-2/tproxy.md", + }, + { + text: "Прозрачный прокси TProxy (IPv4 и IPv6)", + link: "/ru/document/level-2/tproxy_ipv4_and_ipv6.md", + }, + { + text: "Создание TLS-туннеля с Nginx или Haproxy для скрытия отпечатков", + link: "/ru/document/level-2/nginx_or_haproxy_tls_tunnel.md", + }, + { + text: "Прозрачный прокси GID", + link: "/ru/document/level-2/iptables_gid.md", + }, + { + text: "Перенаправление исходящего трафика", + link: "/ru/document/level-2/redirect.md", + }, + { + text: "Улучшение безопасности прокси с помощью Cloudflare Warp", + link: "/ru/document/level-2/warp.md", + }, + { + text: "Статистика трафика", + link: "/ru/document/level-2/traffic_stats.md", + }, + ], + }, + ], + "/ru/development/": [ + { + text: "Руководство разработчика", + link: "/ru/development/", + collapsed: true, + items: [ + { + text: "Компиляция", + link: "/ru/development/intro/compile.md", + }, + { + text: "Дизайн", + link: "/ru/development/intro/design.md", + }, + { + text: "Принципы разработки", + link: "/ru/development/intro/guide.md", + }, + ], + }, + { + text: "Детали протоколов", + collapsed: false, + items: [ + { + text: "Протокол VLESS", + link: "/ru/development/protocols/vless.md", + }, + { + text: "Протокол VMess", + link: "/ru/development/protocols/vmess.md", + }, + { + text: "Протокол Mux.Cool", + link: "/ru/development/protocols/muxcool.md", + }, + { + text: "Протокол mKCP", + link: "/ru/development/protocols/mkcp.md", + }, + ], + }, + ], +};