github deposist/s-ui-x v1.5.6-beta7
s-ui v1.5.6-beta7

latest releases: v1.5.10-beta7, v1.5.10-beta6, v1.5.10-beta5...
pre-releaseone month ago

Release Notes: v1.5.6-beta7

Release date: 2026-06-02

Completes the built-in 3x-ui migration (migrate-xui). Follow-up to
v1.5.6-beta6. No schema migrations; existing data is preserved.

What changed

  • Migrated clients now get subscription links — the importer left each
    client's Links empty, and the subscription reads only the stored links, so
    none of an imported client's inbounds appeared in the subscription or the
    QR/Links view. Links are now generated during import with the same generator
    the panel uses on a normal client save. The hostname baked into each link is
    the panel request host (web import), the new --host flag (CLI), or the
    configured sub/web domain (scheduled sync). A re-import merge preserves a
    client's existing external/sub links, and a NULL Links column is now
    tolerated so a later inbound edit regenerates links instead of skipping the
    client.
  • Cloudflare WARP migrates as an endpoint with its routing Rule — 3x-ui
    stores WARP as a WireGuard outbound referenced by routing rules; s-ui models
    WARP as an endpoint and routes to it via Rules. The WARP outbound is now
    converted to a WARP endpoint (Cloudflare peer, MTU, addresses, reserved) and
    its routing rule is rewired to target that endpoint instead of being flagged
    "requires manual review". Source blackhole/freedom outbounds resolve to
    block/direct by protocol, so blocked/direct rules map too. The
    endpoint is created only when new (a re-import or scheduled sync no longer
    clobbers an edited WARP endpoint), and a reserved value that is not exactly
    three bytes is dropped with a warning so the generated config still loads.
  • Import no longer fails with "Network Error" — a large import could run
    past the web server's 30s write timeout, severing the HTTP response mid-import
    even though the import completed server-side (surfacing as
    Import failed / AxiosError: Network Error). The deadline is now lifted on the
    raw connection — the gzip middleware wraps the response writer so
    http.NewResponseController could not reach it — only after the request is
    authenticated, scope-checked and rate-limited, and the work stays bounded by
    the 10-minute request context.

Upgrade

No manual migration; existing data is preserved. After importing a 3x-ui
database, imported clients have working subscription links — set your panel's
domain first, or the links use the host you reach the panel on. WARP arrives as
an endpoint together with its routing Rule.


Примечания к релизу: v1.5.6-beta7

Дата релиза: 2026-06-02

Завершает встроенную миграцию 3x-ui (migrate-xui). Продолжение v1.5.6-beta6.
Без миграций схемы; существующие данные сохраняются.

Что изменилось

  • У перенесённых клиентов появляются ссылки подписки — импортёр оставлял
    поле Links клиента пустым, а подписка читает только сохранённые ссылки,
    поэтому ни один инбаунд импортированного клиента не попадал в подписку и в
    QR/Links. Теперь ссылки генерируются при импорте тем же генератором, что и при
    обычном сохранении клиента в панели. Хост, зашиваемый в каждую ссылку, — это
    адрес панели из запроса (веб-импорт), новый флаг --host (CLI) или
    настроенный sub/web-домен (запланированная синхронизация). При повторном
    импорте (merge) внешние/sub-ссылки клиента сохраняются, а пустой (NULL)
    Links теперь допустим — последующее редактирование инбаунда перегенерирует
    ссылки, а не пропускает клиента.
  • Cloudflare WARP мигрирует как endpoint вместе с правилом маршрутизации — в
    3x-ui WARP — это WireGuard-outbound, на который ссылаются правила; в s-ui
    WARP — это endpoint, и маршрут к нему задаётся через Rules. WARP-outbound
    теперь превращается в WARP-endpoint (пир Cloudflare, MTU, адреса, reserved), а
    его правило маршрутизации перенаправляется на этот endpoint вместо пометки
    «требует ручной проверки». Исходные blackhole/freedom определяются по
    протоколу и сопоставляются с block/direct, поэтому правила
    blocked/direct тоже переносятся. Endpoint создаётся только если он новый
    (повторный импорт или синхронизация больше не затирают отредактированный
    WARP-endpoint), а reserved не из ровно трёх байт отбрасывается с
    предупреждением, чтобы итоговый конфиг загружался.
  • Импорт больше не падает с «Network Error» — большой импорт мог длиться
    дольше 30‑секундного write‑таймаута веб‑сервера, из‑за чего HTTP‑ответ
    обрывался на середине, хотя на сервере импорт завершался (симптом
    Import failed / AxiosError: Network Error). Дедлайн теперь снимается на самом
    соединении — gzip‑middleware оборачивает writer ответа, и
    http.NewResponseController до него не дотягивался — и только после
    аутентификации, проверки scope и rate‑limit; работа по‑прежнему ограничена
    10‑минутным контекстом запроса.

Обновление

Ручная миграция не нужна, данные сохраняются. После импорта базы 3x-ui у
перенесённых клиентов работают ссылки подписки — сначала задайте домен панели,
иначе ссылки используют хост, по которому вы открываете панель. WARP приходит
как endpoint вместе со своим правилом в Rules.

Don't miss a new s-ui-x release

NewReleases is sending notifications on new releases.