После обновления 3x-ui часть пользователей обнаруживает, что новая версия панели работает нестабильно: не открывается веб-интерфейс, слетают настройки инбаундов или меняется привычное поведение подписок. В такой ситуации рабочее решение — установить старую, проверенную версию панели вместо последнего релиза. Проект 3x-ui (форк x-ui от MHSanaei) хранит все выпуски на GitHub, поэтому откат выполняется штатными средствами установочного скрипта.
Процедура занимает несколько минут и не требует переустановки операционной системы. Ниже разберём, как узнать номер нужного релиза, как указать его скрипту установки, как откатиться с текущей версии и что проверить после завершения. Инструкция рассчитана на серверы под управлением Linux с доступом по SSH и правами root.
Зачем откатывать 3x-ui на предыдущую версию
Причины для установки старой версии обычно практические. После очередного обновления может меняться структура базы данных, поведение маршрутизации или формат конфигурации Xray-core. Если панель используется в связке со сторонними скриптами, ботами или системами выдачи подписок, несовместимость нового релиза ломает всю цепочку.
- 🔧 Ошибки нового релиза — панель не стартует, веб-интерфейс отдаёт пустую страницу или ошибку соединения с базой.
- 🧩 Несовместимость плагинов — внешние боты и скрипты рассчитаны на API конкретной версии.
- 📉 Регрессии в функциях — изменилось поведение ограничений трафика, подписок или маршрутов.
- 🗂️ Требования хостинга — на старом окружении новая версия может требовать более свежие зависимости.
Прежде чем откатываться, стоит убедиться, что проблема действительно в версии панели, а не в сетевых настройках или блокировке порта. Проверьте статус службы командой x-ui status или systemctl status x-ui — если служба активна, но интерфейс недоступен, возможно, дело в firewall или смене порта панели после обновления.
Как узнать номер нужной версии
Все релизы 3x-ui публикуются на странице проекта на GitHub в разделе Releases. Там указаны номера версий в формате вида v2.x.x, даты выхода и списки изменений. Ориентируйтесь на описание релиза: если проблема появилась после обновления, вам нужна версия, которая стояла до него.
Текущую установленную версию можно посмотреть прямо на сервере. Выполните в терминале команду x-ui и выберите пункт меню с информацией о панели, либо проверьте версию бинарного файла. Номер также отображается в веб-интерфейсе, обычно внизу страницы или в разделе настроек — если панель ещё открывается.
Обратите внимание на пометки pre-release и beta: такие сборки не стоит ставить на рабочий сервер без необходимости. Для стабильной эксплуатации выбирайте релизы без дополнительных меток.
Установка конкретной версии через установочный скрипт
Официальный скрипт установки 3x-ui поддерживает указание версии аргументом. Это самый чистый способ поставить старый релиз как на новый сервер, так и поверх существующей установки. Общий синтаксис выглядит так:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.3.5
Вместо v2.3.5 подставьте номер нужного вам релиза. Скрипт скачает архив соответствующей версии, остановит службу, заменит файлы и перезапустит панель. База данных и настройки при этом обычно сохраняются, так как хранятся отдельно от исполняемых файлов.
☑️ Перед установкой старой версии 3x-ui
⚠️ Внимание: откат на версию со старой структурой базы данных может привести к тому, что панель не сможет прочитать базу, созданную новым релизом. Перед откатом обязательно сделайте копию файла /etc/x-ui/x-ui.db, чтобы при проблемах вернуться к исходному состоянию.
После завершения скрипта проверьте результат командой x-ui status и откройте веб-интерфейс в браузере. Если панель запустилась и отображает нужный номер версии — установка прошла успешно.
Откат с новой версии на старую
Если панель уже обновлена, порядок действий немного отличается. Сначала остановите службу, чтобы исключить запись в базу во время замены файлов: systemctl stop x-ui. Затем сделайте резервную копию каталога /etc/x-ui/ — это займёт пару секунд, но избавит от потери конфигурации.
Далее запустите установочный скрипт с номером целевой версии, как показано выше. Скрипт перезапишет исполняемые файлы и юнит systemd, не трогая пользовательские данные. После завершения служба запустится автоматически; если этого не произошло, выполните systemctl start x-ui и проверьте логи командой journalctl -u x-ui -e.
Альтернативный вариант — встроенное меню панели. Команда x-ui открывает консольное меню, где в некоторых версиях доступны пункты обновления и управления версиями. Состав пунктов зависит от релиза, поэтому сверяйтесь с тем, что реально отображается на вашем сервере.
Ручная установка из архива релиза
Если скрипт по какой-то причине недоступен — например, сервер не имеет прямого доступа к GitHub, — старую версию можно поставить вручную. На странице релиза скачайте архив для вашей архитектуры (чаще всего это файл вида x-ui-linux-amd64.tar.gz), распакуйте его и замените бинарный файл в каталоге установки.
Типовая последовательность без привязки к конкретным номерам выглядит так: остановить службу, распаковать архив во временный каталог, скопировать исполняемый файл поверх существующего, восстановить права на запуск и перезапустить службу. Точные пути могут отличаться в зависимости от того, как панель была установлена изначально, поэтому перед заменой проверьте расположение файлов командой which x-ui или по содержимому юнита systemctl cat x-ui.
Как проверить архитектуру сервера
Выполните команду uname -m. Ответ x86_64 соответствует архиву amd64, aarch64 — архиву arm64. Установка бинарника неподходящей архитектуры приведёт к ошибке запуска службы.
⚠️ Внимание: скачивайте архивы только со страницы официального репозитория проекта. Сторонние сборки панели, которая управляет прокси-трафиком и ключами доступа, — прямой риск компрометации сервера.
Сравнение способов установки старой версии
Каждый из описанных методов подходит под свой сценарий. Сводная таблица поможет выбрать подходящий.
| Способ | Сложность | Сохранение настроек | Когда применять |
|---|---|---|---|
| Скрипт с номером версии | Низкая | Да, база не затрагивается | Стандартная установка или откат |
| Откат поверх обновления | Средняя | Да, при копии базы заранее | Новая версия работает с ошибками |
| Ручная замена бинарника | Средняя | Да, при аккуратной замене | Нет доступа к GitHub со сервера |
| Чистая установка старого релиза | Низкая | Нет, настройки с нуля | Новый сервер или повреждённая база |
Для большинства ситуаций оптимален первый способ: одна команда, минимум ручных действий и автоматический перезапуск службы. Ручную замену оставьте как запасной вариант.
Что сделать после установки старой версии
Откатившись на старый релиз, отключите автоматическое обновление панели, если оно у вас настроено — иначе при следующем запуске скрипта без аргумента версии панель снова обновится до последней. Проверьте наличие заданий в crontab -l, которые вызывают установочный скрипт без указания версии.
- ✅ Проверьте версию — убедитесь, что панель отображает именно тот релиз, который вы ставили.
- 🔌 Протестируйте инбаунды — подключитесь через клиентское приложение и проверьте прохождение трафика.
- 📡 Проверьте подписки — ссылки подписки должны отдавать корректный конфиг.
- 🚫 Отключите автообновление — уберите задания cron, обновляющие панель без контроля.
Также имеет смысл периодически проверять страницу релизов: если причина отката была в конкретной ошибке, в следующих версиях её могут исправить, и вы сможете обновиться уже осознанно. Держите под рукой резервную копию базы x-ui.db — это единственный файл, без которого восстановление конфигурации после неудачного обновления превращается в настройку с нуля.
Часто задаваемые вопросы
Можно ли установить старую версию 3x-ui без потери пользователей и настроек?
Да, в большинстве случаев. Установочный скрипт заменяет исполняемые файлы, а база данных /etc/x-ui/x-ui.db с пользователями и инбаундами остаётся на месте. Однако перед откатом на значительно более старый релиз сделайте копию базы — структура данных могла измениться между версиями.
Что делать, если после отката панель не запускается?
Проверьте логи службы командой journalctl -u x-ui -e. Частая причина — несовместимость базы данных нового формата со старой версией. В этом случае либо верните более новый релиз, либо восстановите копию базы, сделанную до обновления.
Где взять номер версии, которая стояла до обновления?
Если панель ещё открывается, версия отображается в интерфейсе. Если нет — посмотрите историю команд в терминале или логи установки. Как вариант, на странице релизов GitHub по датам выхода можно определить, какая версия была актуальна на момент вашей установки.
Нужно ли удалять новую версию перед установкой старой?
Нет, отдельное удаление не требуется. Установочный скрипт с указанием номера версии сам остановит службу, заменит файлы и перезапустит панель. Удаление имеет смысл только при чистой установке с нуля.
Обновится ли панель обратно автоматически?
Сама по себе — нет, автоматического обновления в базовой установке нет. Но если вы или ваши скрипты добавляли задание в cron с вызовом установочного скрипта без номера версии, панель обновится при его срабатывании. Проверьте crontab -l и при необходимости уберите такие задания.