Size: a a a

Wi-Fi в метро

2020 December 16
Wi-Fi в метро
399-я сборка #master!

#master!

* Снова изменён приоритет адресов DNS при активном Private DNS. Это не помогло исправить ошибку UnknownHostException, но новый метод в любом случае чуть лучше. Это изменение уже было в ветке privatedns - теперь та ветка будет удалена;

* Дополнен лог фонового процесса. Теперь в логе будет точно видно, почему процесс запустился или не запустился. Также теперь можно будет легко различать события Wi-Fi, полученные постоянным фоновым процессом или статичным ресивером;

Активные тесты:
+ Сравнение эффективности динамического и статичного ресиверов событий Wi-Fi;

Чтобы тест сработал, вам нужно включить постоянный фоновый процесс (главное меню - Постоянный фоновый процесс) и вступить в программу тестирования (главное меню - Отладка - Участие в тестировании). Дальше приложение будет само сравнивать два метода и в итоге отправит мне только один отчёт.


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2020 December 17
Wi-Fi в метро
400-я сборка #master! 🎉

* Клиент для проверки Gen204 теперь инициализируется в начале каждого подключения. Это должно исправить ошибку UnknownHostException при включённом Private DNS (по крайней мере я на это надеюсь);


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 March 24
Wi-Fi в метро
401-я сборка #master!

#master!

Сегодня приложение перестало работать в метро Москвы. В этой сборке я попробовал исправить алгоритм, опираясь на присланные логи и дампы.

* Страница авторизации в метро Москвы переехала на новый адрес: auth.wi-fi.ru/ (была auth.wi-fi.ru/metro);
* Регулярные выражения в MosMetroV2WV обновлены для правильной обработки нового адреса;
* Обновлена ссылка на группу Telegram (группа осталась на месте, просто приглашение устарело);


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 March 25
Wi-Fi в метро
402-я сборка #master!

#master!

Сегодня примерно в 13:45 приложение перестало работать в Санкт-Петербурге. Изменение почти то же, что и вчера в Москве: поменялся адрес первой страницы авторизации с /spb/new на просто /spb.

Эта сборка должна исправить алгоритмы MosMetroV2 и MosMetroV2WV. Если работоспособность обоих исправлений подтвердится, то сделаю быстрый релиз, а то релизная версия уже вообще не работает.


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
Wi-Fi в метро
403-я сборка #master!

#master!

Немного подправил регулярное выражение в MosMetroV2WV. Алгоритм не ожидал, что в конце адреса страницы авторизации может быть слеш (/spb/? вместо /spb?). Это было наследие от предыдущей версии алгоритма, где адрес всегда был /auth?.

Как только получу лог успешного подключения с помощью MosMetroV2WV в Санкт-Петербурге, сразу же будет релиз :)


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
Wi-Fi в метро
404-я сборка #master!

#master!

* Релиз 2.2

Пост в ВК: https://vk.com/wifi_v_metro?w=wall-113596028_6494

P.S. Пришлось сделать новую сборку, т.к. код версии сменился из-за релиза.


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 March 27
Wi-Fi в метро
Напоминание: Если у вас не работает автоматическое подключение, проверьте разрешения. Доступ к местоположению нужно разрешить в любом режиме, чтобы система сообщала приложению настоящее название сети Wi-Fi.

Если это не помогло, попробуйте также включить постоянный фоновый процесс в главном меню. Когда он активен, система будет постоянно считать, что приложение используется (по крайней мере так оно работает на эмуляторе и Oxygen OS).

Если же и это не помогло, то лог приложения может помочь, так как в нём должна быть вся информация о причине:
1) есть ли вообще сообщения о состоянии Wi-Fi;
2) если есть, то как получены: обычным способом (static) или через постоянный процесс (dynamic);
3) какое название сети сообщила система;
4) почему подключение запустилось или не запустилось;
5) с каким результатом оно завершилось;
источник
2021 March 30
Wi-Fi в метро
405-я сборка #master!

#master!

* Алгоритм MosMetroV2WV снова отключён. Вы по-прежнему можете включить его обратно через настройки, но он сейчас работает не очень стабильно. Я решил его выключить, потому что из-за него поступает очень много жалоб, а особой причины для его использования сейчас нет.

* [Android 9+] Теперь приложение проверяет наличие разрешений на геолокацию при каждом запуске.

Это необходимо по следующим причинам:
1) Без разрешения на геолокацию приложение не может узнать название текущей сети Wi-Fi;
2) Если выдать разрешение "только во время использования", то автоматическое подключение будет работать, но только при активном постоянном фоновом процессе (т.е. с постоянным уведомлением);
3) А вот если выдать разрешение "в любое время", то постоянный фоновый процесс не нужен, приложение проснётся само;

