What to do with an old iPad
- Унаследовал iPad 2 на iOS 9: тормоз и нет приложений.
- Спустились до iOS 6.1.3 через jailbreak + Legacy-iOS-Kit: летает, красиво.
Что делать:
- Cydia: iFile, iTransmission, f.lux, старые игры без IAP.
- Через SSH root-доступ: учимся хостингу.
План: запустить блог на iPad и вывести в интернет.
- lighttpd из Cydia – весит мало.
- Jekyll-сайт закинул по SCP – открывается в Wi-Fi.
- Туннели:
– localhost.run: старый SSH не принимает RSA, домены случайные, платные.
– Свой VPS + autossh: OpenSSL 0.9.8 ≠ современные алгоритмы, отказ. - Порт-форвард: роутер пускает наружу 80-й на iPad; VPS проксирует nginx → домен.
- Uptime 3 дня, греется, но работает: старый планшет = живой сервер.
Комментарии (91)
- Пользователь поднял iPad 2 2012 г. как веб-сервер, но сайт быстро выдал 502-ошибку Cloudflare.
- Комментаторы жалуются: Apple прекращает поддержку, устройство нельзя поставить Linux, оно превращается в «электронный хлам».
- Обсуждаются jailbreak, UTM, iSH, Termux+X11, но все способы ограничены, частично «тетеринг» и требуют копаться в сомнительных инструкциях.
- Кто-то делает из старых панелей Home Assistant, кто-то — настенные часы, но батарея всё равно периодически садится даже от сети.
- Общий вывод: пока Apple официально не разрешит ставить альтернативные ОС, старые iPad остаются либо музейными экспонатами, либо выбросом.
I accidentally became PureGym’s unofficial Apple Wallet developer 🔥 Горячее 💬 Длинная дискуссия
Как я случайно стал неофициальным разработчиком Apple Wallet для PureGym
47 секунд: зарождение злодея
Каждый вход в PureGym занимал 47 секунд: открыть приложение, дождаться загрузки, нажать «Gym access», дождаться QR. 6 дней в неделю — 282 секунды жизни на вход. Решил оптимизировать.
Восьмилетний PIN
8 лет подряд использую один и тот же 8-значный PIN на турникете. Он никогда не протухал. А QR-код обновляется каждую минуту — спектакль безопасности.
mitmproxy и GitHub
Попытка «заснять» QR и положить в Wallet провалилась — код умирает за минуту. На GitHub нашёл кучу недовольных разработчиков и старые репозитории PureGym.
PassKit: забытый ребёнок Apple
QR-коды PureGym — это обычные signed passes Apple Wallet. Формат .pkpass — ZIP с JSON и подписью. Сгенерировал собственный pass: pass.json, manifest.json, подписал через openssl.
Swift-backend на Vapor
Написал сервис на Vapor:
- авторизация по логину/паролю PureGym
- парсинг JSON с QR-кодом
- генерация нового
.pkpassкаждые 6 часов - отдача по deeplink
https://pass.puregym.local/{id}
The Great Gym Heist
Запустил сервер на домашнем Raspberry Pi. Первый вход — 3 секунды, без приложения. Через неделю 50+ человек используют мой сервис. Никто не заметил.
Apple Watch
Добавил Watch-расширение: показ pass на двойное нажатие боковой кнопки. Работает даже без телефона.
Цифры
- 47 → 3 секунды входа
- 282 → 18 секунд в неделю
- 50+ пользователей
- 0 жалоб
Бонус
Сделал push-уведомления, если pass не обновился. Добавил темную иконку для Vision Pro.
Неловкая правда
PureGym мог бы сам выдать Wallet-pass за день работы. Но 8 лет никто не заметил.
Этика
Никаких персональных данных не храню, только токен. Если закроют — открою исходники.
Что дальше
Планирую добавить NFC-таг у входа: поднёс Watch — дверь открылась.
Комментарии (153)
- Пользователи делятся опытом работы с ужасным официальным приложением PureGym: медленный старт, отключение фоновой музыки, веб-обёртка вместо нативного клиента.
- Автор статьи сделал собственный Swift-бэкенд и Apple Wallet-пасс, чтобы мгновенно получать обновляющийся QR-код и не ждать 7 секунд загрузки.
- Обсуждают безопасность: 8-значный PIN выдаётся самим сервисом, может быть скомпрометирован, а API, похоже, не имеет нормального rate-limit.
- Сообщают аналогичные истории с другими сетями (TrainMore, Fitness SF, Better) и спорят, почему компании не добавляют Wallet: «не приоритет», «слишком дорого поддерживать», «никому не платят за UX».
- Поднимают юридические вопросы: использование неофициального клиента может нарушать ToS или законы (CFAA в США), но многие считают это разумным «гражданским хакингом».