-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathparse_ovpn_configuration_file.py
58 lines (52 loc) · 2.36 KB
/
parse_ovpn_configuration_file.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import os
from modules.servers import n_america
from modules.servers import europe
from modules.servers import nations_dict
from random import randint
from pathlib import Path
class ParseConfigurationFile:
def __init__(self):
self.configuration_files_path = str(Path(__file__).parent) + "/configs"
self.result = nations_dict
self.filelist = []
def start(self, sel, tab_index):
selection = sel
self.larger_area_check(selection)
match tab_index:
case 0:
for i in os.listdir(self.configuration_files_path):
if self.result[selection] in i:
self.filelist.append(i)
case 1:
selection = sel.replace(" ", "-")
for i in os.listdir(self.configuration_files_path):
if selection in i:
self.filelist.append(i)
length = len(self.filelist) - 1
random_server_dir = self.filelist[randint(0, length)]
original_configuration_file_lines = open(self.configuration_files_path + "/" + random_server_dir).readlines()
with open(self.configuration_files_path + "/conn.ovpn", 'w') as create_ovpn_configuration_file:
for i in original_configuration_file_lines:
if "auth-user-pass" in i:
create_ovpn_configuration_file.write(
"auth-user-pass {}/credentials\n\n".format(self.configuration_files_path))
elif "ca ca.ipvanish.com.crt" in i:
create_ovpn_configuration_file.write(
"ca {}/ca.ipvanish.com.crt\n\n".format(self.configuration_files_path))
elif "keysize 256" in i:
create_ovpn_configuration_file.write("")
else:
create_ovpn_configuration_file.write(i + "\n")
def larger_area_check(self, selection):
if selection == "North America":
for i in os.listdir(self.configuration_files_path):
for j in n_america:
if j in i:
self.filelist.append(i)
print(selection)
exit()
if selection == "Europe":
for i in os.listdir(self.configuration_files_path):
for j in europe:
if j in i:
self.filelist.append(i)