Apple TV (tvOS)

Приложение Happ — Proxy Utility for TV является самостоятельным продуктом, отличным от версии для iOS, из-за особенностей и ограничений платформы tvOS. Подробности — в разделе «Особенности и ограничения» ниже.


1) Импорт по локальной сети

При первом запуске автоматически откроется экран импорта (аналог нажатия «+»). Вы можете передать:

  • отдельные конфигурации серверов,

  • одну или несколько подписок,

  • или всё сразу.

Требования:

  • iPhone/Android с установленным Happ и Apple TV должны быть в одной Wi-Fi сети.

  • На экране TV отсканируйте QR-код с помощью Happ на iOS/Android.

Как это работает:

  1. Откройте Happ на iOS/Android.

  2. Сканируйте QR-код с экрана TV.

  3. Выберите, что отправлять (конфигурации/подписки) и подтвердите.

Важно:

  • Не закрывайте экран импорта на TV до окончания передачи — иначе соединение может оборваться и данные импортируются частично или не импортируются вовсе.

  • При передаче с iOS система покажет запрос разрешения на подключения по локальной сети. Если отказать, повторный системный диалог не появится (особенность API Apple), и локальные запросы будут блокироваться. См. решение в разделе «Особенности и ограничения».

После передачи:

  • При успехе экран импорта скрывается, начинается обработка полученных данных (например, получение конфигураций по URL подписки).

  • При ошибках (не удалось разобрать конфигурацию или получить данные по ссылке подписки) приложение покажет сообщение об ошибке.

  • QR-код обновляется автоматически.


2) Веб-импорт через удалённый сервер

Если локальная сеть недоступна или заблокирована разрешениями, используйте Web Import.

Шаги:

  1. На экране импорта выберите «Web Import».

  2. Выберите один из вариантов:

    • Откройте в любом браузере сайт tv.happ.su, введите временный код с экрана TV, затем добавьте данные и нажмите «Отправить».

    • Отсканируйте QR-код с экрана TV — он содержит и адрес, и временный код.

Важно:

  • Не закрывайте экран импорта на TV до завершения операции — иначе соединение может быть закрыто, а данные — не доставлены полностью.

  • QR-код обновляется автоматически.

Результат:

  • После успешной передачи приложение скроет экран импорта и выполнит те же действия, что и при импорте по локальной сети.


3) Подключение

После успешного импорта на домашнем экране появится список полученных подписок/серверов. Первый доступный сервер будет выбран автоматически.

Поддерживаются стандартные операции:

  • выбор сервера,

  • подключение/отключение,

  • пинг,

  • обновление подписки.

Поведение в целом соответствует версиям для iOS/Android/Desktop.


4) Настройки

Настройки на tvOS визуально отличаются от других платформ.

Ключевое отличие — на tvOS нет классического роутинга. Вместо него доступен упрощённый механизм правил Direct:

  • Встроен дефолтный список Direct-правил.

  • Вы можете их включать/выключать и редактировать под свои задачи.


5) Особенности и ограничения tvOS

Хранилище и очистка данных

  • На Apple TV (tvOS) отсутствует «гарантированно постоянное» хранилище для приложений. При нехватке памяти система может самостоятельно удалить сохранённые данные приложения (конфигурации/подписки). Рекомендуется хранить важные данные в подписке/на сервере и уметь быстро повторить импорт.

Лимит памяти на туннель

  • tvOS (как и iOS) жёстко ограничивает потребление памяти для сетевого туннеля — около 50 МБ. При превышении лимита система может завершить процесс туннеля (фактически «отключить» соединение). Это системное ограничение.

Разрешение «Локальная сеть» на iOS

  • В iOS известна особенность (баг API): если при первом запросе разрешения на локальные подключения вы выбрали «Не разрешать», повторный системный диалог не появится. Даже после включения разрешения в настройках приложения iOS может продолжать блокировать такие подключения.

  • Решение: переустановите приложение на iOS-устройстве (после этого система снова покажет диалог) или используйте Web Import.


Подсказки

  • Если импорт «по воздуху» не проходит из-за разрешений/сети — сразу используйте Web Import: это надёжно и не зависит от локальных ограничений.

  • Для минимизации риска потери данных держите актуальные подписки и при необходимости повторно импортируйте их на TV всего в пару шагов.

Last updated