Release Notes: v1.5.7 (2026‑06‑11)
First stable release of the 1.5.7 line, consolidating the 1.5.7‑beta1..beta10 series. No manual migration required — one additive database column and a settings unique index are created automatically on first start.
Key features and improvements
1. Paid Subscriptions (experimental, off by default)
A client‑facing Telegram bot with encrypted token offering:
- subscription links, per‑protocol share links and QR codes for bound clients;
- live usage stats (used vs. limit, days left, online status, total traffic);
- self‑registration with configurable free trial (global cap + per‑user rate limit);
- tariff management for admins (price, +days, +traffic);
- payments and renewals via 6 providers: Telegram Stars, YooKassa, Stripe, CryptoBot, PayMaster, and external links;
- idempotent, server‑verified renewals (no double charging on retries);
- payment menu with Buy/Renew, My purchases, and Request a refund;
- admin Orders tab with refund capability and optional claw‑back of granted days/traffic;
- broadcasts to all bound clients and editable
/startgreeting; - per‑module Telegram egress via proxy or sing‑box outbounds.
Note: Existing setups are unaffected until the module is enabled. For production, set
SUI_SECRETBOX_KEYto encrypt bot and payment tokens outside the database.
2. No‑restart client and TLS apply
Changes to clients and TLS certificates now apply without restarting the core:
- adding, editing, enabling/disabling, or deleting a client hot‑reloads only affected inbounds;
- revoked/disabled credentials stop working immediately;
- connections on unrelated inbounds remain active;
- IP‑limit changes (
limitIp, mode) apply immediately (not after 30‑second cache TTL); - TLS certificate edits hot‑reload only referencing inbounds/services;
- creating/deleting TLS entries no longer affects the core;
- fallback to full core restart if hot reload fails (prevents stale configuration).
3. Refreshed Nexus interface
Dark "technical" reference design with:
- exact palette with cyan accent;
- single system font;
- monospace IP/port/UUID cells;
- coloured status badges and TLS pills;
- page header with live counts and search in top bar;
- compact flat sidebar;
- bulk client Add/Edit as proper drawers;
- Paid Subscriptions screen localized (EN/RU);
- unsaved‑changes confirmation for all entity forms.
4. Security hardening
- updated to Go 1.26.4 (closes
GO-2026-5037,GO-2026-5039); - API‑token scopes enforced on every
apiv2action; - login no longer reveals username existence (timing oracle closed);
- brute force slowed by per‑username escalating delay (tarpit) + per‑IP block;
- session ID rotates on login;
- changing admin password signs out all other sessions and WebSocket tokens;
- secrets re‑sealed at startup with
SUI_SECRETBOX_KEY; - URL credentials masked in logs;
- session cookies Secure by default;
- HSTS honours
X-Forwarded-Protoonly from trusted proxy; - x‑ui import validates geoip/geosite codes;
- new audit signals with real‑time alerts (account lockout, database export).
5. Performance improvements
- frontend bundle reduced from 6.2 MB to 2.5 MB (−60 %) with lazy
moment/date‑picker and SVG icons; - IP monitor writes pending records in single batched upsert;
- subscription hot path caches display settings (~8 fewer queries per request);
- order history indexed.
Breaking changes (vs v1.5.6)
- Scoped API tokens lose unauthorized access (use
adminor appropriatewritetoken for config changes). - 3x‑ui scheduled sync and remote import removed — import is now one‑shot local
.dbupload only. - Behaviour changes:
- changing admin password signs out all other sessions;
- per‑username login lockout is a delay (tarpit), not a hard block.
Upgrade instructions
- No manual migration needed — database updates run automatically on first start.
- Review breaking changes if you use scoped API tokens or relied on 3x‑ui sync/import.
- Enable Paid Subscriptions on a non‑critical instance first before production use.
RU
Примечания к релизу: v1.5.7 (2026‑06‑11)
Первый стабильный релиз линейки 1.5.7, объединяющий серию 1.5.7‑beta1..beta10. Ручная миграция не требуется — одна добавочная колонка БД и уникальный индекс settings создаются автоматически при первом старте.
Ключевые функции и улучшения
1. «Платные подписки» (экспериментально, выключено по умолчанию)
Клиентский Telegram‑бот с зашифрованным токеном, предлагающий:
- ссылки подписки, ссылки по протоколам и QR‑коды для привязанных клиентов;
- живую статистику использования (израсходовано/лимит, дни, онлайн, суммарный трафик);
- саморегистрацию с настраиваемым пробным периодом (глобальный лимит + ограничение частоты);
- управление тарифами для админов (цена, +дни, +трафик);
- платежи и продления через 6 провайдеров: Telegram Stars, YooKassa, Stripe, CryptoBot, PayMaster и внешние ссылки;
- идемпотентные, проверяемые на сервере продления (без двойных списаний при повторах);
- меню «Оплата» с опциями Купить/Продлить, Мои покупки и Оформить возврат;
- вкладку Orders в панели с возможностью возврата и опциональным отзывом выданных дней/трафика;
- рассылки всем привязанным клиентам и редактируемое приветствие
/start; - отдельный эгресс Telegram через прокси или sing‑box‑outbounds.
Примечание: Существующие установки не затронуты, пока модуль не включён. Для продакшена задайте
SUI_SECRETBOX_KEY, чтобы шифровать токены бота и платёжных провайдеров вне базы.
2. Применение изменений клиентов и TLS без перезапуска ядра
Изменения теперь применяются без перезапуска ядра:
- добавление, редактирование, включение/выключение или удаление клиента перезагружает только затронутые inbound‑ы;
- отозванные/отключённые учётные данные перестают работать сразу;
- соединения на остальных inbound‑ах остаются активными;
- изменения IP‑лимита (
limitIp, режим) применяются немедленно (а не после 30‑секундного TTL кэша); - редактирование TLS‑сертификата перезагружает только ссылающиеся inbound‑ы/сервисы;
- создание/удаление TLS‑записей не затрагивает ядро;
- при ошибке горячей перезагрузки — откат к полному перезапуску ядра (предотвращает работу на устаревшей конфигурации).
3. Обновлённый интерфейс Nexus
Тёмный «технический» референс‑дизайн с:
- точной палитрой с cyan‑акцентом;
- единым системным шрифтом;
- моноширинными ячейками IP/порт/UUID;
- цветными бейджами статусов и пилюлями TLS;
- заголовком страницы с живыми счётчиками и поиском в верхней панели;
- компактным плоским сайдбаром;
- массовыми добавлением/правкой клиентов как полноценными drawer’ами;
- экраном «Платных подписок», локализованным (EN/RU);
- подтверждением несохранённых изменений для всех форм.
4. Усиление безопасности
- обновление до Go 1.26.4 (закрывает
GO-2026-5037,GO-2026-5039); - проверка скоупов API‑токенов на каждом действии
apiv2; - логин больше не выдаёт существование имени пользователя (закрыт timing‑оракул);
- перебор замедляется нарастающей задержкой (tarpit) по имени поверх блокировки по IP;
- ID сессии ротируется при входе;
- смена пароля администратора завершает все остальные сессии и WebSocket‑токены;
- секреты перешифровываются при старте при заданном
SUI_SECRETBOX_KEY; - учётные данные в URL маскируются в логах;
- cookie сессии Secure по умолчанию;
- HSTS доверяет
X-Forwarded-Protoтолько от доверенного прокси; - импорт x‑ui валидирует коды geoip/geosite;
- новые аудит‑сигналы с алертами в реальном времени (блокировка аккаунта, экспорт базы).
5. Улучшения производительности
- фронтенд‑бандл уменьшен с 6,2 МБ до 2,5 МБ (−60 %) за счёт ленивой загрузки
moment/date‑picker и использования SVG‑иконок; - IP‑монитор записывает накопленные записи единым батч‑upsert’ом;
- «горячий путь» подписок кэширует настройки отображения (~8 запросов меньше на запрос);
- история заказов проиндексирована.
6. Защита релизного конвейера и цепочки поставок
- релизный workflow собирает фронтенд в режиме fail‑closed (
npm ci+ те же lint/test‑гейты, что в CI); - бинарник встраивает ассеты через
go:embed all:; - сборка префиксует имена ассетов — это предотвращает случайное удаление хэшированного чанка (устраняет класс багов «пустая панель» из beta6/beta9);
- сторонние и Docker GitHub Actions запинены на commit SHA;
- Dependabot поддерживает актуальность зависимостей.
Ломающие изменения (относительно v1.5.6)
-
Скоупированные API‑токены теряют доступ, которого не должны были иметь. Интеграции, использующие токены
read/observability/telegram/databaseдля записи конфига, перезапуска панели или чтения настроек, теперь отклоняются. Используйте токенadminили подходящийwrite‑токен. -
Удалены плановая синхронизация и удалённый импорт 3x‑ui. Теперь импорт доступен только как разовая загрузка локального
.dbфайла:- через мастер в UI;
- через API:
POST /api/import-xui[/plan|/apply|/rollback]; - через CLI:
s-ui import-xui --src.
Следующие компоненты удалены:
- команда
s-ui sync-xui; - флаги
--remote/--schedule; - remote/sync API‑маршруты;
- скоуп токена
xui_remote.
Таблицы
xui_sync_profilesиxui_known_hostsавтоматически удаляются при первом старте. -
Изменения поведения:
- смена пароля администратора завершает все остальные сессии и WebSocket‑токены;
- блокировка логина по имени пользователя теперь реализована как нарастающая задержка (tarpit), а не жёсткий блок.
Процесс обновления
-
Ручная миграция не требуется. При первом запуске:
- автоматически создаётся добавочная колонка БД и уникальный индекс
settings; - при заданном
SUI_SECRETBOX_KEYвыполняется однократное перешифрование секретов.
- автоматически создаётся добавочная колонка БД и уникальный индекс
-
Перед обновлением:
- проверьте ломающие изменения, если используете скоупированные API‑токены или полагались на плановую синхронизацию / удалённый импорт 3x‑ui;
- протестируйте «Платные подписки» на некритичном экземпляре перед включением в продакшене.
-
После обновления:
- «Платные подписки» остаются выключены до ручного включения;
- убедитесь, что
SUI_SECRETBOX_KEYзадан для продакшена (защита токенов бота и платежей); - проверьте работу интеграций с API‑токенами — возможно, потребуется обновить их права доступа.
Важно: При первом обновлении сессии, подписанные прежним встроенным fallback‑ключом, будут разлогинены один раз. Пользователям потребуется войти заново.