Отладка Apple TV

Из четырёх платформ Apple TV отлаживать труднее всего, и причины к Chute отношения не имеют: в tvOS нет браузера, нет меню «Поделиться», нет файлового менеджера, нет способа установить сертификат с самого устройства, а в руках у вас пульт, а не клавиатура. Chute tvOS отвечает на каждый из этих пунктов тем, что переносит интерфейс в другое место — в браузер на телефоне или Mac, в QR-код, в окно Dashboard.

Поэтому это руководство устроено иначе, чем два других: почти всё происходит вне телевизора.

1. Доставить конфигурацию на телевизор

Править конфигурацию пультом никто не захочет дважды, поэтому напишите её в другом месте и перешлите. На Apple TV пункт Добавить конфигурацию из... предлагает три пути:

  • Загрузить файл через Wi-Fi или Chute iOS — телевизор поднимает локальный HTTP-слушатель и показывает URL и QR-код. Откройте этот URL в любом браузере и загрузите файл или отсканируйте код в Chute iOS. URL-схема chute://tv открывает тот же экран импорта прямо в приложении на телефоне.
  • Загрузить по URL — телевизор забирает конфигурацию сам. Из трёх вариантов требует меньше всего набора текста, если файл лежит там, куда телевизор дотянется.
  • Пустая конфигурация — пустая, для правки прямо на устройстве.

Для загрузки телевизор и второе устройство должны быть в одной сети Wi-Fi, а слушатель существует только пока открыт этот экран: уход с экрана или блокировка устройства прерывает передачу.

2. Включить два слушателя, которыми вы действительно будете пользоваться

Оба по умолчанию выключены, и без хотя бы одного из них отлаживать Apple TV нечем. Оба бесплатны: на панели управления этой платформы лицензия покрывает строки локального прокси-сервера и запись трафика, а не их.

HTTP API управления + веб-консоль — то есть Веб-консоль, где живут тела, экспорт HAR и диагностика:

[General]
external-http-controller = 0.0.0.0:9090
external-http-secret = your-own-token
external-http-ui = true

Привязывайте к 0.0.0.0, а не к 127.0.0.1: консоль на петлевом адресе нельзя открыть с другого устройства, а браузера, чтобы открыть её локально, на телевизоре нет. Привязка вне петлевого адреса требует явного external-http-secret, иначе контроллер откажется запускаться.

Доступ внешнего контроллера — двоичный канал, на котором говорит Chute Dashboard. В редакторе конфигурации откройте Внешний контроллер:

  1. Включите Доступ внешнего контроллера.
  2. Задайте Порт (здесь по умолчанию 6171) и собственный Пароль; пустым он быть не может.
  3. Включите Разрешить доступ по Wi-Fi. На Apple TV это не опция, как на телефоне: запасного кабельного пути тут нет, поэтому с выключенным параметром снаружи телевизора не подключится ничто.

Вы должны увидеть на панели управления: HTTP API Порт и Веб-консоль со значением Вкл, а Порт внешнего доступа — с вашим портом. Если этого нет, туннель работает со старой копией конфигурации — перезапустите его.

3. Открыть консоль с другого устройства

На панели управления есть строка Адрес веб-консоли, несколькими строками ниже переключателя Веб-консоль. Выберите её:

  • Если слушатель доступен с других устройств, телевизор покажет QR-код. Отсканируйте его телефоном в той же сети или наберите адрес в любом браузере. Токен входа едет внутри кода, а не выводится на экран, так что никому не придётся переписывать с телевизора 32 шестнадцатеричных символа.
  • Если контроллер привязан к петлевому адресу, вместо кода телевизор покажет пояснение — см. шаг 2.

Дальше консоль одинакова на всех платформах: Соединения с разбором каждого и с телами, Правила со списком сработавших перезаписей, Диагностика с пробами ping / DNS / выходного адреса / URL-теста и Журналы.

4. Подключить Chute Dashboard

На Mac откройте Chute Dashboard и выберите Подключиться к удалённому компьютеру: Хост — это адрес Apple TV, панель управления показывает его в строке ЛОКАЛЬНЫЙ IP, а порт и пароль берутся из шага 2. Подключиться по USB предназначен для iPhone и устройств Android; до Apple TV добираются по сети.

