Releases: deepru/xpam-script
Release list
XPAM Script v1.4.2
XPAM Script v1.4.2
Выпуск совместимости. Свежая версия панели 3x-ui изменила то, как она хранит публичный адрес
Telegram proxy, и на обновлённых серверах проверка состояния начинала сообщать о двух ошибках,
хотя сервер был полностью исправен. Это исправлено.
Заодно закрыт давний недостаток: ссылка и QR-код на Telegram proxy, которые показывает сама
панель, наконец ведут на настоящий адрес сервера.
Для уже работающих серверов ничего не ломается: ссылки VLESS и Telegram, домены, клиенты,
настройки DoubleHop и WARP и ваш собственный сайт сохраняются. Команды не менялись.
Изменения
-
Проверка состояния больше не запрещает обновление. Раньше обновление не начиналось, если
сервер сообщал хотя бы об одной проблеме. Смысл был обратный задуманному: новая версия часто и
есть исправление этой проблемы, а поставить её было нельзя. Теперь сервер с проблемами
обновляется, а решение об откате принимается по сравнению: XPAM возвращает предыдущую версию,
только если обновление добавило то, чего раньше не было, либо если изменились команды, ссылки
подключения или режим DoubleHop. Что было не в порядке до обновления — остаётся видно в
sudo <prefix>-health --deep. -
Ссылка и QR-код на Telegram proxy в панели теперь рабочие. Панель показывала в них
внутренний порт сервера — ссылка копировалась, открывалась и не подключалась, о чём приходилось
помнить. В новых версиях панели появился способ указать настоящий адрес, и XPAM теперь заполняет
его сам. Если панель на сервере ещё старая, ссылка в ней по-прежнему нерабочая — об этом сказано
в примечании к клиенту прямо в панели. Главным источником ссылок остаётся
sudo <prefix>-links: он верен на любой версии панели и ни от чего не зависит. -
Проверка состояния больше не сообщает об ошибках на исправном сервере. Новая версия панели
перестала хранить публичный адрес Telegram proxy там, где он лежал раньше, и перенесла его в
другое место. Проверка требовала прежнего расположения и выдавала две ошибки подряд на сервере,
который работал нормально. Теперь она принимает оба варианта, а вместо этого проверяет то, что
действительно важно: совпадает ли адрес, который увидит пользователь, с настоящим. -
Проверка портов больше не пугает исходящим соединением. Пока клиент подключён, Xray держит
для него UDP-сокет, и в списке портов он оказывался в разделе «Публичные» — рядом с настоящими
открытыми портами, хотя снаружи закрыт и исчезает вместе с сессией. Теперь такие соединения
показаны отдельной строкой «Исходящие». -
Проверка состояния замечает рассогласование данных клиента. Панель хранит сведения о клиенте
в двух местах, и в редких случаях они могут разойтись. Тогда выданная ссылка выглядит
правильной, но ведёт не туда. Раньше такое расхождение никак себя не проявляло — теперь проверка
состояния сообщает о нём явно.
Установка
cd /root
curl -fsSL https://raw.githubusercontent.com/deepru/xpam-script/main/bootstrap.sh -o xpam-bootstrap.sh
sudo XPAM_REPO="deepru/xpam-script" bash xpam-bootstrap.shBootstrap скачивает архив этого релиза, сверяет его контрольную сумму с файлом .sha256 и запускает
установщик. Нужен чистый VPS на Ubuntu или Debian с root-доступом, домены с A-записями и SSH-ключ.
Подробно — в руководстве пользователя.
Проверить архив самостоятельно:
sha256sum -c xpam-script-v1.4.2.tar.gz.sha256Обновление с v1.4.1
sudo <prefix>-xpam→ «Дополнительно / обслуживание» → «Проверить обновления XPAM».- Апдейтер скачает релиз, сверит контрольную сумму, сделает резервную копию, применит версию,
проверит сервер и откатится, если что-то пойдёт не так. - После обновления выполните
sudo <prefix>-health --deep.
Ссылки подключения, домены, клиенты, настройки DoubleHop и WARP и ваш собственный сайт при обновлении
сохраняются.
Секреты
Не публикуйте вывод sudo <prefix>-links, ссылки VLESS и Telegram, пароли и токены в чатах, issue,
скриншотах и публичных логах. Для показа состояния при посторонних есть sudo <prefix>-links --safe.
XPAM Script v1.4.1
XPAM Script v1.4.1
Исправляющий выпуск. Три ошибки, все на стороне установки и настройки: одна из них могла полностью
остановить установку на исправном сервере, вторая оставляла на сервере лишние ключи доступа к панели,
третья касается запасного транспорта.
Для уже работающих серверов ничего не меняется: ссылки VLESS и Telegram, домены, клиенты, настройки
DoubleHop и WARP и ваш собственный сайт сохраняются. Новых возможностей и изменений в командах нет.
Исправления
-
Установка больше не обрывается на обновлении системы. Перед установкой скрипт показывает список
пакетов, которые будут обновлены, и раньше считал любую жалобу этой предварительной проверки поводом
прекратить установку целиком. Проверка предсказательная и ошибается: когда в репозитории
дистрибутива идёт разделение какого-нибудь пакета на два, она отказывается строить план, хотя
обновление затем проходит без единой ошибки. Установка падала с сообщением про сбой обновления
системы на полностью исправном сервере, и помочь себе пользователь никак не мог. Теперь список
остаётся списком, а решение принимает само обновление. -
Ключ доступа к панели 3x-ui больше не теряется при установке. Панель выдаёт такой ключ при
установке, но XPAM не мог его прочитать, сообщал об этом и обходился запасным путём — создавал
собственный. В результате на сервере оседало три ключа администратора вместо одного, а запасных
путей, которые должны были подстраховывать друг друга, реально работал ровно один. Теперь XPAM
берёт уже выданный ключ. На серверах, установленных раньше, лишние ключи остаются на месте:
обновление их не трогает, при желании удалите их в панели, в разделе настроек. -
Запасной транспорт больше не использует устаревшую настройку nginx. Способ включения HTTP/2 в
наших настройках устарел: свежие версии nginx на каждый запуск пишут о нём предупреждение, а в
будущем перестанут принимать вовсе. Теперь скрипт смотрит, какая версия nginx стоит на сервере, и
записывает понятную ей форму, поэтому и новые, и старые системы продолжают работать без изменений.
Установка
cd /root
curl -fsSL https://raw.githubusercontent.com/deepru/xpam-script/main/bootstrap.sh -o xpam-bootstrap.sh
sudo XPAM_REPO="deepru/xpam-script" bash xpam-bootstrap.shBootstrap скачивает архив этого релиза, сверяет его контрольную сумму с файлом .sha256 и запускает
установщик. Нужен чистый VPS на Ubuntu или Debian с root-доступом, домены с A-записями и SSH-ключ.
Подробно — в руководстве пользователя.
Проверить архив самостоятельно:
sha256sum -c xpam-script-v1.4.1.tar.gz.sha256Обновление с v1.4.0
sudo <prefix>-xpam→ «Дополнительно / обслуживание» → «Проверить обновления XPAM».- Апдейтер скачает релиз, сверит контрольную сумму, сделает резервную копию, применит версию,
проверит сервер и откатится, если что-то пойдёт не так. - После обновления выполните
sudo <prefix>-health --deep.
Ссылки подключения, домены, клиенты, настройки DoubleHop и WARP и ваш собственный сайт при обновлении
сохраняются.
Секреты
Не публикуйте вывод sudo <prefix>-links, ссылки VLESS и Telegram, пароли и токены в чатах, issue,
скриншотах и публичных логах. Для показа состояния при посторонних есть sudo <prefix>-links --safe.
XPAM Script v1.4.0
XPAM Script v1.4.0
Релиз добавляет запасной транспорт на отдельном домене, автоматическую настройку WARP и уникальные
сайты-маскировки для каждого сервера. Ссылки VLESS и Telegram, домены, клиенты и настройки DoubleHop
при обновлении сохраняются — переподключать никого не нужно.
Два изменения стоит прочитать до обновления: часть команд удалена, а еженедельное обслуживание теперь
может само перезагрузить сервер. Оба описаны ниже.
Запасной транспорт
Если провайдер начинает мешать основному способу связи, раньше оставалось только ждать или переносить
сервер. Теперь на отдельном домене можно поднять второй вход — он работает одновременно с основным и
никак его не затрагивает. В приложение добавляется вторая ссылка, и на неё можно переключиться, когда
первая перестала работать.
Включается из меню: «Дополнительно / обслуживание» → «Транспорты VLESS». Доступны два варианта, xhttp
и grpc. Какой окажется лучше у конкретного провайдера, заранее сказать нельзя; если один работает
плохо, переключитесь на другой — домен и сертификат при этом переиспользуются.
Понадобится ещё один домен или поддомен с A-записью на этот же сервер. Сразу он не нужен — включайте,
когда понадобится. Запасной домен тоже прикрыт сайтом-маскировкой, а если включён DoubleHop, запасной
транспорт тоже пойдёт через Exit-сервер.
При выключении сертификат сохраняется намеренно: у Let's Encrypt есть ограничения на частоту выпуска,
и сохранённый сертификат позволяет включить транспорт обратно сразу.
WARP настраивается сам
Раньше WARP приходилось заводить руками в панели 3x-ui. Теперь в панель заходить не нужно: пункт меню
сам создаёт ключи, регистрирует аккаунт в Cloudflare, поднимает подключение, включает маршрутизацию и
проверяет сервер.
Добавился пункт «Сменить WARP-IP» — если выданный адрес начал ловить капчу или ограничения, он
меняется одним действием, ссылки и клиенты при этом не затрагиваются. Отключение WARP теперь убирает и
сохранённый аккаунт, а не только само подключение.
Если регистрация не прошла, выводится короткое сообщение и конфигурация не меняется. Обычно это
означает, что у хостинга не работает маршрут до Cloudflare.
Отдельно доработана защита от IPv6: смена адреса средствами самой панели добавляет в настройки
IPv6-адрес, который нашей схеме не подходит. XPAM приводит настройки в порядок сразу после смены
адреса, лечит такое расхождение при восстановлении и предупреждает, если в панели включена фоновая
автосмена адреса в обход XPAM.
Сайты-маскировки уникальны для каждого сервера
Раньше все серверы отдавали визуально одинаковый сайт — то есть общий признак, по которому, изучив
один сервер, можно было узнать остальные.
Теперь всё видимое снаружи выводится из имени домена, и отличается не только цвет, а сама страница:
расположение блоков, тип иллюстрации, подача разделов, шрифтовое решение, название «продукта».
Доступно десять разных обликов, у каждого своя вёрстка. Двух одинаковых сайтов не бывает ни у двух
серверов, ни у двух доменов одного сервера.
На страницах появилась сдержанная анимация — мигающий курсор в окне терминала, плавно
прорисовывающийся график. Выдуманных показателей, статусов и дат на сайтах нет: сайт стабилен во
времени, а при системной настройке «уменьшить движение» анимация отключается.
Оформление воспроизводимо: тот же домен всегда даёт тот же сайт, поэтому восстановление и возврат к
стандартным страницам ничего не сдвигают. Свой собственный сайт по-прежнему сохраняется — если
положить файлы в веб-корень домена, XPAM их не тронет.
Изменения в командах
Часть отдельных команд удалена, их функции переехали в меню. Если вы пользовались ими напрямую или
упоминали их в своих скриптах и заметках, замените:
| Было | Стало |
|---|---|
<prefix>-status |
Меню → «Проверить состояние сервера» |
<prefix>-vless, <prefix>-tg |
sudo <prefix>-links — показывает и то, и другое |
<prefix>-links --show-secrets |
sudo <prefix>-links — печатает всё сразу, отдельный флаг не нужен |
Обновление удаляет эти команды с сервера само. <prefix>-netdiag остаётся и работает как прежде.
Само меню тоже изменилось. Пока установка не завершена, в нём только два пункта — SSH-безопасность и
установка; после установки они исчезают. Выбранное действие выполняется, показывает вывод целиком и
возвращает в командную строку, а не перерисовывает меню поверх результата. Если при включении
DoubleHop уже настроен WARP, скрипт предупреждает, что WARP при DoubleHop использоваться не будет —
раньше это выглядело как «WARP настроен, но не работает».
Обновления системы и автоматическая перезагрузка
Еженедельное обслуживание теперь ставит все системные обновления, включая ядро.
Если обновление требует перезагрузки, сервер перезагрузится сам. Это происходит ночью, занимает
меньше минуты и не требует участия, но подключения клиентов в этот момент кратко обрываются. После
перезагрузки автоматически выполняется второй проход и проверка состояния. Уведомление в Telegram
приходит только если что-то пошло не так.
Существующие серверы переключатся на этот режим автоматически при обновлении. Если автоматическая
перезагрузка вам не подходит, задайте XPAM_MAINT_APT_MODE=upgrade в /etc/xpam-script/config.env —
тогда ядро придерживается и сервер сам не перезагружается.
Исправления
- Резервные копии базы 3x-ui теперь корректны при любом режиме работы SQLite. Копия снималась
обычным копированием файла, а это надёжно не во всех режимах: свежие изменения какое-то время живут
в отдельном файле, и в копию не попадали последние добавленные клиенты и подключения — при этом
копия выглядела исправной. Для снимка, из которого восстанавливаетrepair --full, это худший
вариант: восстановление вернуло бы состояние раньше ожидаемого. Теперь копия снимается штатным
механизмом SQLite и проверяется на целостность сразу при создании. repairбольше не перевыпускает данные Telegram-клиента при каждом запуске. Ссылка на
Telegram-прокси продолжала работать, но у клиента каждый раз менялись внутренний идентификатор и
подписка — то есть ссылка и QR-код на странице клиента в панели 3x-ui менялись после каждого
восстановления и каждого еженедельного обслуживания.- Полное восстановление предупреждает про запасной транспорт.
repair --fullвосстанавливает
базу 3x-ui, но не настройки XPAM. Если снимок сделан до включения запасного транспорта, после
восстановления получалось расхождение, а проверка состояния падала без внятной причины. Теперь
предупреждение выводится до подтверждения, а проверка объясняет причину и что делать. - Заголовки безопасности реально доходят до браузера. Они были заданы, но из-за особенности
nginx не отправлялись ни на одном домене. - Диагностику стало возможно читать. Проверка портов печатала три сырых системных дампа шире
экрана, проверка сертификатов повторяла один и тот же сертификат четыре раза подряд, а команда
сетевой диагностики показывала только путь к файлу и больше ничего. Теперь порты сгруппированы и
подписаны, сертификаты умещаются в таблицу со сроком действия, а сетевая диагностика сразу выводит
главное на экран.
Установка
cd /root
curl -fsSL https://raw.githubusercontent.com/deepru/xpam-script/main/bootstrap.sh -o xpam-bootstrap.sh
sudo XPAM_REPO="deepru/xpam-script" bash xpam-bootstrap.shBootstrap скачивает архив этого релиза, сверяет его контрольную сумму с файлом .sha256 и запускает
установщик. Нужен чистый VPS на Ubuntu или Debian с root-доступом, домены с A-записями и SSH-ключ.
Подробно — в руководстве пользователя.
Проверить архив самостоятельно:
sha256sum -c xpam-script-v1.4.0.tar.gz.sha256Обновление с v1.3.9
sudo <prefix>-xpam→ «Дополнительно / обслуживание» → «Проверить обновления XPAM».- Апдейтер скачает релиз, сверит контрольную сумму, сделает резервную копию, применит версию,
проверит сервер и откатится, если что-то пойдёт не так. - После обновления выполните
sudo <prefix>-health --deep.
Ссылки подключения, домены, клиенты, настройки DoubleHop и WARP и ваш собственный сайт при обновлении
сохраняются.
Секреты
Не публикуйте вывод sudo <prefix>-links, ссылки VLESS и Telegram, пароли и токены в чатах, issue,
скриншотах и публичных логах. Для показа состояния при посторонних есть sudo <prefix>-links --safe.
XPAM Script v1.3.9
XPAM Script v1.3.9
Релиз на базе v1.3.8. Главное — новая система сайтов-маскировок и переоформленное
руководство пользователя. Пользовательский интерфейс и команды не изменились.
Те же команды и тот же процесс установки/обновления. Совместимость с 3x-ui — без изменений
(проверенная связка 3x-ui 3.5.0 / Xray 26.7.11).
🎭 Новая система сайтов-маскировок
Раньше на домены ставились одинаковые статичные страницы-заглушки. Теперь XPAM автоматически
генерирует для каждого домена правдоподобный сайт — аккуратный лендинг небольшого технического
продукта (главная, документация, лицензия, страница 404, robots.txt, sitemap.xml).
- Уникально на каждом домене. Продукт и цветовое оформление выводятся из имени домена, поэтому
два поддомена одного сервера не выглядят одинаково, а разные серверы не кластеризуются по
одинаковому сайту. - Ничего настраивать не нужно — маскировка готова сразу после установки.
- Свой сайт сохраняется. Если положить собственный сайт в веб-корень домена, XPAM его не
перезапишет (bring-your-own-site). - Возврат к стандартному — в меню «Управление сайтами» → «Вернуть стандартные» в любой момент.
Страницы self-contained (без внешних ресурсов) и не раскрывают никаких данных о сервере.
📘 Руководство пользователя — теперь прямо на GitHub
Полное руководство переоформлено из DOCX/PDF в аккуратный Markdown, который открывается прямо на
GitHub: оглавление, разделы, таблицы, подсветка команд и цветные подсказки. Ссылка —
docs/USER_GUIDE_RU.md.
🧹 Наведение порядка
- Актуализированы
THIRD_PARTY.mdиNOTICE.md: убрано устаревшее упоминание отдельного
mtg-компонента — Telegram proxy / MTG поставляется и обслуживается самим 3x-ui. - Обновлена документация по сайтам-маскировкам (
docs/SITES.md).
🔄 Обновление с v1.3.8
Обновление штатное, через меню:
sudo <prefix>-xpam→ раздел обновления XPAM.- Апдейтер скачает релиз, проверит
SHA256, сделает backup, применит версию, прогонит
post-update health/deep-health и откатится при ошибке. - После обновления выполните
sudo <prefix>-health --deep.
Данные подключения (VLESS / Telegram links), домены и DoubleHop-состояние при обновлении не
меняются. Если у вас стоит собственный сайт на домене — он сохранится.
🧪 Проверка релиза
Проверено на чистых VPS (Ubuntu и Debian, 3x-ui 3.5.0 / Xray 26.7.11): генерация сайтов на
обоих профилях (поддомены и основной домен + www), сохранность служебных маршрутов, deep-health,
замена своего сайта и возврат стандартного, целостность архива и путь самообновления.
🔐 Секреты
Не публикуйте вывод sudo <prefix>-links --show-secrets, VLESS/Telegram links, пароли и токены в
чатах, issues, скриншотах или публичных логах.
XPAM Script v1.3.8
XPAM Script v1.3.8
Релиз-обновление на базе v1.3.7. Главное — полная совместимость с 3x-ui v3.5.0,
где MTProto перешёл на мульти-клиентскую модель. Пользовательский интерфейс не изменился.
Те же команды
<prefix>-xpam,<prefix>-links,<prefix>-health,<prefix>-repair.
VLESS и Telegram links по-прежнему берутся из актуальной базы 3x-ui.
🚀 Главное в v1.3.8
- Совместимость с 3x-ui v3.5.0 (мульти-клиентский MTProto, Xray 26.7.11).
В v3.5.0 секрет MTProto переехал с уровня inbound'а на отдельных клиентов, а
создание inbound'а стало строже парсить клиентов. XPAM читает и пишет обе
формы, поэтому одна и та же сборка работает и на 3x-ui 3.4.2, и на 3.5.0. - Починка создания MTProto на 3.5.0. MTG теперь создаётся с клиентом,
несущим секрет, — Telegram proxy работает на чистой установке под 3.5.0
(которая вырезает секрет уровня inbound'а). Обратная совместимость с 3.4.2
сохранена. - Починка создания VLESS на 3.5.0. Устранён отказ создания VLESS из-за более
строгого разбора клиента (полеtgIdтеперь отправляется числом).
✅ Совместимость
Релиз полностью протестирован с 3x-ui v3.5.0 / Xray 26.7.11 (чистая
установка на Ubuntu 24.04) и сохраняет совместимость с 3x-ui 3.4.2. Базовая
проверенная связка панели обновлена до 3x-ui 3.5.0 / Xray 26.7.11.
♻️ Что изменилось (важно прочитать)
- MTProto стал мульти-клиентским.
sudo <prefix>-links --show-secretsтеперь
показывает ссылку каждого включённого клиента — как VLESS, так и Telegram. - MTProto-клиент получает subscription id. Благодаря этому панель 3x-ui
показывает его ссылку/QR на странице «Клиенты».⚠️ Панельный QR/копирование ссылки для MTProto использует внутренний порт
(ограничение самого 3x-ui, issue #5126). Авторитетная рабочая ссылка (:443)
— изsudo <prefix>-links --show-secrets. У managed-клиента об этом есть
напоминание в комментарии.
🔄 Обновление с v1.3.7
Обновление — штатное, через меню:
sudo <prefix>-xpam→ раздел обновления XPAM.- Апдейтер скачает релиз, проверит
SHA256, подготовит staging, сделает backup,
применит новую версию, запустит post-update health/deep-health и откатится при
ошибке. - После обновления выполните
sudo <prefix>-health --deepдля контроля.
Данные подключения (VLESS / Telegram links), домены и DoubleHop-состояние при
обновлении не меняются.
Порядок обновления при переходе на 3x-ui 3.5.0: сначала обновите XPAM до v1.3.8,
и только затем обновляйте панель 3x-ui до 3.5.0. Существующие MTProto-инбаунды
при апгрейде мигрируют автоматически, а v1.3.8 корректно читает и старую, и
новую форму секрета.
🧪 Проверка релиза
Перед публикацией v1.3.8 проверен на чистом VPS:
- Ubuntu 24.04 + 3x-ui v3.5.0 — установка, VLESS-инбаунд, MTProto-инбаунд с
рабочим секретом и Telegram-ссылкой,<prefix>-links --show-secrets. - Целостность архива и путь установки/самообновления (wrapper-структура,
SHA256).
🔐 Секреты
Не публикуйте вывод sudo <prefix>-links --show-secrets, VLESS/Telegram links,
пароли и токены в чатах, issues, скриншотах или публичных логах.
XPAM Script v1.3.7
XPAM Script v1.3.7
Релиз-обновление на базе v1.3.6. Он упрощает и укрепляет архитектуру, добавляет
восстановление базы 3x-ui одной командой, проверку нехватки памяти и подтверждает
полную совместимость с Debian 13 и Ubuntu 26.04.
Пользовательский интерфейс не изменился: те же команды
<prefix>-xpam,
<prefix>-links,<prefix>-health,<prefix>-repair. VLESS и Telegram links
берутся из актуальной базы 3x-ui, как и раньше.
🚀 Главное в v1.3.7
- Восстановление базы 3x-ui одной командой —
sudo <prefix>-repair --full.
Обычныйrepairчинит обвязку сервера, но не трогает данные. Новый--full
дополнительно восстанавливает базу 3x-ui (клиенты, inbound'ы, MTProto-секрет)
из последнего golden-снапшота: проверяет целостность, просит подтверждение
restore-full, делает резервную копию текущей базы и автоматически
откатывается, если проверка health после восстановления не прошла. repairтеперь также регенерирует конфигурацию nginx (раньше — только
HAProxy), то есть чинит больше типовых поломок без переустановки.- Новая health-проверка нехватки памяти — доступная RAM, использование swap и
события OOM (уровень WARN, без ложных тревог на здоровом сервере). - Упрощение и чистка архитектуры — удалены устаревшие ветки, снижен объём
кода и число «спрятанных» режимов. - Надёжная упаковка релиза — сборка архива с обязательной wrapper-структурой,
SHA256-суммой и CI-проверками, чтобы self-update принимал архив без сюрпризов.
✅ Совместимость
Релиз полностью протестирован и совместим с новыми выпусками дистрибутивов:
- Debian 13 (профиль root_mtproto)
- Ubuntu 26.04 LTS (профиль subdomains_mtproto)
- а также с более ранними Ubuntu / Debian.
Проверки версии ОС больше не выдают ложных ошибок на новых релизах. Базовая
проверенная связка панели остаётся 3x-ui 3.4.2 / Xray 26.6.27 (и upgrade, и
чистая установка).
♻️ Что изменилось (важно прочитать)
- Удалён устаревший профиль
vless_direct. Сервер всегда работает по схеме
HAProxy → локальный Xray (это и была схема по умолчанию). - Удалён legacy MTProto-бэкенд
alexbers. Telegram proxy / MTG работает только
через встроенный в 3x-ui MTG.- Команда
<prefix>-tgудалена. Актуальная Telegram-ссылка теперь берётся из
sudo <prefix>-links --show-secrets(там же, где VLESS-ссылка).
- Команда
- Fail-fast при импорте старых конфигов. Конфигурация с удалённым
профилем/бэкендом отклоняется с понятным сообщением — такой сервер нужно
устанавливать заново на чистой ВМ.
🔒 Безопасность
- Укреплён сокет Telegram-relay: убран небезопасный fallback на мир-доступные права.
- Задокументированы намеренные loopback-only обращения к панели 3x-ui по
127.0.0.1.
🔄 Обновление с v1.3.6
Обновление — штатное, через меню:
sudo <prefix>-xpam→ раздел обновления XPAM.- Апдейтер скачает релиз, проверит
SHA256, подготовит staging, сделает backup,
применит новую версию, запустит post-update health/deep-health и откатится при
ошибке. - После обновления выполните
sudo <prefix>-health --deepдля контроля.
Данные подключения (VLESS / Telegram links), домены и DoubleHop-состояние при
обновлении не меняются.
🧪 Проверка релиза
Перед публикацией v1.3.7 проверен на чистых VPS:
- Debian 13 и Ubuntu 26.04 — установка, сайты, VLESS через клиент,
Telegram-подключение, DoubleHop Mode,health/deep-health,repair,
repair --full, weekly maintenance — всё зелёное. - Целостность архива и путь установки/самообновления (wrapper-структура,
SHA256).
🔐 Секреты
Не публикуйте вывод sudo <prefix>-links --show-secrets, VLESS/Telegram links,
пароли и токены в чатах, issues, скриншотах или публичных логах.
XPAM Script v1.3.6
XPAM Script v1.3.6
XPAM Script v1.3.6 — maintenance/hardening release поверх v1.3.5. Релиз не меняет пользовательскую архитектуру XPAM, но усиливает установку, обновление, совместимость с текущими версиями 3x-ui и диагностику.
Релиз ориентирован на чистые VPS с Ubuntu 24.04 LTS и Debian 12, а также на безопасное обновление уже установленных серверов v1.3.5 через XPAM updater.
Главное в v1.3.6
- Добавлен более устойчивый GitHub download flow для bootstrap, updater и загрузки 3x-ui installer: HTTP/1.1, retries и временный CDN-edge fallback без постоянного
/etc/hosts/DNS pin. - SHA256-проверка архива остаётся обязательной перед установкой или обновлением.
- Установщик 3x-ui дополнительно защищён от upstream-изменений вокруг fail2ban/IP Limit: XPAM явно задаёт
XUI_ENABLE_FAIL2BAN=false. - Health/deep-health проверяют, что upstream
3x-iplfail2ban files/jail не появились и не перехватили XPAM-owned fail2ban policy. - 3x-ui installer выбирает stable release и не должен использовать prerelease как обычный путь установки.
- Deep-health получил дополнительные compatibility checks: Xray version, generated config JSON/readability, SQLite journal mode, subscription/Managed Hosts sanity.
- Telegram proxy / MTG, XPAM Telegram notifications и upstream 3x-ui Telegram notifications остаются разделёнными сущностями и не смешиваются в UX/health.
- XPAM предпочитает
systemd-timesyncdдля локальной синхронизации времени и не должен оставлять публичныйntp/ntpsecUDP:123как часть XPAM-managed runtime. - Убрана устаревшая рекомендация WireGuard
workers=2для текущих Xray/3x-ui builds.
Что не менялось
- Основной интерфейс управления остаётся
sudo <prefix>-xpam. - Команды ссылок остаются
sudo <prefix>-linksиsudo <prefix>-links --show-secrets. - VLESS и Telegram links не должны меняться при обновлении с v1.3.5 на v1.3.6.
- DoubleHop Mode остаётся Entry-side функцией: XPAM принимает VLESS-ссылку Exit-сервера и не изменяет Exit-сервер.
- Exit-сервер по-прежнему подготавливается пользователем отдельно.
- XPAM не включает upstream 3x-ui Notification Event Bus, Managed Hosts, subscription listener или 3x-ui IP Limit как свои runtime-функции.
Обновление с v1.3.5
Для уже установленных серверов v1.3.5 обновление должно выполняться через XPAM меню:
sudo <prefix>-xpamДалее:
8) Дополнительно
6) Проверить обновления XPAM
Updater должен:
- обнаружить stable release v1.3.6;
- скачать архив и
.sha256; - проверить SHA256 до распаковки;
- выполнить staging extract и static preflight;
- создать backup текущей установки и служебных команд;
- применить обновление;
- выполнить health/deep-health postcheck;
- выполнить rollback при ошибке.
Updater не должен печатать секреты в лог и не должен менять VLESS/Telegram links.
Проверка релиза
Проверены ключевые сценарии XPAM v1.3.5/v1.3.6 hardening path:
- fresh install на Debian 12;
healthиdeep-health;- 3x-ui / Xray runtime;
- Telegram proxy / MTG через 3x-ui;
- 3x-ui fail2ban/IP Limit opt-out;
- GitHub/CDN download availability paths;
- DoubleHop Mode: VLESS only, Telegram only, VLESS + Telegram, disable/rollback;
- неизменность VLESS/Telegram links при DoubleHop operations.
Секреты
Не публикуйте:
- VLESS links;
- Telegram links;
- Exit VLESS link для DoubleHop;
- UUID, tokens, private keys;
- вывод
sudo <prefix>-links --show-secrets; - содержимое
/etc/xpam-script/config.env.
XPAM Script v1.3.5
XPAM Script v1.3.5
XPAM Script v1.3.5 — крупный релиз, который переводит проект на новую пользовательскую архитектуру: единое XPAM-меню, Telegram proxy / MTG через 3x-ui, DoubleHop Mode, оптимизации для небольших VPS и безопасное обновление через XPAM.
Релиз ориентирован на чистые VPS с Ubuntu 24.04 LTS и Debian 12.
Главное
- Новый основной интерфейс управления:
sudo <prefix>-xpam. - Актуальная fresh-install схема без старой пользовательской модели профилей.
- VLESS через 3x-ui/Xray.
- Telegram proxy / MTG через 3x-ui.
- Единая команда для данных подключения:
sudo <prefix>-links. - DoubleHop Mode.
- Safe self-update через GitHub Releases.
- Small-VM оптимизации для слабых VPS.
- Backend-aware health/deep-health, repair и weekly maintenance.
Новый интерфейс управления
Основная команда теперь:
sudo <prefix>-xpamЧерез неё доступны установка, проверка состояния, WARP, DoubleHop Mode, управление сайтами и дополнительные операции.
Команда для данных подключения:
sudo <prefix>-links
sudo <prefix>-links --show-secretsОбычная команда показывает безопасную сводку без секретов. Полная команда печатает VLESS и Telegram links и должна использоваться аккуратно.
VLESS и Telegram links в полной выдаче строятся из текущей конфигурации 3x-ui. Если пользователь меняет VLESS-клиента или Telegram proxy / MTG secret в 3x-ui, актуальные ссылки нужно заново взять через sudo <prefix>-links --show-secrets.
Telegram proxy / MTG через 3x-ui
В v1.3.5 Telegram proxy / MTG работает через 3x-ui. Пользователю больше не нужна отдельная команда для Telegram: Telegram link находится в общей выдаче sudo <prefix>-links --show-secrets.
Telegram link берётся из текущей конфигурации 3x-ui. После ручной смены Telegram proxy / MTG secret в 3x-ui старая Telegram link перестаёт работать, а новая ссылка отображается в sudo <prefix>-links --show-secrets.
Health, deep-health, repair и weekly maintenance учитывают текущий Telegram proxy / MTG backend и не должны менять пользовательские links.
DoubleHop Mode
DoubleHop Mode позволяет использовать два XPAM-сервера: основной сервер принимает текущие VLESS/Telegram links, а выбранный трафик выпускает через второй XPAM-сервер.
Доступные режимы:
- VLESS only;
- Telegram only;
- VLESS + Telegram.
Как это работает:
- установите XPAM на обоих серверах обычным способом;
- на втором сервере откройте
sudo <prefix>-links --show-secretsи возьмите VLESS-ссылку; - на основном сервере откройте
sudo <prefix>-xpam→DoubleHop Modeи вставьте VLESS-ссылку второго сервера; - текущие VLESS и Telegram links основного сервера не меняются при включении, изменении режима или выключении DoubleHop.
Small-VM оптимизации
v1.3.5 содержит настройки и проверки, которые делают эксплуатацию безопаснее на небольших VPS:
- более аккуратная политика journald;
- logrotate policy для XPAM-логов;
- preflight-проверки ресурсов;
- защита от проблем с package-manager состоянием;
- ограничение накопления служебных backup-файлов.
Safe self-update
Обновление XPAM теперь выполняется через безопасный manual flow:
- проверка доступного релиза;
- скачивание архива и
.sha256; - SHA256-проверка до распаковки;
- staging extract;
- static preflight;
- backup текущей установки и служебных команд;
- apply;
- health/deep-health postcheck;
- rollback при ошибке.
Updater не должен печатать секреты в лог и не должен менять VLESS/Telegram links.
Проверка релиза
Проверено на Ubuntu 24.04 LTS и Debian 12: установка, управление сервером, VLESS, Telegram proxy / MTG, DoubleHop Mode, диагностика, восстановление и безопасное обновление.
Совместимость и поддержка
Для новых установок используйте актуальный релиз v1.3.5 или новее. Документация и поддерживаемый install path ориентированы на текущую архитектуру XPAM.
Секреты
Не публикуйте:
- VLESS links;
- Telegram links;
- Exit VLESS link для DoubleHop;
- UUID, tokens, private keys;
- вывод
sudo <prefix>-links --show-secrets; - содержимое
/etc/xpam-script/config.env.
XPAM Script v1.3.0
XPAM Script v1.3.0
XPAM Script v1.3.0 — крупный технический релиз, в котором усилены совместимость с актуальными версиями 3x-ui, диагностика, восстановление конфигурации, WARP-управление, MTProto-профили и финальная проверка установленных серверов.
Главное
- Переработана внутренняя структура XPAM Script: часть логики вынесена из монолитного ядра в отдельные helper-слои.
- Добавлена основа compatibility layer для 3x-ui.
- Исправлена работа с API token в новых версиях 3x-ui, где токен доступен в открытом виде только один раз при создании.
- Улучшены repair/runtime refresh-механизмы.
- Усилены health и deep-health проверки.
- Добавлены WARP normalize и WARP disable/reset.
- Усилен MTProto-режим для HAProxy-профилей.
- Улучшены Telegram notifications и HTTPS Telegram Relay.
- Проведена финальная release QA-проверка на Ubuntu 24.04 и Debian 12.
Внутренняя структура и сопровождение
В v1.3.0 внутренняя логика XPAM Script была разнесена по более понятным слоям. Это касается core runtime, 3x-ui integration, health/deep-health, repair, WARP, Telegram notifications и profile-specific behavior.
Такая структура упрощает дальнейшее сопровождение проекта и снижает риск регрессий при будущих изменениях.
3x-ui compatibility layer
Добавлена основа отдельного compatibility layer для 3x-ui. XPAM Script не пытается заменить 3x-ui и не запрещает пользователю обновлять его через панель. Вместо этого XPAM усиливает проверку собственной серверной схемы вокруг 3x-ui/Xray.
Что улучшено:
- обработка API token для новых версий 3x-ui;
- сохранение usable token в root-only файл с правами
0600; - Bearer-проверка токена в health/deep-health;
- проверка SQLite backend;
- проверка схемы базы 3x-ui;
- проверка inbound, stream settings, TLS, fallback, external proxy и generated Xray config;
- более аккуратное восстановление runtime и helper-команд через repair.
Repair и runtime refresh
Repair теперь обновляет установленный runtime и helper-команды более последовательно. Это важно для случаев, когда сам архив уже обновлён, но на сервере могли остаться старые menu/runtime-файлы.
Проверяются и обновляются:
/opt/xpam-script;- profile-prefixed install launcher;
- health/deep-health;
- repair;
- network diagnostics;
- connection-data commands;
- VLESS/MTProto helper commands;
- weekly maintenance.
Reboot gate
Усилена проверка необходимости перезагрузки после обновления пакетов. Перед финализацией установки XPAM дополнительно проверяет:
- стандартный reboot marker;
- список пакетов, требующих reboot;
- совпадение running kernel и newest installed kernel;
- sensitive package upgrade markers.
Health и deep-health
Обычный health стал компактнее для ежедневной проверки состояния сервера.
Полная диагностика остаётся в:
sudo <prefix>-health --deepDeep-health проверяет больше деталей:
- systemd services;
- firewall/UFW policy;
- public port exposure;
- 3x-ui/Xray database and generated config;
- API token;
- TLS certificates;
- HAProxy/MTProto startup order;
- MTProto invariants;
- optional WARP state;
- DNS/provider behavior;
- service hygiene;
- config snapshot freshness;
- swap policy;
- kernel/reboot status;
- network tuning;
- file descriptor limits.
HAProxy and MTProto profiles
Для HAProxy/MTProto-профилей усилены startup order и backend validation.
HAProxy ждёт локальные Xray и MTProto backends, а MTProto ждёт локальный nginx sync backend. Это делает старт сервисов более последовательным после установки, repair и перезагрузки.
MTProto-профили также получили более строгие invariants:
- MTProto backend работает локально;
- публичный вход идёт через HAProxy на 443;
- используется TLS-only mode;
- mask backend проверяется отдельно;
- IPv4-first behavior задан явно;
- deep-health проверяет MTProto без вывода секретов.
WARP через 3x-ui/Xray
WARP остаётся optional-функцией внутри Xray и настраивается через 3x-ui.
В v1.3.0 улучшены два сценария:
- WARP normalize — XPAM проверяет созданный в 3x-ui WARP outbound и приводит XPAM-managed WARP state к совместимому состоянию для выбранного профиля.
- WARP disable/reset — XPAM может отключить XPAM-managed WARP state и вернуть VLESS/sniffing/routing поведение к штатному baseline текущего профиля.
Для direct VLESS профиля штатное состояние — Route-only sniffing.
Для HAProxy/MTProto профилей после WARP reset sniffing возвращается в OFF.
Перед изменениями XPAM создаёт backup базы 3x-ui.
Telegram notifications and HTTPS Relay
Улучшены Telegram notifications:
- direct notifications;
- relay-client mode;
- HTTPS Telegram Relay server mode;
- проверка уже сохранённых настроек;
- защита от вывода секретов.
Relay-server mode отображается только в профилях, где сервер может безопасно принять relay-запрос через существующую HTTPS/443 поверхность. Для direct VLESS профиля этот пункт больше не показывается, чтобы не путать пользователя.
Для HTTPS Relay добавлены health checks:
- service active;
- Unix socket exists;
- request without token returns HTTP 401;
- GET with token returns HTTP 405;
- отдельный публичный порт для Relay не открывается.
Maintenance and cleanup
Улучшены weekly maintenance и final production cleanup:
- guarded apt operations;
- dpkg audit checks;
- certbot renew check;
- config snapshots;
- snapshot retention;
- cleanup retention;
- apt cache cleanup;
- journal cleanup;
- post-maintenance quick health;
- final production cleanup from the menu.
Финальная production-очистка доступна в меню:
7) Дополнительно
4) Финальная production-очистка
Public exposure policy
XPAM Script v1.3.0 сохраняет существующую IPv4-first модель:
- публичные TCP-порты XPAM-managed схемы:
22/80/443; - backend-сервисы остаются на loopback;
- отдельные публичные порты для 3x-ui, Xray backend, MTProto backend или Telegram Relay не открываются;
- публичные IPv6 listeners на XPAM-managed public ports не входят в поддерживаемый контракт этого релиза.
Tested release matrix
Финальная релизная линия была проверена на следующих сценариях:
- Ubuntu 24.04 / Profile 1 — PASS;
- Debian 12 / Profile 3 — PASS;
- Debian 12 / Profile 2 — PASS на той же кодовой базе перед финальной сборкой.
Финальный архив с SHA256 7efeb82fcc856c2ffb6155cbd94265d668944eb2e1c1ce87d98f06ad41e0987f дополнительно прошёл post-build validation на Profile 1 и Profile 3. Эта матрица закрывает direct VLESS-профиль, separate-subdomain HAProxy/MTProto-профиль и полную HAProxy/MTProto/root-site схему.
Проверялись:
- установка на чистую ОС;
- health;
- deep-health;
- weekly maintenance;
- final production cleanup;
- VLESS;
- MTProto;
- Telegram notifications;
- HTTPS Telegram Relay;
- WARP enable/normalize;
- WARP disable/reset;
- profile-specific sniffing behavior;
- service hygiene;
- DNS/provider compatibility;
- reboot/kernel checks.
Archive
Final archive:
xpam-script-v1.3.0-ubuntu24-debian12.tar.gz
SHA256:
7efeb82fcc856c2ffb6155cbd94265d668944eb2e1c1ce87d98f06ad41e0987f
XPAM Script v1.2.0
XPAM Script v1.2.0
XPAM Script v1.2.0 — стабильный релиз для Ubuntu 24.04 LTS и Debian 12.
В этом релизе улучшена совместимость с 3x-ui, усилены проверки состояния сервера, доработан repair, обновлена работа с VLESS/WARP и приведена в порядок документация.
Быстрая установка
cd /root
curl -fsSL https://raw.githubusercontent.com/deepru/xpam-script/main/bootstrap.sh -o xpam-bootstrap.sh
sudo XPAM_REPO="deepru/xpam-script" bash xpam-bootstrap.shПосле запуска сначала выберите:
0) SSH-безопасность / создать prefix-команду
Затем:
1) Установить / продолжить настройку сервера
Перед установкой рекомендуется прочитать инструкцию:
Основные изменения
Совместимость с 3x-ui
XPAM Script теперь строже проверяет совместимость с 3x-ui и заранее сообщает, если обнаружена неподдерживаемая конфигурация.
Поддерживается только SQLite backend:
/etc/x-ui/x-ui.db
PostgreSQL backend не поддерживается.
VLESS
- Новый XPAM-managed VLESS inbound по умолчанию получает понятное имя:
<prefix>-vless. - Ссылки VLESS стали устойчивее к настройкам External Proxy.
- Значение uTLS по умолчанию изменено на
firefox. - Health/repair больше не должны ломаться только из-за того, что пользователь переименовал VLESS inbound или VLESS client в панели 3x-ui.
- Валидный пользовательский uTLS fingerprint не должен перетираться repair’ом.
MTProto
Пользовательская команда MTProto теперь:
sudo <prefix>-tg
sudo <prefix>-tg --show
sudo <prefix>-tg --manage
Старый launcher для прежнего имени команды больше не создаётся.
Health, deep-health и repair
Улучшены проверки и сообщения диагностики:
- 3x-ui backend и структура базы;
- VLESS inbound и generated Xray config;
- TLS/SNI/certificate consistency;
- External Proxy;
- DNS и managed domains;
- network tuning;
tcp_syncookies;- состояние сервисов;
- cleanup/log hygiene.
sudo <prefix>-repair теперь надёжнее восстанавливает XPAM-managed network tuning policy, включая:
net.ipv4.tcp_syncookies = 1
WARP через 3x-ui/Xray
WARP остаётся outbound внутри Xray/3x-ui и не превращает весь сервер в системный VPN.
XPAM Script:
- не меняет default route сервера;
- не меняет system DNS сервера;
- не отправляет SSH, apt, certbot, nginx, HAProxy и MTProto через WARP;
- нормализует безопасные параметры WARP outbound;
- не удаляет пользовательские WARP routing rules;
- лучше объясняет предупреждения, связанные с WARP/WireGuard.
Совместимость с разными VPS-образами
Улучшена устойчивость установки и диагностики на разных VPS-провайдерах и стандартных образах Ubuntu/Debian.
Пользователю не нужно разбираться во внутренних особенностях образа ОС: health/repair теперь аккуратнее объясняют проблему и, где безопасно, исправляют её автоматически.
Документация
Документация приведена к единой структуре:
README.md
README_RU.md
README_EN.md
CHANGELOG.md
TESTING.md
SECURITY.md
docs/
docs/USER_GUIDE_RU.pdf
docs/USER_GUIDE_RU.docx
Старые отдельные root-файлы для конкретных прошлых релизов больше не используются в релизном архиве.
Что осталось без изменений
В v1.2.0 сохранены ключевые принципы XPAM Script:
- публичные XPAM-managed порты
22/80/443остаются IPv4-only; - IPv6 глобально не отключается;
- секреты и ссылки не печатаются в install-log;
- sensitive данные хранятся в
/root/secure-notes; - WARP остаётся user-managed outbound через 3x-ui/Xray;
- пользовательские сайты и routing rules не должны удаляться repair’ом.
Проверенный статус
Релиз проверялся на чистых VPS:
Ubuntu 24.04 LTS / Profile 1 / VLESS only direct TLS PASS
Debian 12 / Profile 2 / VLESS + MTProto PASS
Ubuntu 24.04 LTS / Profile 3 / root + VLESS + MTProto PASS
Проверялись:
- clean install;
- продолжение установки после reboot;
- quick health;
- deep health;
- weekly maintenance;
- repair;
- health после repair;
- VLESS-ссылки и ручное подключение;
- MTProto через
<prefix>-tg; - SQLite backend guard;
- PostgreSQL/unsupported backend guard;
- External Proxy consistency;
- IPv4-only public exposure policy;
- WARP normalization smoke;
- cleanup/log hygiene.
Release assets
В разделе Assets доступны два файла установочного комплекта:
xpam-script-v1.2.0-ubuntu24-debian12.tar.gz
xpam-script-v1.2.0-ubuntu24-debian12.tar.gz.sha256
SHA256 архива:
f460d59ef722741d83193981d8c373b4a7ab3670df16853f82a19773a74842bc
Проверка SHA256:
sha256sum -c xpam-script-v1.2.0-ubuntu24-debian12.tar.gz.sha256Важно перед использованием
XPAM Script рассчитан на чистый VPS.
Перед запуском:
- подготовьте SSH-ключ;
- проверьте вход по SSH-ключу до шага 0;
- подготовьте DNS A-записи на IPv4 VPS;
- не используйте AAAA-записи для XPAM-managed доменов;
- убедитесь, что публичные TCP-порты
22/80/443доступны; - не запускайте установку на сервере с важными чужими production-конфигурациями nginx/HAProxy/Xray;
- не переключайте 3x-ui backend на PostgreSQL;
- не удаляйте XPAM-managed VLESS inbound/client без понимания последствий.
Для уже установленных серверов
После обновления комплекта рекомендуется выполнить:
sudo <prefix>-health
sudo <prefix>-health --deep
sudo <prefix>-repairДля MTProto используйте новую команду:
sudo <prefix>-tg
sudo <prefix>-tg --show
sudo <prefix>-tg --manage