czwartek, października 19, 2017

Jak zrobić plik OVPN (dla OpenVPN) w wersji unified format?

Dziś próbowałem przerzucić pliki konfiguracyjne mojego VPNa na iPada Pro...

Przez iTunes się nie udało i naprawdę cieszę się, że nie używam tego softu.
To postanowiłem przez HTTP.

Ale co pobrało plik ovpn to płakało, że nie może pobrać ani certyfikatu dla centrum autentykacji, ani klucza klienta, ani samego certyfikatu.

Myślałem, że to przez to, że serwuję to po HTTP.
Więc zacząłem walczyć z konfigurowaniem HTTPS.

Zrobiłem na Tomcacie, ale nadal nie działało.
Przy okazji przewalczyłem tworzenie nowego certyfikatu i parę innych rzeczy.

Firewall mi blokował połączenia. Przewalczyłem. Dodałem wyjątek i nic, nadal.....

Wtedy do mnie dotarło, że drań by chciał wszystko w jednym pliku, a nie w kilku ;-)

Ja miałem certyfikat dla centrum autnentykacji w pliku ca.crt, certyfikat klienta w client1.crt i klucz klienta w client1.key.... no i sam plik ovpn...

Stąd jakby ktoś chciał to tutaj skrypt, który wyprodukuje plik ovpn na podstawie takiego rozbitego:

import sys

def load(fName):
return "".join(open(fName).readlines())

lines = open(sys.argv[1]).readlines()

f=open("unified_"+sys.argv[1],"w+")

keys = ["ca","cert","key"]

for line in lines:
found=False
    line=line.strip()
    for key in keys:
if line.find(key)==0:
s = line.split(" ")
if len(s)==2 and s[0]==key:
found=True
                f.write("<"+key+">\n")
                f.write(load(s[1]))
f.write("</"+key+">\n")
if not found:
f.write(line+"\n")
f.close()

U mnie działa :-)

Żeby użyć zapisujemy sobie skrypcik jako np. build.py i robimy z linii poleceń:

python build.py naszPlik.ovpn

Jako wynik w tym samym folderze pojawi się plik unified_naszPlik.opvn.


Podobne postybeta
Jak walczyć z gigantycznym kodem w Java'ie, część 1 ;-)
Zabawy z Chrome, chrome.storage.sync jest wielkie :-)
Python z urllib = najlepszy menadżer pobierania ;-)
SSD a programowanie
Od Buffy do egzaminu językowego ;-)

Brak komentarzy:

Prześlij komentarz