То есть теперь без разрешения на геолокацию нельзя будет включить "Автоматическое подключение", а без разрешения на фоновую геолокацию нельзя будет выключить постоянный фоновый процесс.

Советую также после обновления открыть главное меню и проверить, что "Автоматическое подключение" включено. Если это так, то всё должно работать 👍


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 April 02
Wi-Fi в метро
406-я сборка #master!

#master!

Мне прислали несколько дампов из разных сегментов: пригородные поезда, МЦД и один с новым алгоритмом из метро Москвы. Из них получилось следующее:

* Теперь в Москве используется только одна модификация MosMetroV2, а не две (были отдельные для метро и МЦК/МЦД/ЦППК);
* Должно заработать подключение с новым алгоритмом от Ruckus Wireless (местами встречается в метро);
* Дампы с ЦППК и МЦД выглядят абсолютно одинаково и полностью совпадают с текущим алгоритмом, так что приложение должно там работать;

Также я снова активировал автоматическую отправку отчётов для следующих ситуаций:
* Приложение столкнулось с неизвестной модификацией алгоритма MosMetroV2;
* В метро попался сегмент с модификацией Ruckus Wireless;

Вы можете принять участие в автоматическом сборе отчётов, включив первые три пункта в меню "Отладка".

Если вы часто бываете на МЦК, то дамп оттуда тоже был бы очень полезен. Я давно не проверял ту сеть, и, судя по статистике, приложение там давно не работает. Вот инструкция по сбору дампа (root не требуется): https://git.io/JYoSQ


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 April 07
Wi-Fi в метро
407-я сборка #master!

#master!

Наконец-то прошёлся по мелочам, которые давно меня мучали :)

* Подключение на МЦК должно заработать как надо, а не с 3-й попытки. Очень долго копался в дампах, пока не заметил, что ответы у .../auth/check и .../auth/init, которые во всех остальных сегментах совпадают, на МЦК отличаются. Приложение определяло успех авторизации по ответу check, а на МЦК он всегда возвращает ошибку;

* Попробовал исправить сообщение о необходимости регистрации в сети. В последнее время мне присылают много логов, где устройство просто не проходило регистрацию, из-за чего приложение ничего не могло сделать. В алгоритме MMV2 определение теперь происходит по ответу .../auth/init, а в MMV2WV - по попаданию на страницу /identification;

* Немного почистил лог MMV2 - от полного кода страницы авторизации уже давно толку нет. Зато вот ответ .../start может быть полезен для понимания состояния сессии;

* Если у вас включён постоянный фоновый процесс, то теперь его можно быстро переключать с виджета (того же, что и раньше);

* Опции "Автоматическое подключение" и "Постоянный фоновый процесс" снова можно переключать без предоставления доступа к местоположению. В этом нет особого смысла, и приложение вас об этом предупредит;

* Приложение больше не запрашивает разрешения без предупреждения - при переключении первых двух пунктов в главном меню сначала покажется диалог с объяснением;

* Теперь приложение корректно обрабатывает вариант "Запретить и больше не спрашивать" при запросе разрешения на геолокацию. При необходимости повторного запроса оно откроет настройки с разрешениями вместо прямого запроса;

* Добавил QIWI Кошелёк в опции донатов (Главное меню - Поддержать). Давно надо было это сделать, так как много раз уже меня об этом просили. Оказалось, что в QIWI есть возможность создания страниц-визиток, как на ЮMoney, и даже есть просто перевод по нику;


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 April 14
Wi-Fi в метро
Сеть Lastochka.Center

Несколько дней назад мне прислали 2 дампа из Ласточек. Судя по всему, на них работают два разных провайдера, поэтому мне нужно ещё 2 дампа для получения полной информации об обоих алгоритмах.

Если кто-нибудь часто ездит на Ласточках и пользуется сетью Lastochka.Center, то вы можете помочь мне добавить их поддержку в приложение :)

---

Текущее состояние:

* Ласточка Комфорт (auth.lastochka.center):
- ✅ Успешный вход - алгоритм добавлен в ветке lastochka, ещё не проверялся
- 🟥 Регистрация

* Ласточка Экспресс (auth.szimc):
- 🟥 Успешный вход
- ✅ Регистрация

---

Как собрать недостающую информацию:

Для обоих вариантов используется эта инструкция (root не требуется).

* Успешный вход: Нужно просто выполнить всё в том порядке, как написано в инструкции;

* Регистрация: Если вы ещё не зарегистрированы в той сети, нужно включить сбор дампа и дойти по инструкции до страницы регистрации (саму регистрацию выполнять не нужно). Если вы уже зарегистрировались там, то можно попробовать включить/выключить (в зависимости от текущего состояния) "Случайный MAC-адрес" в настройках сети Wi-Fi - тогда сеть не узнает устройство и предложит пройти регистрацию.

---

