Примечания к выпуску Chute tvOS

Версия 1.4 (75)

Новые возможности:

  • В панель управления добавлена строка «Адрес веб-интерфейса»: она появляется, как только слушатель консоли действительно поднят, и при открытии показывает QR-код, URL которого несёт токен доступа — достаточно отсканировать его телефоном, чтобы войти, не переписывая пультом адрес и 32 шестнадцатеричных символа
  • В Настройки добавлен «Офлайн-диагностический пакет», который приложение собирает без работающего туннеля: сведения об устройстве и приложении, VPN-профиль в том виде, в каком его хранит tvOS, сводка выбранной конфигурации и её ошибок разбора, раздел о сети (доступность, тип канала, серверы DNS, локальные адреса и интерфейсы), очищенное начало конфигурации, то, как завершился предыдущий запуск, части журнала последнего сеанса и ожидающие отправки отчёты о сбоях. Поскольку в tvOS нет меню «Поделиться», архив отдаёт одноразовый локальный HTTP-сервер по неугадываемому пути и показывает его в виде QR-кода; после выхода с экрана ссылка перестаёт работать
  • В журнал сеанса добавлен фильтр по уровню — «Все», Notify+, Warning+, Fatal — так что «покажи предупреждения» умещается в одно нажатие вместо поиска, набранного на экранной клавиатуре; строки, уровень которых разборщик не распознал, никогда не скрываются
  • В сведения о сеансе добавлена атрибуция перезаписи: раздел «REWRITES» рядом с правилом и политикой, направившими запрос, называет правило URL Rewrite, Header Rewrite, Body Rewrite, Map Local, Map Remote или Mock, которое его изменило
  • В редактор конфигурации добавлена строка «Allow WiFi Access» — ключ, который появляется при импорте http-listen = 0.0.0.0:… из Surge или allow-lan из sing-box и который редактор раньше вообще не мог показать; пока он включён, обе строки слушателей показывают «Вкл.» и заблокированы, поскольку движок сам расширяет оба слушателя
  • Добавлен французский как встроенный язык, и все восемь встроенных языков объявлены в App Store
  • В веб-консоль добавлены вкладки «Текущие» и «История», вид подробностей (совпавшее правило, источник правила, политика, адаптер, источник DNS, причина закрытия, тела запроса и ответа), страница «Правила», показывающая, какие правила перезаписи срабатывали, и страница «Диагностика» (объём памяти, CPU, время работы, потоки, как завершился предыдущий запуск, счётчик отказов, журнал событий, снимок Tailscale и пробы ping / DNS / выход / URL-тест); консоль теперь полностью переведена на все девять языков — и поскольку самому телевизору некуда положить файл, именно там пользователь tvOS скачивает диагностический пакет среды выполнения и экспорт HAR
  • Добавлены точки входа HTTP-API управления: /api/health, /api/events, /api/tailscale, пробы под /api/diagnostics/, /api/connections/export?format=har, /api/diagnostics/bundle, управление правилами перезаписи и хостами MitM через /api/rewrites и /api/mitm/hosts, POST /api/rules/match для пробного прогона запроса по таблице правил (сообщаются оба прохода DNS), GET|PUT /api/loglevel для смены уровня журнала и разделов подсистем без перезагрузки и POST /api/config/validate для проверки профиля без его применения

