Skip to content

XKeen SmartRoute v2.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Sep 17:33
· 4 commits to master since this release

Исправлено

  • install.sh больше не падает на свежем OpenWrt 25.12.5 при установке
    entware-сборки Xray. Обнаружено вживую (GitHub issue #1) и
    воспроизведено на реальном роутере (Netis N6, свежепрошитый на
    OpenWrt 25.12.5): текущая версия установщика xkeen (Skrill0/XKeen)
    сама регистрирует фиктивный пакет xray_s прямо в статус-базе opkg —
    чтобы отслеживать файлы, которые сама же записала (бинарник xray, его
    конфиг-шаблоны, geoip/geosite .dat, логи). На OpenWrt xray_s
    никогда не был настоящим, скачиваемым пакетом Entware, но opkg об
    этом не знает: обычный opkg install xray-core корректно отказывает
    из-за конфликта на /opt/sbin/xray («уже предоставлен пакетом
    xray_s») — так же, как отказал бы для двух по-настоящему
    конфликтующих пакетов.

    Пробовал сначала удалять xray_s — тот же приём, что уже
    используется веткой для KeeneticOS чуть выше по коду для похожего,
    но другого конфликта — подтверждено вживую, что это неверный ход
    именно здесь: opkg remove удаляет все пути из списка файлов этого
    пакета, включая собственный каталог шаблонов xkeen
    /opt/etc/xray/configs, который ничто дальше по скрипту не
    восстанавливает. opkg install --force-overwrite xray-core вместо
    этого просто отдаёт настоящим файлам xray-core тот один путь, на
    который претендуют оба, не трогая ни статус-запись xray_s, ни что-либо
    ещё, что она заявляет — подтверждено вживую, что каталог шаблонов
    остаётся нетронутым, а Xray после этого запускается и реально
    маршрутизирует трафик.

    Попутно найден и исправлен второй, независимый баг устойчивости:
    интерактивные запросы пароля (xkeen-UI, панель SmartRoute) могли
    уронить всю установку под set -eu, если install.sh запущен не из
    живого терминала (например, ssh роутер 'sh install.sh' — реальный
    сценарий, не только особенность тестового стенда): проверка
    [ -r /dev/tty ] может пройти, а сама попытка открыть /dev/tty для
    read — упасть.

    Проверено вживую end-to-end: чистая установка на OpenWrt 25.12.5
    проходит все 6 шагов, check.sh — везде [OK], реальная
    подписка/профиль/маршрутизация работают.