Также я сделал тестовую сборку для Ласточки Комфорт. Она пока что не проверялась на работоспособность и не умеет сообщать о необходимости регистрации (для этого и нужен второй дамп). Вы можете скачать её через приложение, выбрав ветку lastochka, или по этой ссылке: APK.
источник
2021 April 23
Wi-Fi в метро
408-я сборка #master!

#master!

* Ручное подключение стало более полноценным. В случае успешного подключения в ручном режиме, фоновый процесс не завершается и продолжает отслеживать доступ в интернет и ловить midsession. Процесс завершится автоматически при прерывании соединения с Wi-Fi.

Это новое поведение может оказаться полезным для тех, у кого не работает автоматическое подключение - теперь достаточно один раз за поездку запустить приложение с ярлыка.

Если вам нужно, чтобы процесс завершался сразу, как было до этого обновления, снимите галочку "После ручного подключения" в "Настройках подключения".

* Немного почистил базовый алгоритм MosMetroV2. Там был лишний параметр в запросе к **/init, что пока не вызывало проблем, но могло вызвать их в будущем;

* WebView теперь умеет работать с POST-запросами. Это означает, что в алгоритмах *WV теперь не нужно вручную прописывать все адреса, на которые должны уходить POST-запросы. Также это позволит использовать WebView для более сложных алгоритмов, где в теле POST-запроса передаются какие-либо данные. По сути, для реализации алгоритмов на WebView теперь нужны лишь первое перенаправление, условие выхода и CSS-селекторы кнопок, на которые надо нажимать;


APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 April 30
Wi-Fi в метро
2-я сборка #lastochka!

#lastochka!

Я писал об этой ветке в одном из предыдущих постов.

* Добавлен новый алгоритм HotspotSzimc для Ласточек;
* Исправлен первый шаг в алгоритме AuthLastochkaCenter;
* Приложение отправит автоматический отчёт о результатах работы этих алгоритмов (если у вас включена соответствующая опция);

Чтобы принять участие в автоматизированном тестировании, вы можете установить первые три галочки в меню "Отладка". После этого достаточно лишь пользоваться приложением на Ласточках, и оно само будет отсылать мне логи успешного подключения или сообщения об ошибках.

Когда станет известно, что оба алгоритма работают, я перенесу эти изменения в основную ветку 👍

---
APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=lastochka
источник
2021 May 09
Wi-Fi в метро
3-я сборка #lastochka, 2-я сборка #hotspot и 4-я сборка #experimental!

#lastochka, 2-я сборка #hotspot и 4-я сборка #experimental!

* HotspotSzimc: Добавил поддержку относительных ссылок при парсинге meta-перенаправлений;

* HotspotWifiRu: Исправил извлечение формы авторизации из страницы;

* HotspotWifiRu: Включил автоматическую отправку отчётов, как для алгоритмов из ветки #lastochka (вам по-прежнему нужно включить "Участие в тестировании" в меню "Отладка");

* ВАЖНО: В ветке #experimental "Участие в тестировании" теперь включено по умолчанию. Вы можете его выключить в меню "Отладка", но весь смысл этой ветки как раз в тестировании;

Напоминаю, что ветка #experimental снова доступна, и в ней комбинируются все остальные экспериментальные ветки (в данный момент это httpclient, lastochka и hotspot). Если хотите проверить всё и сразу, то это то, что надо :)

---
lastochka: https://mosmetro.duckdns.org/api/v1/download.php?branch=lastochka
hotspot: https://mosmetro.duckdns.org/api/v1/download.php?branch=hotspot
experimental: https://mosmetro.duckdns.org/api/v1/download.php?branch=experimental
источник
2021 May 19
Wi-Fi в метро
409-я сборка #master!

#master!

* Релиз 2.3;
* Исправлен массовый вылет из-за ошибки в MosMetroV2;

Пост в группе ВК: https://vk.com/wifi_v_metro?w=wall-113596028_6565

---
APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 May 20
Wi-Fi в метро
4-я сборка #lastochka, 5-я сборка #experimental!

#lastochka, 5-я сборка #experimental!

Судя по автоматическим отчётам, приложение дважды успешно подключилось в сети Lastochka.Center с помощью алгоритма AuthLastochkaCenter.

А вот в алгоритме HotspotSzimc, который тоже встречается в этой сети, вылез какой-то баг с библиотекой OkHttp. На последнем запросе соединение почему-то внезапно разрывается. Я добавил туда пару повторных попыток - посмотрим, что получится.

Также все экспериментальные ветки (кроме hotspot) обновлены до версии 2.3. Так между ними можно будет быстро переключаться без необходимости удаления приложения.

С веткой hotspot пока не задалось. Информации из лога оказалось недостаточно - та форма на странице не работает. Так что если вы пользуетесь Wi-Fi в наземном транспорте и встречаете авторизацию с адресом hotspot.wi-fi.ru, вам нужно будет собрать дамп подключения по этой инструкции.