Улучшения:

  • HTTP-API управления больше не открыт без аутентификации, когда в конфигурации нет external-http-secret: движок генерирует токен, который несёт QR-код адреса веб-интерфейса; чтобы сохранить анонимный доступ, задайте external-http-secret = none; кроме того, адрес прослушивания с подстановкой больше не считается loopback
  • Сопоставление правил на больших списках стало значительно быстрее: содержимое RULE-SET и DOMAIN-SET индексируется при загрузке или восстановлении вместо потокового просмотра на каждое соединение, а таблица правил, состоящая только из доменных правил, сопоставляется по хешированному плану — для списка в 50 тысяч строк один поиск сокращается примерно с 94 мс до менее 2 мс при около 100 КБ памяти на индекс
  • UDP-потоки сопоставляются один раз: решение по потоку запоминается на 60 секунд, так что последующие датаграммы пропускают оба прохода сопоставления и DNS-запрос между ними
  • Лучшее восстановление после смены сети: туннели, исходный адрес которых больше не существует ни на одном интерфейсе, закрываются, а не держат приложения до тайм-аута простоя, а путь, который принимает соединения, но не передаёт данные, сообщается как «чёрная дыра»
  • Журналы сеансов записываются частями по 8 МБ (до восьми на запуск, самые старые удаляются); экран журнала берёт самые новые части в объёме одной части вместо того, чтобы читать в память весь запуск, сообщает, когда более старые части опущены, и продолжает следить за пишущейся частью через ротацию
  • Движок держит маркер запуска во время работы и при следующем старте сообщает, завершился ли предыдущий запуск штатно или был убит — в заголовке журнала, в /api/status и в обоих диагностических пакетах
  • Экспорт HAR теперь собирается движком из записанных кадров, поэтому коды состояния, метки времени и тайминги реальны, а каждая запись несёт под _kl выбранную политику, совпавшее правило и срабатывания перезаписи
  • Лицензия нужна только для трёх функций, которые продаёт страница покупки, — Несколько конфигураций, Управление локальным прокси-сервером и Запись трафика; переключатели HTTP API и веб-интерфейса, Определение протокола, Оптимальный DNS, «Очистить кэш DNS» и строка «Адрес веб-интерфейса» её больше не требуют, а пользователю без лицензии с остановленным туннелем предлагается запустить туннель, а не страница покупки
  • Консоль, привязанная к адресу loopback, теперь сообщает, что открывается только на этом Apple TV, и что следует задать вместо этого, вместо того чтобы предлагать QR-код, который никуда не ведёт; токен доступа больше не выводится на экран, который видит вся комната
  • Текст о покупке теперь говорит, что одна покупка покрывает три Apple TV и три iPhone или iPad; если «Восстановить покупку IAP» ничего не находит, предупреждение предлагает «Открыть руководство» и показывает QR-код с кроссплатформенными инструкциями по лицензии на языке приложения
  • При loglevel = info объёмный поток, передавший не менее 1 МиБ, при закрытии пишет одну строку о том, сколько он ждал удалённую сторону и сколько — приложение

