Ubuntu UA
Загальні розділи => Програмування => Тема розпочата: 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".
-
Я колись цікавився цією темою але дуже поверхнево.
Спробуйте подивитися у бік спеціализованих консольних утиліт для обробки csv. Їх можна буде викликати з вашого скрипта
csvtool https://github.com/Chris00/ocaml-csv
csvfix http://neilb.bitbucket.org/csvfix/
Я пользуюсь им для запуска Spotify".
Це оффтопік однак Google play не хочете спробувати? Він офіційно доступний в Україні.