Генератор OVPN конфиков Bitmask VPN

Скрипт генерации OVPN-конфигов Bitmask VPN

У меня в бло­ге уже есть мате­ри­ал про 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.

Выбор серверов 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.

Спа­си­бо за вни­ма­ние! Поль­зуй­тесь СПО.