Исправления ошибок:

  • Исправлен MitM в режиме TUN: хост, совпавший с правилом MitM, зависал до тайм-аута, поэтому Header Rewrite, Body Rewrite, Map Local, Mock и расшифрованные записи для HTTPS никогда не применялись к трафику приложений (трафик через локальный HTTP/SOCKS5-прокси не затрагивался)
  • Исправлено бездействие allow-wifi-access: локальные слушатели HTTP и SOCKS5 оставались на loopback, и ничто в Wi-Fi не могло до них достучаться; теперь флаг (и allow-lan sing-box при импорте) расширяет оба слушателя, а его отключение перепривязывает их
  • Исправлен сбой приложения при переключении любого выключателя во втором разделе панели управления после того, как строка «Адрес веб-интерфейса» смогла появляться: число строк таблицы менялось под перезагрузкой отдельной строки
  • Исправлено: после того как движок стал ротировать журнал по фиксированному размеру, экран сеанса показывал произвольный отрезок запуска, а сеанс терял дату после восьмой ротации; части теперь упорядочены по номеру, и живой просмотр больше не замирает на ротации
  • Исправлено чтение всех частей журнала сеанса в память разом — до 64 МБ текста на Apple TV — и фильтр по уровню, пропускавший строки-продолжения многострочной записи, саму запись при этом скрывая
  • Исправлена перезапись заголовка ответа через MitM HTTP/1.1, которая записывалась как применённая, тогда как клиент получал исходный заголовок, и никогда не совпадала с правилом, написанным по полному URL
  • Исправлен Mock Response, который строил ответ из заголовка запроса — строка запроса вместо строки состояния, перенесённые заголовки запроса, неверный Content-Length — и в открытом HTTP отправлял перед ним заголовок исходного сервера
  • Исправлены IP-правила с no-resolve (IP-CIDR, GEOIP, IP-ASN), пропускавшие соединение к IP-литералу, когда определение протокола подставляло для него заголовок Host или имя из обратного DNS; определённый IP-литерал больше не совпадает и с правилами DOMAIN
  • Исправлены строки RULE-SET с опциями после содержимого (GEOIP,CN,no-resolve, DOMAIN,example.com,force-remote-dns), которые отбрасывались или ни с чем не совпадали, и подправила AND/OR/NOT, терявшие no-resolve
  • Исправлено правило HOSTNAME-TYPE, которое никогда не совпадало: тип записи теперь A для соединения, установленного по IPv4, и AAAA по IPv6. Подсказка в редакторе правил показывала для него http | https — значения PROTOCOL, — а для IN-TYPE TCP | UDP; теперь обе называют то, что правило действительно принимает
  • Исправлено чтение IPv6-литерала в квадратных скобках в определённом заголовке Host ([2001:db8::1]:8080) как имени хоста [2001
  • Исправлено: запуск туннеля с группой select, установленной не на первого участника, публиковал уведомление «группа политик переключена», а перестроения после запуска вызывали предупреждение о дребезге; группа без запомненного выбора теперь следует default= профиля, а не принудительно ставится на первого участника
  • Исправлено отклонение external-http-controller = *:9090 и :::9090 — обоих документированных написаний, — из-за чего контроллер молча не запускался
  • Исправлен редкий сбой транспорта XHTTP под нагрузкой
  • Исправлен экран лицензии, помечавший сертификат другого продукта как пакет Chute; то, чем это приложение не может законно владеть, теперь отображается как «Неизвестно», и добавлена метка Android
  • Исправлено: QR-код «Chute iOS» на экране «О программе» вёл на несуществующий идентификатор App Store, а «Оценить» открывало страницу iOS-версии вместо этого приложения
  • Исправлена вёрстка страницы загрузки по Wi-Fi
  • Исправлены китайские и тайские названия семейств перезаписи, чтобы они совпадали с руководством и названиями разделов самого файла конфигурации
  • Различные улучшения стабильности и производительности

Версия 1.3 (62)

Новые возможности:

  • Добавлен транспорт XHTTP в редактор политик — переключатель, режим (auto, packet-up, stream-up, stream-one), путь и хост — для Trojan, VMess и VLESS
  • Добавлены методы шифрования Shadowsocks AEGIS-128L и AEGIS-256
  • Добавлены отсутствовавшие методы шифрования Shadowsocks 2022 (SS2022): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm и 2022-blake3-chacha20-poly1305
  • Добавлены настройки ECH (Encrypted Client Hello) для TLS-политик — переключатель, закреплённая конфигурация ECH (ech-config) и переопределение прикрывающего имени (ech-public-name)
  • Добавлен отпечаток клиента (uTLS) для каждой политики, а также значение по умолчанию для всего профиля
  • Добавлена поддержка AmneziaWG, варианта WireGuard с обфускацией трафика
  • Добавлен экран отчёта об ошибках конфигурации с поддержкой навигации фокуса tvOS вместо блокирующего предупреждения
  • Добавлен постквантовый гибридный обмен ключами X25519MLKEM768 для TLS 1.3

Улучшения:

  • При сохранении редактор политик теперь сохраняет существующие параметры, недоступные для редактирования в текущем интерфейсе (ECH, ALPN, закрепление сертификата, test-url, underlying-proxy, udp-relay)

Исправления ошибок:

  • Исправлен сбой туннеля из-за некорректных правил IP-CIDR
  • Исправлены настройки SSH idle-timeout и REALITY spiderx, которые записывались под неверными ключами и отбрасывались при сохранении
  • Исправлен сбой при переключении языка
  • Исправлены проблемы отображения экранных элементов управления
  • Различные улучшения стабильности и производительности

Версия 1.2 (45)

Новые возможности:

  • Добавлен Tailscale как встроенный тип прокси: настройте учётную запись Tailscale, присоединитесь к tailnet и направьте трафик Apple TV через узлы Tailscale — без отдельного клиента
  • Добавлена панель управления Tailscale: отображает состояние узла в реальном времени (онлайн/офлайн, IP, последний раз замечен) и позволяет переключать узел выхода с пульта
  • Добавлены полноэкранные панели Dashboard и Sessions с тёмным журналом сессий по уровням
  • Добавлена панель сведений о туннеле для проверки активных туннелей
  • Добавлен тип прокси MASQUE в редакторе политик

Улучшения:

  • Увеличена пропускная способность TUN на Apple TV
  • Улучшены стабильность соединения и пропускная способность Tailscale и WireGuard
  • Улучшена навигация фокуса на главном экране по спискам, кнопке питания и строке About — стала более предсказуемой
  • Компоновка настроек приведена в соответствие с iOS (удалён пункт Always On, Twitter→X, доработаны строки APNs, Rate и Language)
  • IP устройства отображается в правом списке главного экрана только при выключенном VPN

Исправления ошибок:

  • Исправлены ложный статус «VPN не запущен» и зависшие метки «Выполняется» на панели Dashboard
  • Исправлена потеря фокуса и скачки при открытии Dashboard/Sessions и возврате из списка узлов Tailscale
  • Исправлено поведение кнопки Menu: надёжно закрывает списки и корректно возвращает фокус
  • Исправлен текст в нижнем колонтитуле списка сессий: «смахнуть для удаления» заменено на «долгое нажатие для удаления»
  • Различные улучшения стабильности и производительности

Версия 1.0 (35)

  • Первый выпуск
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-04 00:02:39

Эта страница — перевод английской версии. При расхождениях приоритет имеет английская версия.

results matching ""

    No results matching ""