Обновлено—2. Приложение для авторизации в метро для iOS появилось Апсторе!
Обновлено. Бета-тестирование завершилось. Спасибо всем за участие! «Москва. Метро. Авторизация вайфай» отправилось в Апстор на проверку. Нет рекламе прокладок в Московском метро! Подписывайтесь на меня в твитере @m4rr — следите за новостями. А пока зацените мой стартап — Paste.
Пару недель назад я упомянул в твитере, что хорошо бы кто-нибудь написал приложение для айфона, чтобы оно автоматически проходило авторизацию в вайфае Московского метро. И, так как никто не откликнулся, я решил написать его сам, когда у меня было немного свободного от моего стартапа времени.
За две недели в бета-тестирование было выпущено 10 билдов. Спасибо дорогим бета-тестерам за фидбек! Отдельное спасибо @iShift за помощь в построении гипотез, и @r3s3t за прекрасную иконку!
Приложение работает так: телефон подключается к вайфаю в вагоне, вы запускаете приложение, и — вуаля! — приложение автоматически проходит 9 кругов авторизации вместо вас и на айфоне появляется интернет.
Это приложение пока не в Апсторе Если вы хотите его попробовать — напишите мне письмо и я отправлю вам приглашение.
***
Проблема разработки такого приложения в том, что тестировать его очень сложно. За время поездки на метро, нужно придумать гипотезу, почему очередной способ не сработал. Вечером дома обновить алгоритм, и только на следующий день проверить работу нового алгоритма. Дальше процесс повторяется. Такой замедленный хакатон.
За время работы над приложением я подробнее узнал про сетевой сервис Captive portal, который для этого и был создан. Как это работает?
Айось, после подключения к вайфаю, делает первый запрос на какой-нибудь captive-check.apple.com, и если получает ожидаемый ответ, то считает, что интернет доступен. Если ответ неожиданный — показывает специальное окно, в котором загружается страница логина. В Старбаксе, например, именно так.
Но разработчики авторизации в метро специально [1, 2, 3] пропускают запрос на каптив-портал, и айось получает ожидаемый успешный ответ. Но если после этого, вы пытаетесь открыть любой сайт, то вместо него вы все равно получаете страницу авторизации! И новости про Coбянинa, конечно.
Короче, я считаю, что это неправильно, и приложение отлично с этим справляется!
Open Source! [BY NC SA]