# Wi-Fi в метро (python-версия)

Данный скрипт позволяет автоматизировать подключение к интернету в сетях московского (и не только) общественного транспорта. Скрипт написан на Python, что позволяет запускать его не только на компьютерах, но и на мобильных устройствах.

## Поддерживаемые алгоритмы

В данный момент поддерживается только алгоритм MosMetroV2 (`auth.wi-fi.ru`), созданный компанией МаксимаТелеком и являющийся наиболее распространённым в сетях общественного транспорта в Москве и других городах России. Если вы видите сеть с названием MT_FREE, то этот скрипт в 99% случаев вам подойдёт.

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

### Установка через pip

Сначала убедитесь, что `pip` и `git` установлены в вашей системе. Если нет, то вы можете установить их с помощью этой команды (пример для Debian-based систем):

```
sudo apt-get install git python3-pip
```

Теперь можно установить сам скрипт. Если вы хотите установить его для всех пользователей, запустите команду от имени пользователя `root`.

```
pip3 install git+https://github.com/mosmetro-android/mosmetro-python.git
```

## Использование

Для авторизации в сети MT_FREE просто запустите скрипт. Он сам определит совместимость с текущей сетью и при отсутствии доступа в интернет попытается авторизовать данное устройство.

```
python -m mosmetro
```

Примечание: При первом подключении устройства всё-же необходимо пройти авторизацию через SMS или ГосУслуги для регистрации именно этого устройства в сети. После этого скрипт будет нормально работать.

### Автоматизация на Android

Запуск данного скрипта можно автоматизировать в Android при помощи двух программ: QPython (в качестве исполняющей среды Python) и Tasker (или любой программы, умеющей выполнять shell-команды автоматически).

Для большей надёжности и более простой установки вы можете воспользоваться приложением [Wi-Fi в метро](https://github.com/mosmetro-android/mosmetro-android), которое использует тот же алгоритм, но в оптимизированном для Android виде.

### Автоматизация в Linux

Для автоматического запуска данного скрипта при подключении к сети можно добавить ссылку на установленный скрипт в директорию **/etc/network/if-up.d/**. Проще всего это сделать следующим образом:

* Установить пакет через PIP с правами администратора (пример есть выше)
    * `sudo pip install ...`
* Сделать ссылку на лаунчер скрипта
    * `sudo ln -s $(which mosmetro) /etc/network/if-up.d/`

Скрипт будет запускаться при подключении к любой сети, но это не является большой проблемой, так как перед полноценной попыткой подключения производится быстрая проверка на наличие поддерживаемой сети.

## Лицензия

Данный проект распространяется под лицензией GNU General Public License версии 3 или новее. Вы можете ознакомиться с полным текстом лицензии по [этой](./LICENSE) ссылке.

Исходный код предоставлен для ознакомления. Автор не несёт никакой ответственности за его использование и возможные нарушения Правил Пользования других сервисов.
