Files
3x-ui/README.ru_RU.md
T
Kuzz007 ab39f14b18 docs: update all 7 READMEs for the embedded AmneziaWG architecture
Replace the kernel-module/DKMS/awg-quick description (What's different,
Supported Platforms, Acknowledgment) with the embedded amneziawg-go +
gVisor architecture, and note the temporarily-unsupported per-client
IPv6 identity and port-forwarding gap until their fast-follow releases.
2026-08-02 20:34:57 +03:00

23 KiB

English | فارسی | العربية | 中文 | Español | Русский | Türkçe

3x-ui

Build GO Version License

Это личный форк 3X-UI — продвинутой веб-панели с открытым исходным кодом для управления серверами Xray-core — с одним крупным дополнением: нативной поддержкой AmneziaWG, добавленной как полноценный протокол наравне с VLESS, VMess, Trojan и остальными. Всё остальное, что умеет 3X-UI (многопротокольные входящие, учёт трафика по клиентам, подписки, несколько узлов, Telegram-бот), не изменено и работает точно так же, как в оригинале.

Этот форк существует, чтобы обслуживать собственные роутеры и серверы автора; он не пытается заменить или конкурировать с оригинальным проектом. Если вам нужна универсальная панель — обращайтесь к MHSanaei/3x-ui; всё, что написано ниже, документирует только отличия этого форка.

Important

Этот проект предназначен только для личного использования. Пожалуйста, не используйте его в незаконных целях или в производственной среде.

Чем этот форк отличается: AmneziaWG

AmneziaWG — это WireGuard с добавленным слоем обфускации (мусорные пакеты, случайный паддинг, переписывание магических заголовков), который призван обмануть DPI-фингерпринтинг протокола: тот же туннель, но не выглядящий как туннель в трафике.

  • Встроено, а не модуль ядра. AmneziaWG работает целиком внутри процесса панели (amneziawg-go поверх пользовательского сетевого стека) — никакой сборки DKMS, никакого конфликта с Secure Boot, никаких привилегированных сайдкар-контейнеров и вообще ничего ставить на хост не нужно.
  • Полноценный протокол. AmneziaWG-инбаунд живёт в той же таблице Inbound, что и всё остальное, поэтому бесплатно получает bulk-операции, модалку QR/скачивания конфига и ссылки подписки — учить ничего отдельного не нужно.
  • Полная обфускация AmneziaWG 2.0 — Jc/Jmin/Jmax (мусорные пакеты), S1–S4 (паддинг пакетов), H1–H4 (магические заголовки) и сигнатурный пакет I1, всё редактируется по каждому инбаунду с кнопкой генерации одним кликом, плюс совместимый с 1.x режим для старых клиентов.
  • Трафик каждого клиента уже идёт через Xray. Никакого TPROXY, никакого моста, который нужно включать отдельно: каждый AmneziaWG-инбаунд напрямую передаёт трафик в свой loopback-инбаунд SOCKS5 в Xray, поэтому статистика по клиентам, онлайн-статус, sniffing и правила уже существующего меню «Маршрутизация» работают точно так же, как для любого другого протокола — без дополнительной настройки.
  • Настоящие ссылки vpn:// — ссылка-копия/QR у клиента и endpoint подписки отдают тот самый формат vpn://, который ожидает официальное приложение AmneziaVPN (base64url обычного .conf), а не выдуманный формат URI, который оно не могло импортировать.
  • Временно не поддерживается после этого перехода: отдельный публичный IPv6-адрес на каждого клиента и проброс портов по клиентам — обе функции опирались на хостовые правила iptables старого модуля ядра, а у встроенной архитектуры пока нет их аналога. Обе запланированы отдельными релизами следом; уже сохранённые настройки для них никуда не делись, просто пока не действуют.

Другие изменения в этом форке

Более мелкие изменения этого форка, не связанные с AmneziaWG, добавляются сюда по мере появления:

  • Автокомплит правил маршрутизации — поля IP/Домен в редакторе правил маршрутизации Xray теперь подсказывают категории geosite/geoip (например, при вводе «you» предложит geosite:youtube), формируемые прямо из тех .dat-файлов, что реально установлены в папке bin Xray — включая кастомные файлы, добавленные через функцию автообновления Geodata (например, geosite_roscom.dat). Свободный ввод текста по-прежнему работает как раньше.
  • Live-скорость для AmneziaWG и MTProto — колонка Speed показывала «--» для инбаундов/клиентов AmneziaWG и MTProto (mtg), хотя суммарный трафик считался верно — ни один из них не работает внутри собственного рантайма Xray-core и поэтому невидим для его stats API. Теперь оба протокола транслируют live-скорость наравне со всеми остальными.
  • Кастомные файлы в bin/ переживают обновления — переустановка/обновление раньше полностью стирали папку bin/ перед распаковкой нового релиза, тихо удаляя всё, что было туда добавлено вручную (чаще всего — кастомный geoip/geosite-файл, на который ссылается правило маршрутизации через ext:<file>:<code>), и ломая все инбаунды при следующем запуске. Теперь инсталлятор сначала бэкапит bin/ и восстанавливает только то, чего нет в новом релизе.

