Skip to content

2.27.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 17:46

Оптимизации и защита TorrServer

Перезапуск быстрее, панель легче, у TorrServer появились пароль и изоляция, счётчики трафика дешевле. Обновление ставится поверх, настройки переносятся сами.

Что нужно знать при обновлении

  • Счётчики трафика по устройствам один раз начнутся с нуля: при обновлении их таблица пересоздаётся.
  • TorrServer один раз перезапустится: он получает мягкий предел памяти.

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

TorrServer

  • Новая вкладка «Настройки → TorrServer».
  • Можно включить пароль на веб-страницу и API TorrServer. Приложения, которые работают через API (Lampa, MSX), тогда попросят имя пользователя и пароль. Ссылки на потоки остаются открытыми. Если пароль включён, но имя или пароль не годятся, TorrServer не запускается и пишет причину в журнал.
  • Можно запускать TorrServer в изоляции procd (ujail): он видит только свою программу, свою базу, каталоги кэша на диске и несколько системных файлов. Опция доступна, только если на роутере установлен пакет procd-ujail.
  • Пароль и изоляция по умолчанию выключены. Их изменение перезапускает TorrServer, изменение остальных настроек Prokop его не трогает.
  • TorrServer получает мягкий предел памяти Go (размер кэша плюс 64 МБ). С ним Go раньше возвращает память, но TorrServer никогда не падает из-за этого предела. Если предел вышел бы больше половины памяти роутера, он не ставится.
  • Рекомендуемые настройки выключают Bonjour: он объявлял TorrServer на всех адресах роутера, включая WAN.

Запуск

  • Перезапуск, когда с проверки перед ним ничего не изменилось, больше не собирает и не проверяет конфигурацию sing-box второй раз. Это экономит несколько секунд и около 100 МБ пиковой памяти. Если изменилось хоть что-то (настройки, подписки, списки, кэши, сам sing-box или код Prokop), конфигурация собирается заново, как раньше. В журнале видно, какой путь выбран.

Трафик по устройствам

  • Подсчёт пакетов дешевле: пакет только прибавляется к счётчику и не переписывает срок хранения записи. Адреса, по которым не было трафика 7 дней, удаляются раз в час.
  • Страница «Устройства» обновляется раз в 5 секунд вместо 3.

Автоподбор

  • После автоматической смены стратегии «последняя рабочая конфигурация» обновляется, только когда наблюдение прошло. Стратегия, которая не прошла наблюдение, истекла или была остановлена, никогда не становится конфигурацией, к которой Prokop откатывается. Карточка автоподбора показывает, что наблюдение прошло и ждёт записи, и отдельно, если оно закончилось без записи. Если наблюдение закончилось без результата (истекло или автоматический режим выключили), следующие автоматические применения не выполняются, пока вы не откатите стратегию или не смените её вручную: карточка объясняет это.
  • Ответы серверов при подборе считаются одним правилом nft вместо одного правила на каждую стратегию. Если ядро не поддерживает такой счётчик, автоматически используется прежний способ.

Интерфейс

  • Страницы Prokop в LuCI загружают меньше JavaScript: файлы страниц поставляются сжатыми (на 30% меньше, −122 КБ), а общий модуль панели стал на 12 КБ меньше. Прогресс обновления компонентов и таблица устройств загружаются только на своих страницах. Внешне ничего не меняется.

Что проверено

  • PASS: полный прогон автоматических тестов бэкенда от root и от непривилегированного пользователя без uci (как в CI). Фронтенд: prettier, eslint, tsc, vitest, сборка. На каждое изменение добавлен тест, который не проходит на 2.26.0 и проходит теперь. Счётчики трафика, удаление простаивающих адресов и счётчик ответов автоподбора проверены на настоящем nft с настоящими пакетами.
  • PASS: таблица устройств и панели прогресса, загруженные отдельными модулями, отрисованы в Chromium на 1440/1024/768 по-русски без горизонтальной прокрутки (без темы LuCI).
  • NOT TESTED: на роутере. В первую очередь стоит проверить: пароль TorrServer с Lampa; запуск в ujail и работу TorrServer напрямую при нём; одну сборку конфигурации при перезапуске (строка в журнале); счётчик ответов автоподбора на ядре OpenWrt 25.12; что все страницы Prokop открываются без ошибок в консоли после очистки кэша браузера.