Содержание
У меня в блоге уже есть материал про Bitmask для Android, но этим чудесным VPN сервисом можно пользоваться не только на мобильных платформах, но и на десктопе. Для Arch Linux в AUR есть скрипт сборки официального клиента Bitmask, но лично я люблю минималистичность, и держать отдельное приложение для выполнения всего одного действия (подключения к VPN) я считаю чересчур излишним. Для таких как я существует простой python-скрипт, представляющий из себя генератор файлов OVPN-конфигураций Bitmask VPN, которые быстро и просто можно импортировать в свой Linux и пользоваться Bitmask не перегружая систему лишними приложениями.
Установка зависимостей
Прежде всего нужно установить python-пакеты, которые необходимы для работы скрипта. Делается это с помощью системы управления python-пакетами pip. У кого не установлен, ставим и устанавливаем требуемые зависимости:
pip3 install requests pyopenssl
Ничего сложного. Идём далее.
Получение скрипта
Теперь загрузим скрипт. Делается это при помощи git. Опять же, у кого не устаеновлен в системе git — ставим. Получаем bitmask-openvpn-generator:
git clone https://gitlab.com/nitrohorse/bitmask-openvpn-generator.git
Готово. Приступаем к созданию конфигураций OVPN.
Генерация OVPN-конфигов Bitmask
Переходим в каталог со скриптом и запускаем его от имени своего пользователя, root не нужен.
cd bitmask-openvpn-generator
python3 script.py
Начнётся проверка отпечатков сертификатов сетей Riseup, получение адресов серверов и т.д. Когда данный этап будет завершён, скрипт оповестит вас строчкой «Ready!» и выведет список доступных для подключения VPN серверов Bitmask.
Выбираем физически ближайший сервер вводом его номера и нажимаем ENTER. Далее выбираем протокол соединения: TCP/UDP (UDP немного быстрее, но большиенство серверов поддерживает только TCP), вводим номер и подтверждаем ввод нажатием ENTER. Далее спросят порт, обычно 443, вводим номер пункта и жмём ENTER. Готово! Скрипт оповестит нас об успешной генерации конфига сообщением:
Generating OpenVPN configuration and writing to bitmask_ovpns/bitmask-***.ovpn
Done!
Cleaning client certificate and private keys...
Сгенерированный конфиг будет лежать в подкаталоге bitmask_ovpns. Теперь его можно импортировать в систему. в KDE Plasma 5 это, например, делается так: жмём правой кнопкой по значку менеджера сети, выбираем пункт «Настроить сетевые соединения…«, внизу списка всех соединений жмём на иконку «+» (добавить) выбираем в самом низу «Импортировать VPN соединение…» и выбираем созданный скриптом конфиг. Готово! Теперь для того, чтобы подключиться к VPN Bitmask нужно выбрать только что созданный пункт в сетевых подключениях. Кстати, при желании можно добавить несколько VPN серверов (хоть все).
Если скрипт не работает
В первый раз данный скрипт у меня отработал, а спустя месяц начал отваливаться с ошибкой. Не вдаваясь в подробности, это из-за VPN провайдера Calyx. Исправить можно удалив в файле providers.json упоминание о Calyx. Вот содержание уже исправленного файла, можно просто заменить им всё, что есть в providers.json:
{"provider_info_last_checked": "2021-09-19 09:34:16.115721", "providers": [{"name": "riseup", "domain_url": "https://riseup.net", "provider_path": "/provider.json", "configs_path": "/1/configs.json", "api_uri": "https://api.black.riseup.net:443", "api_version": "3", "ca_cert_fingerprint": "SHA256: a5244308a1374709a9afce95e3ae47c1b44bc2398c0a70ccbf8b3a8a97f29494", "ca_cert_uri": "https://black.riseup.net/ca.crt"}]}
Далее сохранить и повторить запуск python3 script.py.
Спасибо за внимание! Пользуйтесь СПО.