Начните бесплатный 3-дневный пробный период
Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.
*Только для новых пользователей. Один пробный период на пользователя.


Настройка 3x-ui завершена, только если вы ограничили управление, проверили отказ постороннему пользователю и можете восстановить базу без возврата отозванного доступа. Здесь используется закрытый административный путь SSH и один зашифрованный вход; приемку восстановления вы выполняете в собственной разрешенной среде.
Ключевые выводы
- Скрытый путь URL не заменяет аутентификацию и сетевую границу.
- Пароль администратора и идентичности пользователей прокси должны различаться.
- База, сертификаты, версии и последующие отзывы входят в общий план восстановления.
- Работа панели и прохождение трафика прокси проверяются отдельно.
Карта самостоятельной эксплуатации разделяет владельцев узла, управления и пользовательского трафика. Панель упрощает ввод, но сама становится ценной точкой контроля. Если вы не хотите обслуживать базу и сертификаты, заранее сравните собственный VPS и управляемый выход.
Для устройств WireGuard предназначен сценарий управления через wg-easy. Здесь рассматриваются 3x-ui и ее ядро Xray. Различия VLESS, REALITY и Vision объясняют, почему эти названия нельзя использовать как взаимозаменяемые настройки.
Область применения: выделенный Ubuntu 24.04 LTS, нативная 3x-ui v3.9.0, стандартная SQLite, отдельный совместимый клиент и уже действующий сертификат вашего домена. PostgreSQL, контейнеры и существующая производственная панель сюда не входят. Руководство основано на официальных источниках, без заявления об авторском сквозном испытании. Проверенное восстановление в заголовке означает обязательную приемку читателем, а не результат автора.[1]
Сохраните исходные порты, firewall, маршруты, DNS, systemd units и задания продления сертификатов в закрытом месте. Проверьте новое SSH-соединение и независимую консоль провайдера. На время установки оставьте вход закрытым, кроме известного административного пути: установщик может запустить службы раньше изменения настроек.
Официальная нативная установка использует привилегированный скрипт. Загрузите скрипт точного выпуска, изучите пакеты, архивы, установку службы и ветки сертификатов вместо исполнения удаленного потока. Проверка синтаксиса не является аудитом безопасности. Аргумент версии фиксирует архив; без него возможен выбор другого выпуска.[2][3]
umask 077
curl --fail --show-error --location \
https://raw.githubusercontent.com/MHSanaei/3x-ui/v3.9.0/install.sh \
-o install-3x-ui-v3.9.0.sh
less install-3x-ui-v3.9.0.sh
bash -n install-3x-ui-v3.9.0.sh
Продолжайте только после подтверждения владельца проекта и изучения всех дальнейших загрузок выбранной ветки. Проверьте официальные материалы целостности выпуска. Несовпадение или невозможность получить обязательный файл требует остановки; не подменяйте источник зеркалом, не отключайте TLS и не переходите на development ради продолжения.
Запускайте интерактивно в настоящем терминале. Выберите SQLite. Для управления только через SSH выберите пункт Skip SSL — behind reverse proxy / SSH tunnel only, затем подтвердите привязку исключительно к loopback. Не принимайте ветку сертификата по умолчанию и не открывайте ради нее порт 80. Вход прокси получит отдельный существующий сертификат в шаге 3.[2]
sudo bash install-3x-ui-v3.9.0.sh v3.9.0
sudo systemctl stop x-ui
sudo /usr/local/x-ui/x-ui setting -listenIP 127.0.0.1 -port 2053
sudo systemctl start x-ui
sudo ss -lntup
Явная команда закрепляет адрес и порт панели. При ошибке предыдущей команды остановитесь и разберите причину. Сгенерированные учетные данные, базовый путь и файл результатов установки храните закрыто. Слушатель панели должен быть 127.0.0.1:2053; wildcard — нарушение границы, даже если провайдер пока блокирует доступ.[5]
На рабочем компьютере замените заглавные заполнители; локальный порт 2053 должен быть свободен. В указанном файле доверия используйте независимо проверенные ключи узла. При несовпадении остановитесь; не принимайте неизвестный ключ ради доступа к панели.
ssh -N -T -o ExitOnForwardFailure=yes -o StrictHostKeyChecking=yes \
-o UserKnownHostsFile=/PATH/TO/VERIFIED_KNOWN_HOSTS \
-L 127.0.0.1:2053:127.0.0.1:2053 ADMIN@SERVER_IP
Откройте http://127.0.0.1:2053/BASE_PATH/, заменив BASE_PATH настоящим путем. Этот HTTP проходит внутри SSH и не является публичной точкой управления. Войдите, задайте уникальное имя администратора и надежный пароль; включите поддерживаемый второй фактор, если можете безопасно сохранить материалы восстановления.
Закройте сеанс браузера и убедитесь, что новое приватное окно требует входа. Неверные данные не должны разрешать привилегированные операции. С разрешенного внешнего узла проверьте недоступность публичного TCP 2053 для обоих применимых семейств адресов, в том числе после перезапуска. Случайные порт и путь уменьшают случайное обнаружение, но не заменяют эти проверки.
Без отдельной необходимости и политики не включайте удаленные API, ботов и подписки. Проверьте все слушатели, не только порт панели. Экспорты могут содержать учетные данные: правила защиты ссылок подписки действуют и при закрытом endpoint подписки.
В этом примере используется VLESS поверх TCP с обычным TLS, без REALITY и Vision. В Inbounds добавьте запись по таблице, затем одного клиента с уникальным именем и UUID, сгенерированным панелью. VLESS сам не шифрует транспорт, поэтому TLS здесь обязателен.[6][7][8]
| Поле | Значение или требование |
|---|---|
| Протокол / транспорт | VLESS / TCP; без flow Vision |
| Адрес / порт | 0.0.0.0 / TCP 8443, изначально закрыт у провайдера |
| VLESS decryption | none; поле протокола, не разрешение убрать TLS |
| Защита транспорта | TLS включен; действующий сертификат proxy.example.com |
| Сертификат / ключ | /etc/x-ui/tls/fullchain.pem / /etc/x-ui/tls/privkey.pem |
| Идентичность клиента | Новый UUID на человека или устройство; пароль администратора не используется |
| Дополнительные слушатели | Неиспользуемые подписки, API и боты выключены |
Замените пример домена. Получите сертификат своим уже согласованным методом; до открытия входа проверьте имя, сроки, цепочку, соответствующий ключ и владельца продления. Установите файлы в указанные места с необходимым доступом реального пользователя службы. Приватный ключ не должен читаться всеми; не исправляйте права широкими рекурсивными разрешениями.
Сохраните вход и примените изменение Xray через панель. Проверьте состояние службы и ошибки конфигурации/сертификата в журналах. Экспорты храните закрыто. На отдельном клиенте задайте настоящий endpoint, порт, новый UUID, TCP, TLS и соответствующее имя сервера с включенной проверкой сертификата. Flow Vision оставьте пустым; локальный прокси привяжите к 127.0.0.1, не к LAN.
Временно разрешите источник тестового клиента на TCP 8443 через политику провайдера и узла. Порт управления не открывайте. Явно выберите новый профиль для проверяемого приложения, затем проверьте видимый выходной IP относительно известного выхода сервера. Загрузка панели через SSH ничего не доказывает об этом пути.
sudo systemctl status x-ui --no-pager
sudo journalctl -u x-ui --since "10 minutes ago" --no-pager
sudo ss -lntup
| Проверка | Ожидаемое условие | Действие при ошибке |
|---|---|---|
| Панель без сеанса | Привилегированные действия запрещены | Закрыть доступ, проверить учетную запись и политику сеансов |
| Правильный UUID и проверенный TLS | Новый TCP-запрос идет через нужный выход | Разделить имя/сертификат, идентичность, маршруты и ошибки ядра |
| Отдельный профиль с неверным UUID | Нет нового разрешенного запроса прокси | Остановить публичный доступ, определить фактически выбранный вход/профиль |
| DNS, IPv6 и UDP приложения | Каждый следует выбранной политике охвата | Зафиксировать неподдерживаемое, не обобщать успех TCP |
| Отключение клиента | Fallback соответствует политике | Не выводить наличие kill switch из прокси приложения |
Для отрицательного профиля используйте только контролируемый трафик. Пример принимает TCP; UDP требует реально поддерживающего его режима клиента/протокола, контролируемого назначения и отдельного результата. DNS может разрешаться вне прокси, а приложение с IPv6 — выбирать другой путь. Эти проверки не объединяйте.
До отзыва создайте второго контрольного пользователя с независимой идентичностью. Удалите или отключите первого и примените изменение Xray. Завершите его прежний сеанс, подключитесь с сохраненным UUID и требуйте отказа новому запросу, пока контрольный пользователь работает. В согласованное окно перезапустите x-ui и повторите. Старые потоки и счетчики трафика не заменяют отрицательный тест.
Закрыто запишите версии панели/ядра, SQLite-путь, TLS-файлы, продление, настройки службы, пользователей, токены и правила провайдера. По умолчанию база — /etc/x-ui/x-ui.db; сертификаты остаются отдельным входом восстановления, хотя здесь лежат внутри того же каталога. PostgreSQL требует собственного метода и не входит в копирование файлов.[4]
Выберите новый каталог снимка, остановите панель/ядро в окно обслуживания и проверяйте каждую команду. Копирование всего остановленного SQLite-каталога сохраняет и сопутствующие файлы базы. При сбое не трогайте источник, разберите причину и осознанно верните службу.
sudo install -d -m 700 /root/3x-ui-backup-20261011
sudo systemctl stop x-ui
sudo cp -a /etc/x-ui /root/3x-ui-backup-20261011/x-ui
sudo chmod -R go-rwx /root/3x-ui-backup-20261011
sudo systemctl start x-ui
Если настоящие сертификаты лежат иначе, включите их, данные продления и аккаунта отдельно. Запишите исходные владельца и режимы до ограничения прав копии. Зашифруйте закрытую внешнюю копию: база содержит чувствительное состояние клиентов и администратора. Не отправляйте ее ботом или в публичный чат.
Реестр отзывов пользователей и ротаций храните отдельно, с датами. Для восстановления подготовьте изолированный заменяющий узел с теми же версиями панели и Xray, закрыв бизнес-входы и дополнительные слушатели. Сохраните его текущий каталог под новым rollback-именем ниже. Источник должен существовать, новые каталоги назначения — быть свободными. Не выполняйте это на единственном живом экземпляре без отдельной копии для отката.
sudo systemctl stop x-ui
sudo mv /etc/x-ui /etc/x-ui.before-restore-20261011
sudo cp -a /root/3x-ui-backup-20261011/x-ui /etc/x-ui
У резервной копии удалён доступ группы и остальных. После копирования восстановите исходных владельцев и режимы из инвентаря, особенно чтение SQLite и TLS фактическим пользователем службы. Закрытые ключи не должны стать доступны посторонним. Сделайте это до следующих команд запуска.
sudo /usr/local/x-ui/x-ui setting -listenIP 127.0.0.1 -port 2053
sudo systemctl start x-ui
База может вернуть старые UUID и административные данные. До открытия входа повторите последующие отзывы и ротации через SSH-панель, проверьте владельца сертификатов, имена, сроки и задания продления. Повторите правильные/неверные данные, отозванного/контрольного пользователя, перезапуск и слушатели. Работа старого отозванного UUID означает провал: закройте вход и исправьте сохраненное и активное состояние ядра. Не принуждайте новую установку использовать старую схему и не совмещайте восстановление с обновлением.[4]
При потере доступа используйте разрешенную консоль узла и документированное меню x-ui для сброса учетной записи. Затем войдите и восстановите намеченную политику аутентификации. Не отключайте второй фактор и не публикуйте панель ради диагностики. Если полномочия на восстановление неясны, оставьте вход закрытым.
При завершении закройте правило провайдера этого входа, отзовите пользователей и экспорты, остановите и отключите автозапуск x-ui. Проверьте все принадлежащие установке слушатели и задания продления. Сохраните зашифрованные копии на выбранный срок, затем используйте документированное удаление. Удаляйте только ее DNS и облачные ресурсы; проверьте прежние службы и новое административное соединение. Удаление ПО не отменяет оплату узла.
Нет. Путь может раскрыться через историю, экспорт или журналы. Ограничьте слушатель управления и требуйте настоящую аутентификацию для каждой привилегированной операции.
SSH защищает только этот административный путь браузера. Отдельному входу VLESS нужны собственные TLS, идентичности, firewall и клиентские проверки.
Это значение поля протокола VLESS, а не совет использовать открытый интернет-транспорт. В примере отдельно обязателен обычный TLS с проверяемыми клиентом сертификатами.
Используйте согласованный механизм резервирования либо остановите выделенную установку перед копированием каталога базы. Копия во время записей может оказаться непригодной для целостного восстановления.
Не предполагайте этого. Сохраняйте настоящие пути сертификата и ключа, права доступа и продление отдельно от базы, даже если файлы расположены рядом.
Да, если снимок сделан до удаления. Повторите независимый реестр отзывов до открытия входа и проверьте отказ новому запросу со старым UUID после перезапуска.
Автор не заявляет о таком испытании. Заголовок описывает обязательную приемку читателем; результаты должны происходить из вашей разрешенной среды, а не из предположения об успехе.
Источники:
Sources checked 11 октября 2026 г.
Рекомендуемые статьи:
Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.
*Только для новых пользователей. Один пробный период на пользователя.