Возможности

  • Многопротокольные входящие подключения — VLESS, VMess, Trojan, Shadowsocks, WireGuard, AmneziaWG, Hysteria2, HTTP, SOCKS (Mixed), Dokodemo-door / Tunnel и TUN.
  • Современные транспорты и безопасность — TCP (Raw), mKCP, WebSocket, gRPC, HTTPUpgrade и XHTTP, защищённые с помощью TLS, XTLS и REALITY.
  • Fallback — обслуживание нескольких протоколов на одном порту (например, VLESS и Trojan на 443) с помощью функции fallback в Xray.
  • Управление по каждому клиенту — квоты трафика, даты истечения, лимиты IP, статус «онлайн» в реальном времени, а также ссылки для общего доступа, QR-коды и подписки в один клик.
  • Статистика трафика — по каждому входящему, по каждому клиенту и по каждому исходящему, с возможностью сброса.
  • Поддержка нескольких узлов — управление и масштабирование на несколько серверов из одной панели.
  • Исходящие подключения и маршрутизация — WARP, NordVPN, пользовательские правила маршрутизации, балансировщики нагрузки и цепочки исходящих прокси.
  • Встроенный сервер подписок с несколькими форматами вывода и пользовательскими шаблонами страниц.
  • Telegram-бот для удалённого мониторинга и управления.
  • RESTful API с документацией Swagger внутри панели.
  • Гибкое хранилище — SQLite (по умолчанию) или PostgreSQL.
  • 13 языков интерфейса с тёмной и светлой темами.
  • Интеграция с Fail2ban для применения лимитов IP по каждому клиенту.

Скриншоты

Нажмите, чтобы развернуть Overview Inbounds Add client Configs

Быстрый старт

curl -fsSL https://raw.githubusercontent.com/Kuzz007/3x-ui/main/install.sh | bash

Чтобы установить конкретную версию, добавьте её тег (например, v3.5.0-awg.1):

curl -fsSL https://raw.githubusercontent.com/Kuzz007/3x-ui/main/install.sh | bash -s v3.5.0-awg.1

Чтобы установить скользящую сборку dev (последний пре-релиз по коммитам из main, не стабильный релиз), передайте dev:

curl -fsSL https://raw.githubusercontent.com/Kuzz007/3x-ui/main/install.sh | bash -s dev

Собственные стабильные релизы этого форка помечаются тегом <базовая версия апстрима>-awg.N (например, v3.5.0-awg.1, построен поверх того, что апстрим называет v3.5.0) — никогда просто vX.Y.Z — чтобы их нельзя было спутать с настоящим релизом MHSanaei/3x-ui того же номера.

Во время установки генерируются случайные имя пользователя, пароль и путь доступа. После установки выполните x-ui, чтобы открыть меню управления, где можно запускать/останавливать сервис, просматривать или сбрасывать учётные данные для входа, управлять SSL-сертификатами и многое другое.

Общую документацию по панели, помимо этого README, смотрите в оригинальной вики проекта — там ничего специфичного для этого форка, так что всё актуально.

Автоматическая установка

Установщик также работает в неинтерактивном режиме для cloud-init. Задайте XUI_NONINTERACTIVE=1 (или передайте по конвейеру без TTY), и установка пройдёт от начала до конца без единого запроса: будут сгенерированы случайные учётные данные и записаны в /etc/x-ui/install-result.env. Смотрите deploy/ для:

Поддерживаемые платформы

Операционные системы: Ubuntu, Debian, Armbian, Fedora, CentOS, RHEL, AlmaLinux, Rocky Linux, Oracle Linux, Amazon Linux, Virtuozzo, Arch, Manjaro, Parch, openSUSE (Tumbleweed / Leap) и Alpine. (В апстриме также есть сборка под Windows; в CI этого форка её нет — здесь всё нацелено на Linux-серверы/роутеры.)

Архитектуры: amd64 · 386 · arm64 (aarch64) · armv7 · armv6 · armv5 · s390x.

AmneziaWG встроен прямо в бинарник панели (см. Чем этот форк отличается: AmneziaWG) — никакого модуля ядра, никакого отдельного шага установки, никакой специфики под конкретный дистрибутив.

Варианты базы данных

3X-UI поддерживает два бэкенда, выбираемых при установке:

  • SQLite (по умолчанию) — единый файл по пути /etc/x-ui/x-ui.db. Без настройки, идеально для небольших и средних развёртываний.
  • PostgreSQL — рекомендуется при большом числе клиентов или конфигурациях с несколькими узлами. Установщик может установить PostgreSQL локально за вас или принять DSN к существующему серверу.

