Автоматическое подключение VPN на Android (и немного iOS)

magomaev
Эппс и так далее
4 min readDec 29, 2015

И так. В метро есть хороший Wi-Fi, бывают косяки, но в целом удовлетворительно. Никогда и нигде не подключаюсь к общественным Wi-Fi сетям без острой необходимости и без отсутсвия альтернатив (режим модема), ибо так и вижу, как прыгнул в контейнер с мусором. Поэтому обратимся за помощью к Durex, то есть к VPN. И автоматизируем весь этот процесс «вхождения», ибо мне влом специально заходить и подключатсья к VPN, а потом его отключать.

VPN

Сервисов куча на любой цвет и вкус, на первых ссылках гугла найдете их все. Но меня все они не устроили по одной простой причине. Цена. Минимум 3$ за месяц, чаще 5$, реже 7$ и 9$. Брать годовые тарифы тоже не вариант, с текущим курсом все равно выходит жирно, чтобы полситать твиттер в метро около получаса-часа в день.

Альтернатива 1. Поднять дома VPN. Но у меня домашний ПК на OS X, а как оказалось, OS X Server не хочется «цеплять» Android. Проблема массовая, решения нет.

Альтернатива 2. Поднять Windows в Parallels/VMware на OS X и на винде поднять VPN. Но это уже слишком костыльно выходило и держать вируталку ради VPN и отъедать ресурсы компа не хотелось, решил оставить на последний вариант.

Альтернатива 3. Есть роутер Asus и для него доступна прошивка от Padavan. Прошил, нашел вкладку VPN сервера, нашел инструкцию, как поднять на роутере VPN сервер OpenVPN. Оказался криворуким и забил на это.

Альтернатива 4. Благодаря альтернативе 3 вспомнил о существование OpenVPN. В общем, пока туда-сюда «ползал» подвел итог, что все равно нужен сервер где-то поднимать, а это либо у себя делать (привет кривые руки), либо DigitalOcean и тому подобные штуки за $ каждый месяц.

Альтернатива 5. Однако на OpenVPN нашелся сервис www.privatetunnel.com от создателей OpenVPN.

Если кратко, то:

  1. Доступен на всех платформах.
  2. Сервера в Америке и в Европе.
  3. И самое главное и самое лучшее: 12$ за 100 ГБ трафика… Без временных сроков! Только когда израсходуешь пакет, тогда снова и заплати. Шикарный вариант. Для метро полистать твиттер и перекинуться сообщениями 100 гигабайт хватит на полгода минимум, если не на пару лет.

В итоге www.privatetunnel.com самый лучший вариант, если вам нужен VPN, но платить ежемесячно от 500р и более слишком.

Автоматическое подключение VPN

  1. Качаем на телефон:

Tasker https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm или Automate (поддерживает плагины Tasker) https://play.google.com/store/apps/details?id=com.llamalab.automate

OpenVPN for Android https://play.google.com/store/apps/details?id=de.blinkt.openvpn

Плагин OpenVPN https://play.google.com/store/apps/details?id=com.ffrog8.openVpnTaskerPlugin

2. Оплачиваете пакет на www.privatetunnel.com, выбираете нужный сервер и скачиваем профиль https://www.privatetunnel.com/phome/user/#/DownloadProfile

3. Открываете файл в любом редакторе, я открыл Atom’ом.

4. Создаете 4 файла: tls.key, ca.crt, usr.crt, usr.key

5. В открытом файле (сервер.ovpn) находите крякозябры в следующих блоках: <ca> </ca> и все что внутри <ca> </ca> вы копируете и вставляете в созданный вами файл ca.crt. И так с другими блоками <cert>..</cert> > usr.crt, <key>..</key> > usr.key, <tls-auth>..</tls-auth> > tls.key

Если что, топайте вот сюда www.privatetunnel.com/phome/user/#/Help

5. Файлы кидаете на телефон и запускаете OpenVPN for Android

6. При создание VPN нужно выбрать «Тип» — Логин-пароль + Сертификаты

И выбирать наши сертификаты:

  • CA сертификат — ca.crt
  • Сертификат клиента — usr.crt
  • Ключ сертификата клиента — usr.key

Имя пользователя и пароль — логин и пароль от www.privatetunnel.com

На вкладке «Авторизация/шифрование» включить «Ожидать TLS сертификат от сервера» и «Использовать аутентификацию TLS». Тыкнуть на «Файл аутентификации TLS» и выбрать tls.key.

Все, VPN подключен, можно кликать на сервер и подключаться.

Если нужно автоматизировать процесс подключение, то едем дальше.

7. Создаем профиль подключения к VPN в Tasker. Жмем+ > Состояние > Сеть > Подключено к Wi-Fi сети > SSID (важно!) не выбираем из списка, а вбиваем название сети ручками — MosMetro_Free, ибо в поезде несколько роутеров и выбрав сеть из списка, вы выберите конкретно данный роутер, тогда Tasker не сможет подключиться, так как MAC различаются, так что вбивает название, а не выбираем.

Далее создаем задачу. Жмем + > Вбиваем любое имя, например Metro ON> + > Плагин > OpenVPN > Жмем на карандаш справа от конфигурцаии > Выбираем Connect using profile.

8. Создаем профиль отключения от VPN. Жмем+ > Состояние > Сеть > Подключено к Wi-Fi сети > SSID (важно!) не выбираем из списка, а вбиваем название сети ручками. И ниже ставить галочку напротив «Если не», то есть «если не подключено к Х, то выполняем задачу Y».

Создаем задачу как выше, только вместо Connect using profile выбираем Disconnect.

9 Все. Прыгаем в метро и смотрим, как включается VPN.

P.S. Нужна автоматическая авторизация в сети, то есть надо оплатить Wi-Fi в метро, чтобы VPN корректно подключался.

P.P.S. Скорости хватает для всех нужд в метро.

Касательно iOS

За многие года на iOS мне встретился только один VPN сервис, который способен сам определять какая сеть подключена и в зависимости от этого включать VPN или нет, то есть полная автоматизация процесса. Сервис называется Cloak https://www.getcloak.com, Однако, стоит он от 3$ в месяц за 5 ГБ.

Больше вариантов, как автоматизировать процесс подключения VPN на iOS мне неизвестен.

P,S Если нашли ошибку, извиняйте =)

--

--