Ubuntu UA

Загальні розділи => Програмування => Тема розпочата: Exo_Ist від 2016-03-25, 19:33:56

Назва: Автоматизация OpenVPN
Відправлено: Exo_Ist від 2016-03-25, 19:33:56
Привет всем,

Долго тянуть не буду и сразу к делу....
Я некоторое время назад создал скрипт, который упращает работу с OpenVPN. Нужно просто его запустить и в интерактивном режиме выбрать нужный/подходящий конфигурационный файл...

Структура проекта:
OpenVPN   <-- Весь проект лежыт здесь
├── OpenVPN.desktop   <-- Ярлык на рабочий стол
├── openvpn.png   <-- Картинка для ярлыка
├── openvpn_start-stop.sh   <-- сам скрипт
├── update_servers.sh   <-- скрипт для обновления серверов/конфигов
└── vpn   <-- место хранения конфигов
    ├── how_to_use.txt
    ├── jp_vpngate_vpn481151105.opengw.net_udp_1780.ovpn   <-- конфиг1
    ├── us_vpngate_54.201.110.154_udp_1194.ovpn   <-- конфиг2
    ├── us_vpngate_sctcable.opengw.net_udp_1194.ovpn   <-- конфиг3
    └── us_vpngate_vpnchicago10.opengw.net_udp_1194.ovpn   <-- конфиг...


Как ето выглядит на деле...
1) Запуск
(http://storage1.static.itmages.ru/i/16/0325/s_1458929324_4037226_6a9c0b9ac1.png) (http://itmages.ru/image/view/4050849/6a9c0b9a)

2) Выбор страны
(http://storage5.static.itmages.ru/i/16/0325/s_1458930308_7876014_bafc24d2d4.png) (http://itmages.ru/image/view/4050914/bafc24d2)

3) Выбор конфига
(http://storage8.static.itmages.ru/i/16/0325/s_1458930355_1452853_e0e50a948d.png) (http://itmages.ru/image/view/4050917/e0e50a94)

4) Закрываем терминал или оставляем как есть (если нажать любую клавишу то работа прервется)...
(http://storage3.static.itmages.ru/i/16/0325/s_1458930448_8934835_c17635516e.png) (http://itmages.ru/image/view/4050921/c1763551)

5) Остановка
(http://storage1.static.itmages.ru/i/16/0325/s_1458929324_4037226_6a9c0b9ac1.png) (http://itmages.ru/image/view/4050849/6a9c0b9a)
(http://storage5.static.itmages.ru/i/16/0325/s_1458930470_4246033_1afb8139ac.png) (http://itmages.ru/image/view/4050923/1afb8139)

Что нужно сделать?...
А для полного комфорта нужно, чтобы каждый раз при запуске скрипта обновлялись конфигурационные файли, так как они не ввечны (старые удалялись, а новые парсились и создавались). Я использую открытую платформу, где добрые люди делятся ими (http://www.vpngate.net/en/ (http://www.vpngate.net/en/)). И, как по класике, там есть поддержка для всего кроме Линукса, но... Разработчики сделали CSV список который можно парсить и использовать в благих целях: http://www.vpngate.net/api/iphone/ (http://www.vpngate.net/api/iphone/)
(http://storage2.static.itmages.ru/i/16/0325/s_1458931077_9144307_7ef6315cc4.png) (http://itmages.ru/image/view/4051014/7ef6315c)
Так как я никогда не парсил CSV список и сам ето бистро сделать не могу (нужно искать примери в нете, пробовать), и поетому прошу о помощи у вас. В конечном результате должна получится куча файликов в папке "vpn", с фиксированим именем (формат: страна_любое-название.ovpn), которие в свою очередь будут использованы в дальнейшем скриптом.
И второе, просмотреть весь код в целом, так как я не програмист и тонкостей не знаю, может нужно чтото переделать, доработать или оптимизировать.

В окончательном виде оскрипт будет полностью автономен, удобен, полезен многим!

P.S."Я пользуюсь им для запуска Spotify".
Назва: Re: Автоматизация OpenVPN
Відправлено: andriyshel від 2016-07-15, 20:45:50
Я колись цікавився цією темою  але дуже поверхнево.
Спробуйте подивитися у бік спеціализованих консольних утиліт для обробки csv. Їх можна буде викликати з вашого скрипта
csvtool  https://github.com/Chris00/ocaml-csv
csvfix http://neilb.bitbucket.org/csvfix/


Цитувати
Я пользуюсь им для запуска Spotify".


Це оффтопік однак Google play не хочете спробувати? Він офіційно доступний в Україні.