---
lastochka: https://mosmetro.duckdns.org/api/v1/download.php?branch=lastochka
experimental: https://mosmetro.duckdns.org/api/v1/download.php?branch=experimental
httpclient: https://mosmetro.duckdns.org/api/v1/download.php?branch=httpclient

Примечание: описания всех веток есть прямо в приложении (Главное меню - Ветка обновления).
источник
2021 May 30
Wi-Fi в метро
410-я сборка #master, 5-я сборка #lastochka, 6-я сборка #experimental!

#master, 5-я сборка #lastochka, 6-я сборка #experimental!

* Изменения из ветки #httpclient интегрированы в #master. С ними проще писать новые алгоритмы, WebView будет занимать меньше памяти на страницах с тяжёлым контентом, а также это исправляет редкий вылет при попытке распарсить JSON из пустого ответа;

* Ветка #hotspot пока что удалена - без дампов из той сети ничего не получилось. Там всё не так просто, как казалось (просто отправить форму недостаточно);

* В #lastochka обновлён алгоритм HotspotSzimc - там обнаружено новое перенаправление, и я попробовал поправить алгоритм, пока мне не прислали новый дамп. По идее должно сработать, но точно не узнаем, пока не проверим;

* В #experimental, как обычно, скомбинированы все изменения, перечисленные выше 👍

---
master: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
lastochka: https://mosmetro.duckdns.org/api/v1/download.php?branch=lastochka
experimental: https://mosmetro.duckdns.org/api/v1/download.php?branch=experimental
источник
2021 May 31
Wi-Fi в метро
411-я сборка #master!

#master!

* OkHttp обновлён до версии 4.9.1 - это может исправить некоторые странные ошибки при отправке запросов;
* Теперь приложение поддерживает только Android 5.0 и новее. Поддержку Android 4 пришлось прекратить, так как OkHttp сделал то же самое;

Если вы до сих пор используете Android 4.x, я создал для вас отдельную ветку #legacy. Не могу обещать, что она получит ВСЕ новые функции, но я постараюсь держать алгоритмы в актуальном состоянии.

Известные проблемы на Android 4.0:
1) При подключении с помощью WebView приложение не может передать браузеру заголовки и код HTTP-ответа, из-за чего многие вещи могут не работать (например, CORS);
2) После успешного подключения приложение не может сообщить системе, что состояние подключения изменилось, т.е. система некоторое время продолжает думать, что доступа в интернет нет;

---
master: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
legacy: https://mosmetro.duckdns.org/api/v1/download.php?branch=legacy
источник
Wi-Fi в метро
412-я сборка #master!

#master!

Почти сразу после выхода 411-й сборки мне прислали лог, где была аналогичная ошибка. Обновление OkHttp помогло лишь частично - изменился текст ошибки и по нему оказалось проще найти больше информации.

* Отключён протокол HTTP/2, вместо него теперь используется HTTP/1.1. В обсуждениях этой проблемы предполагают, что ошибка связана с неправильно настроенными серверами, находящимися под высокой нагрузкой. HTTP/1.1 должен лучше работать в таких ситуациях;

* Отключён Connection Pooling - теперь приложение будет закрывать соединения TCP практически сразу после завершения запроса. Это может помочь с ошибками на Ласточках и при нестабильном соединении с Wi-Fi;

* В анонимную статистику добавлена информация о версии Android. Без Google Play стало сложно определять, какие версии наиболее популярны, а какие почти не используются;

---
APK: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
источник
2021 June 01
Wi-Fi в метро
413-я сборка #master, 6-я сборка #lastochka, 7-я сборка #experimental!

#master, 6-я сборка #lastochka, 7-я сборка #experimental!

Сегодня, примерно в 15:10, в метро Москвы немного изменился алгоритм. В начальном перенаправлении появились кавычки, к чему парсер в приложении оказался не готов. Пока что точно неизвестно, единственное ли это изменение, но я хотел попытаться максимально быстро исправить работу приложения.

Так как проблема, похоже, глобальная, я жду от вас подтверждения, что новая сборка работает. После этого я сделаю новый релиз в ветке play. Так что присылайте логи из метро вне зависимости от результата :)

Также я снова вернул поддержку Android 4. Переход случился слишком быстро, к нему нужно лучше подготовиться. Например, желательно, чтобы последняя сборка master для Android 4 сама предлагала перейти на legacy, когда простое обновление станет невозможным. Ветка legacy, соответственно, пока отключена (её всё-равно только 3 раза скачали пока что).

---
master: https://mosmetro.duckdns.org/api/v1/download.php?branch=master
lastochka: https://mosmetro.duckdns.org/api/v1/download.php?branch=lastochka
experimental: https://mosmetro.duckdns.org/api/v1/download.php?branch=experimental
источник