Skip to content

Latest commit

 

History

History
100 lines (75 loc) · 6.33 KB

File metadata and controls

100 lines (75 loc) · 6.33 KB

🔒 TV App Lock — українською

Пароль на будь-який застосунок на Android TV. Створено для батьків. Без root. Без хмари. Без реклами. Без стеження.

English README · License: MIT

👪 Перш за все — для батьків

Цей застосунок народився з однієї побутової ситуації: сімейний телевізор, допитлива дитина і програми, які ви не хочете відчиняти без нагляду. 4-значний PIN вводиться пультом, по одній програмі — перемикач, вікно «grace period» під вашим контролем. Жодних акаунтів, серверів чи телеметрії. Це захист від дитини, а не від зла: «не пустити п'ятирічку в YouTube», а не «захистити державну таємницю». Дорослий із пультом може зняти блок у Налаштуваннях — і це усвідомлено, жодних прихованих ричагів.

Як це працює

  • Крихітна фонова служба запитує системну статистику використання кожні 250 мс.
  • Коли заблокований застосунок виходить на передній план, лаунчер припарковується до Дому, а поверх постає PIN-екран.
  • Правильний PIN → ви потрапляєте всередину програми, а налаштовуваний grace period (0–60 хв або «до перезавантаження») вирішує, як довго повторні запуски проходитимуть без запиту.
  • Watchdog пере-піднімає браму, якщо Android мовчки відмовив у її показі; сигналізація keep-alive відроджує службу, якщо прошивка її вб'є.
  • Усе локально. Дозволу на мережу в застосунку немає взагалі.

Можливості

🔢 PIN 4 цифри пультом, зберігається автоматично на 4-й цифрі
📱 Вибір програм будь-яка програма з головного екрана ТБ
⏱️ Grace period 0 / 5 / 15 / 30 / 60 хв / до перезавантаження
🔓 Видимий стан головний екран завжди показує: замок заряджений 🔒 чи відкритий 🔓
♻️ Переживає перезавантаження boot-receiver + keep-alive, без root
🌍 UI англійська та українська

Вимоги

  • Android TV 6.0+ (API 21), тестувався на Android 14
  • ADB для одноразової установки та видачі дозволів

Встановлення

  1. Завантажте tvapplock-release.apk з останнього релізу та перевірте за SHA256SUMS.txt.
  2. Увімкніть налагодження ADB на ТБ (Налаштування → Пристрій → Налагодження по USB; на деяких прошивках спершу 7 разів натисніть «Збірка» в «Про пристрій»).
  3. З комп'ютера в тій самій мережі:
adb connect <IP_ТБ>:5555
adb install tvapplock-release.apk

# два дозволи, які локер потребує (одноразово)
adb shell appops set com.alexk.tvlock GET_USAGE_STATS allow
adb shell appops set com.alexk.tvlock SYSTEM_ALERT_WINDOW allow

# запустити службу-вартового
adb shell am start-foreground-service com.alexk.tvlock/.LockPollService
  1. Відкрийте TV App Lock на ТБ → «Налаштувати PIN» → оберіть програми для блокування.

Чому не accessibility-сервіс?

Апп-локери на accessibility-сервісах (більшість із Play Store) перехоплюють події вікон, але на Android TV вони глобально ламають обробку кнопки OK пультом — коротке натискання у лаунчері починає відкривати меню довгого тапання. TV App Lock навмисно пішов шляхом опитування замість accessibility: нуль втручання у ввід, ціна — вікно ~0.5 с між іконкою програми та брамою.

Відомі обмеження (список без ілюзій)

  • ~0.5 с на перегон: опитування — не хук. Перший кадр заблокованої програми може мигнути до появи брами. Без root це не усувається повністю.
  • Обхід через Налаштування: вимкнути дозвіл Usage Access або зупинити програму може будь-хто з пультом. Це захист від дитини 4–10 років, не від свідомого дорослого.
  • Grace period — це компроміс: 0 (питати щоразу) найбезпечніше; довші вікна лишають двері відчиненими для всіх, не лише для вас.
  • PIN зберігається локально, не хешований — придатний для сімейного ТБ, ніколи не повторюйте справжній пароль.

Конфіденційність

Застосунок не має дозволу на інтернет. Дозвіл на статистику використання використовується виключно щоб локально й у реальному часі визначити передню програму. Ніщо ніколи не покидає пристрій.

Ліцензія

MIT