Экран беговой дорожки NordicTrack без подписки iFit с Claude Code
Пользователь Reddit за полтора дня с Claude Code освободил экран беговой дорожки NordicTrack от подписки iFit. Теперь на нём свой домашний экран с Netflix и Crunchyroll, панель скорости поверх видео и кнопки управления, а код выложен на GitHub.
Что сделали
Дорожка NordicTrack Commercial 2250 показывала на большом экране только то, что разрешает подписка iFit, даже стриминг, за который хозяева и так платят. Автор выяснил, что экран это обычный планшет на Android 9. Он сел с Claude Code и завёл файл CLAUDE.md как память проекта. Claude через ADB изучил планшет и нашёл, что служба мотора iFit держит на консоли небольшой сервер, к которому могут обращаться приложения. Агент разобрал, как с этим сервером общается открытый проект QZ (qdomyos-zwift). По этому примеру он с нуля написал клиент на Java. Приложения iFit отключали по одному. После каждого проверяли, жива ли служба мотора. Одно отключение убило службу, другую попытку откатывали полчаса. Каждый раз Claude записывал урок в CLAUDE.md. Следующая сессия его уже учитывала. Главным решением стало удалить для своего пользователя приложение блокировки и обновлений iFit (это обратимо). Оно после каждой перезагрузки выключало удалённый доступ, включало обратно всё отключённое и сильно грузило процессор. У каждого теста с удалённым запуском ленты было ограничение скорости. Команда остановки срабатывала даже при сбое скрипта. В конце скрипт проверял, что скорость равна нулю.
Что получилось
Получился свой домашний экран с крупными плитками Netflix и Crunchyroll, без входа в iFit, рекламы и напоминаний о подписке. Поверх видео висит панель со скоростью, наклоном, временем и дистанцией, рядом трек на четверть мили с кругами и темпом. На экране есть кнопки старта, паузы, остановки, скорости и наклона, физические кнопки тоже работают. Netflix запускается примерно за 21 секунду вместо почти минуты. Дорожка загружается разблокированной. Claude ещё поймал в логах опасную мелочь. Вспомогательная функция тестового скрипта с именем Rd совпала с псевдонимом PowerShell для удаления файлов, но ничего удалить не успела. Код выложен в репозитории treadmill-home на GitHub.
На что обратить внимание
Claude на Opus 5.5 отказался разбирать защитное рукопожатие платы мотора по коду iFit, потому что счёл это обходом проверки подлинности. Поэтому мотором управляют через штатную службу iFit. Запускать ленту удалённо агент сначала тоже отказывался. Автор объяснил, что так безопаснее, чем стоять на ней самому. Агент согласился при условии, что автор подтвердит, что рядом с дорожкой никого нет. Настоящим способом остановки остались ключ безопасности и кнопка Stop на консоли, накладке это не доверяют. Netflix идёт только в SD, планшет медленный, а сброс к заводским настройкам сотрёт всю работу.
Пояснение
iFit это фирменная подписка тренажёров NordicTrack с тренировками и доступом к функциям экрана. ADB это инструмент для управления Android-устройством с компьютера.
Кому пригодится
Тем, у кого тренажёр, телевизор или другая техника заперта за подпиской, а внутри обычный Android.
Попробуйте сами с Claude Code
Ты помогаешь мне вернуть контроль над экраном [устройства], который заперт фирменной подпиской [название]. Внутри обычный планшет на Android. На входе у тебя доступ к планшету по ADB и этот проект. Заведи файл CLAUDE.md как память проекта и записывай туда каждый урок. Шаги по порядку. Изучи через ADB, какие приложения и службы стоят на планшете и какая из них управляет [мотором или железом]. Найди, есть ли открытый проект, который уже говорит с этой службой, и напиши свой клиент по его примеру. Отключай фирменные приложения по одному и после каждого проверяй, что служба управления жива. Если что-то сломалось, откати и запиши причину в CLAUDE.md. Затем сделай свой домашний экран с плитками [нужные приложения] и панель с показаниями поверх видео. Результат. Домашний экран, панель с показаниями и кнопками и список того, что отключено и как это вернуть. Ограничения. Не обходи проверки подлинности и защиту железа. Каждый тест с движущимися частями только после моего подтверждения, что рядом никого нет, с ограничением [скорости или мощности], командой остановки, которая срабатывает при любом сбое, и проверкой, что в конце всё стоит. Аварийную остановку оставляем на физической кнопке. Ничего не удаляй без возможности вернуть. Прежде чем начать, спроси меня модель устройства, какие приложения мне нужны и как подключиться к планшету.
Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗
Источник: reddit.com ·