Во время выполнения бэкенд выбирается через переменные окружения (установщик записывает их за вас в /etc/default/x-ui):

XUI_DB_TYPE=postgres
XUI_DB_DSN=postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable

Перенос существующей установки SQLite в PostgreSQL

x-ui migrate-db --dsn "postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable"
# затем задайте XUI_DB_TYPE и XUI_DB_DSN в /etc/default/x-ui и перезапустите:
systemctl restart x-ui

Исходный файл SQLite остаётся нетронутым; удалите его вручную после проверки нового бэкенда.

Переменные окружения

Переменная Описание По умолчанию
XUI_DB_TYPE Бэкенд базы данных: sqlite или postgres sqlite
XUI_DB_DSN Строка подключения PostgreSQL (когда XUI_DB_TYPE=postgres)
XUI_DB_FOLDER Каталог для файла базы данных SQLite /etc/x-ui
XUI_DB_MAX_OPEN_CONNS Максимум открытых соединений (пул PostgreSQL)
XUI_DB_MAX_IDLE_CONNS Максимум простаивающих соединений (пул PostgreSQL)
XUI_INIT_WEB_BASE_PATH Начальный URI-путь для веб-панели /
XUI_ENABLE_FAIL2BAN Включить применение лимитов IP на основе Fail2ban true
XUI_LOG_LEVEL Уровень логирования (debug, info, warning, error) info
XUI_DEBUG Включить режим отладки false
XUI_TUNNEL_HEALTH_MONITOR Включить монитор состояния туннеля (опрашивает URL и перезапускает xray после многократных сбоев; перезапуск отключает всех клиентов) false
XUI_TUNNEL_HEALTH_PROXY Прокси, через который отправляется проба; укажите локальный входящий xray, чтобы проба проверяла туннель (например, socks5://127.0.0.1:1080). Пустое значение означает, что проба проверяет только связь с хостом
XUI_TUNNEL_HEALTH_URL URL, опрашиваемый для проверки состояния туннеля https://www.cloudflare.com/cdn-cgi/trace
XUI_TUNNEL_HEALTH_INTERVAL Интервал между пробами 30s
XUI_TUNNEL_HEALTH_TIMEOUT Таймаут на одну пробу 10s
XUI_TUNNEL_HEALTH_FAILURES Число последовательных сбоев до запуска перезапуска 3
XUI_TUNNEL_HEALTH_COOLDOWN Минимальная задержка между последовательными перезапусками 5m

Поддерживаемые языки

Интерфейс панели доступен на 13 языках:

English · فارسی · العربية · 中文(简体) · 中文(繁體) · Español · Русский · Українська · Türkçe · Tiếng Việt · 日本語 · Bahasa Indonesia · Português (Brasil)

Заметки для разработчика

Это личный форк, и он не ищет сторонних контрибьюторов, но в CONTRIBUTING.md по-прежнему актуальные и полезные инструкции по локальной настройке разработки (версии Go/Node, C-компилятор для CGo, команды сборки/линта/тестов) — пригодится, если сами будете работать с этим кодом.

Благодарность

Этот форк полностью построен поверх MHSanaei/3x-ui — вся панель, поддержка множества протоколов и базовая архитектура — их работа; единственное, что добавлено здесь — поддержка AmneziaWG. Если оригинальный проект оказался вам полезен, ссылки на поддержку автора всё ещё актуальны:

Buy Me A Coffee
Crypto donation button by NOWPayments

Реализация AmneziaWG в этом форке портирована/вдохновлена:

  • amnezia-vpn/amneziawg-go — пользовательская реализация AmneziaWG, которую этот форк встраивает прямо в процесс панели поверх сетевого стека gVisor, заменяя собой прежний бэкенд на основе модуля ядра ниже.
  • MHSanaei/3x-ui#6086 — оригинальный PR с AmneziaWG в апстрим (подход через Docker-сайдкар); этот форк переиспользует его фронтенд-схему/структуру UI.
  • coinman-dev/3ax-ui — независимый форк, уже использующий нативный AmneziaWG в проде; прежний менеджер этого форка на основе модуля ядра (awg-quick) и генератор параметров обфускации AmneziaWG 2.0 были портированы из его пакета awg/ до этого перехода.

Благодарности

  • alireza0
  • Iran v2ray rules (Лицензия: GPL-3.0): Улучшенные правила маршрутизации для v2ray/xray и v2ray/xray-clients со встроенными иранскими доменами и фокусом на безопасность и блокировку рекламы.
  • Russia v2ray rules (Лицензия: GPL-3.0): Этот репозиторий содержит автоматически обновляемые правила маршрутизации V2Ray на основе данных о заблокированных доменах и адресах в России.

Инструменты сообщества

Инструменты и интеграции, созданные сообществом вокруг 3x-ui.

  • terraform-provider-3x-ui (Лицензия: MIT): Управление входящими, клиентами, настройками панели и конфигурацией Xray через код с помощью Terraform / OpenTofu.