Всё, что Dashboard делает для телефона, он делает и здесь — списки «Активно» и «Недавние», представления DNS и UDP, панели инструментов MitM, экспорт в HAR и curl по правому щелчку.

5. Расшифровка HTTPS

На этой платформе отличаются две вещи, и обе застают врасплох.

CA нельзя установить из приложения. В tvOS нет ни Safari, ни установщика профилей, поэтому сертификат должен прийти единственным способом, каким tvOS вообще принимает сертификаты: через MDM или Apple Configurator. Приложение так и пишет там, где правится список хостов, и само оно не умеет ни создавать, ни импортировать, ни экспортировать CA: создайте CA в Chute Mac, перенесите те же ca-p12 и ca-passphrase в конфигурацию телевизора и доставьте сертификат — Экспортировать сертификат в Chute Mac сохраняет его как .pem — на устройство одним из этих двух путей.

На панели управления нет переключателя MitM. В iOS и macOS он есть, в tvOS — нет. Расшифровка включается одним из способов:

  • конфигурацией — enable = true в [MITM]; это ответ, который сохраняется;
  • из консоли или переключателем на панели инструментов Chute Dashboard;
  • запросом PUT /api/features/mitm с {"enabled": true}.

Последние три действуют только на работающий движок и забываются при следующем перезапуске. Список hostname читается из конфигурации, но его можно править на ходу и из консоли, и из Dashboard. Как бы ни включали расшифровку, на Apple TV, как и на iPhone, для неё нужна лицензия: без неё движок ничего не расшифровывает.

[MITM]
enable = true
hostname = api.example.com, *.example.net

6. Запись — и как забрать результат с устройства

Переключатель Запись трафика на панели управления записывает трафик — это параметр replica — и является одной из трёх строк панели управления tvOS, требующих лицензии; две другие — локальные прокси-серверы. Без него соединения всё равно появляются со своим правилом, политикой и таймингами; отсутствует только полезная нагрузка.

Дальше начинается то, что свойственно только этой платформе: на Apple TV некуда положить файл. Здесь нет ни меню «Поделиться», ни приложения «Файлы», поэтому любой экспорт уходит по HTTP:

  • HAR — страница соединений консоли, Экспорт HAR. Загрузка попадёт на машину с браузером.
  • Диагностический пакет среды выполнения — страница диагностики консоли, Скачать диагностический пакет.
  • Офлайн-диагностический пакет — «Настройки» → Офлайн-диагностический пакет, когда туннель не запущен. Телевизор соберёт архив и покажет QR-код; ссылка работает, только пока открыт этот экран.

7. Что телевизор всё-таки может рассказать сам

Некоторым вопросам второе устройство вовсе не нужно. В разделе «Настройки» → ДИАГНОСТИКА:

  • Панель мониторинга — текущая сессия: её Туннели, DNS и Статистика. Выбор соединения открывает панель сведений с ОСНОВНОЕ (дата, состояние, причина закрытия, длительность), ПОЛИТИКА (сработавшее правило и выбранная им политика), УЗЛЫ (локальный адрес, сервер, удалённая сторона, хост), ТРАФИК, ВРЕМЯ (готовность прокси, разрешение DNS, правило, готовность удалённой стороны, общее время активности) и сработавшими перезаписями. Тел запросов и ответов здесь нет — для них нужна консоль или Chute Dashboard.
  • Сессии — прошлые запуски, у каждого свои Туннели, та же панель сведений и свой Лог. Над экраном журнала есть фильтр по важности (Все / Уведомления+ / Предупреждения+ / Критическая ошибка), так что одного пульта хватает, чтобы сузить запуск до его предупреждений. Текущую сессию здесь не открыть — для неё есть Панель мониторинга, — а её журнал читают в консоли.
  • Диагностика сети, Диагностика прокси, Таблица маршрутов — достижимость, слушатели и маршрутизация такими, какими их видит устройство.

На панели управления есть ещё Очистить кэш DNS — самый быстрый способ перепроверить сопоставление [Host], не перезапуская туннель.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-30 15:11:19

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

results matching ""

    No results matching ""