wire-py-reformat-14-08-2024 #9
@ -4,7 +4,7 @@
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="little fixes in Class Import">
|
||||
<list default="true" id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="fix when Filname > 17 first copy file after rename">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/wg_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/wg_func.py" afterDir="false" />
|
||||
@ -211,7 +211,31 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724416642213</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="16" />
|
||||
<task id="LOCAL-00016" summary="fix label when laat Tunnel delete and fix Tuple error in delete and Start/Stop when listbox empty">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724495688099</created>
|
||||
<option name="number" value="00016" />
|
||||
<option name="presentableId" value="LOCAL-00016" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724495688099</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00017" summary="remove a ',' in DNS Name">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724576599289</created>
|
||||
<option name="number" value="00017" />
|
||||
<option name="presentableId" value="LOCAL-00017" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724576599289</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00018" summary="fix when Filname > 17 first copy file after rename">
|
||||
<option name="closed" value="true" />
|
||||
<created>1724593165879</created>
|
||||
<option name="number" value="00018" />
|
||||
<option name="presentableId" value="LOCAL-00018" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1724593165879</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="19" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
@ -253,6 +277,9 @@
|
||||
<MESSAGE value="In FrameWidged Class else Block StrVar, this resorts reference and variable assignment together" />
|
||||
<MESSAGE value="add method init_and_report and label_empty to Class ShowAddress" />
|
||||
<MESSAGE value="little fixes in Class Import" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="little fixes in Class Import" />
|
||||
<MESSAGE value="fix label when laat Tunnel delete and fix Tuple error in delete and Start/Stop when listbox empty" />
|
||||
<MESSAGE value="remove a ',' in DNS Name" />
|
||||
<MESSAGE value="fix when Filname > 17 first copy file after rename" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="fix when Filname > 17 first copy file after rename" />
|
||||
</component>
|
||||
</project>
|
14
main.py
Normal file → Executable file
14
main.py
Normal file → Executable file
@ -85,12 +85,12 @@ class FrameWidgets(ttk.Frame):
|
||||
self.peer.config(font=("Ubuntu", 9))
|
||||
self.peer.grid(column=0, row=7, sticky="we", padx=130)
|
||||
# Listbox with Scrollbar
|
||||
self.scrollbar = tk.Scrollbar(self)
|
||||
self.scrollbar = ttk.Scrollbar(self)
|
||||
self.l_box = tk.Listbox(self, fg='#606060', selectmode='single')
|
||||
self.l_box.config(highlightthickness=0, relief='flat')
|
||||
self.scrollbar.config(command=self.l_box.yview)
|
||||
self.l_box.config(font=("Ubuntu", 12, "bold"))
|
||||
self.l_box.grid(column=1, rowspan=3, row=1, )
|
||||
self.l_box.grid(column=1, rowspan=3, row=1)
|
||||
# Tunnel List
|
||||
self.tl = ListTunnels.tl_list()
|
||||
for tunnels in self.tl:
|
||||
@ -119,6 +119,7 @@ class FrameWidgets(ttk.Frame):
|
||||
self.btn_i.grid(column=0, row=2, padx=15, pady=15)
|
||||
|
||||
def delete():
|
||||
try:
|
||||
self.select_tunnel = self.l_box.curselection()
|
||||
select_tl = self.l_box.get(self.select_tunnel[0])
|
||||
os.system('nmcli connection delete ' + str(select_tl))
|
||||
@ -130,12 +131,14 @@ class FrameWidgets(ttk.Frame):
|
||||
self.l_box.update()
|
||||
# Address Label
|
||||
ShowAddress.label_empty(self)
|
||||
ShowAddress.show_data(self)
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
# Button Trash
|
||||
self.btn_tr = tk.Button(self, image=self.tr_pic, bd=0, command=delete)
|
||||
self.btn_tr.grid(column=0, row=3, padx=15, pady=15)
|
||||
# Button Export
|
||||
self.btn_exp = tk.Button(self, image=self.exp_pic, bd=0)
|
||||
self.btn_exp = tk.Button(self, image=self.exp_pic, bd=0, command=ExportTunnels.wg_export)
|
||||
self.btn_exp.grid(column=0, row=4, padx=15, pady=15)
|
||||
# Check Buttons
|
||||
self.wg_autostart = tk.Checkbutton(self, text='Autoconnect on PC Start')
|
||||
@ -145,6 +148,7 @@ class FrameWidgets(ttk.Frame):
|
||||
|
||||
def wg_switch(self):
|
||||
self.a = TunnelActiv.active()
|
||||
try:
|
||||
if self.a == '':
|
||||
StartStopBTN.button_start(self)
|
||||
self.select_tunnel = self.l_box.curselection()
|
||||
@ -175,6 +179,8 @@ class FrameWidgets(ttk.Frame):
|
||||
# Address Label
|
||||
ShowAddress.label_empty(self)
|
||||
ShowAddress.show_data(self)
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
28
wg_func.py
Normal file → Executable file
28
wg_func.py
Normal file → Executable file
@ -1,6 +1,7 @@
|
||||
# Wireguard functions for Wire-Py
|
||||
import os
|
||||
import subprocess
|
||||
import shutil
|
||||
import tarfile
|
||||
from tkinter import filedialog
|
||||
import tkinter as tk
|
||||
|
||||
@ -46,7 +47,6 @@ class GreenLabel(tk.Tk):
|
||||
class StartStopBTN(tk.Tk):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.tl = None
|
||||
self.wg_switch = None
|
||||
self.btn_stst = None
|
||||
self.wg_vpn_start = tk.PhotoImage(file=r'icons/wg-vpn-start-48.png')
|
||||
@ -58,14 +58,6 @@ class StartStopBTN(tk.Tk):
|
||||
self.rowconfigure(0, weight=1)
|
||||
|
||||
def button_start(self):
|
||||
self.tl = ListTunnels.tl_list()
|
||||
print(len(self.tl))
|
||||
if len(self.tl) == 0:
|
||||
self.btn_stst = tk.Button(self, image=self.wg_vpn_start, bd=0, command=self.wg_switch)
|
||||
self.btn_stst.config(state=tk.DISABLED)
|
||||
self.btn_stst.grid(column=0, row=1, padx=15, pady=10, sticky="s")
|
||||
self.rowconfigure(0, weight=1)
|
||||
else:
|
||||
self.btn_stst = tk.Button(self, image=self.wg_vpn_start, bd=0, command=self.wg_switch)
|
||||
self.btn_stst.grid(column=0, row=1, padx=15, pady=10, sticky="s")
|
||||
self.rowconfigure(0, weight=1)
|
||||
@ -96,9 +88,12 @@ class ConToDict:
|
||||
finaldict = {}
|
||||
for elements in newlist:
|
||||
finaldict[elements[0]] = elements[1]
|
||||
|
||||
# end... result a Dictionary
|
||||
address = finaldict['Address']
|
||||
dns = finaldict['DNS']
|
||||
if ',' in dns:
|
||||
dns = dns[:-1]
|
||||
endpoint = finaldict['Endpoint']
|
||||
return address, dns, endpoint
|
||||
|
||||
@ -188,14 +183,15 @@ class ImportTunnel:
|
||||
pathsplit1 = pathsplit[-1]
|
||||
if "PrivateKey = " in read and "PublicKey = " in read:
|
||||
if len(pathsplit1) > 17:
|
||||
p1 = shutil.copy(filepath, os.environ['HOME'] + '/tester/')
|
||||
pathsplit = pathsplit1[len(pathsplit1) - 17:]
|
||||
os.rename(filepath, os.environ['HOME'] + '/tester/' + str(pathsplit))
|
||||
os.rename(p1, os.environ['HOME'] + '/tester/' + str(pathsplit))
|
||||
if self.a != '':
|
||||
os.system('nmcli connection down ' + str(TunnelActiv.active()))
|
||||
os.system('nmcli connection import type wireguard file ' + os.environ['HOME'] + '/tester/' +
|
||||
str(pathsplit))
|
||||
else:
|
||||
subprocess.call('cp ' + str(filepath) + ' ' + os.environ['HOME'] + '/tester/', shell=True)
|
||||
shutil.copy(filepath, os.environ['HOME'] + '/tester/')
|
||||
if self.a != '':
|
||||
os.system('nmcli connection down ' + str(TunnelActiv.active()))
|
||||
os.system('nmcli connection import type wireguard file ' + str(filepath))
|
||||
@ -230,8 +226,8 @@ class ExportTunnels:
|
||||
@staticmethod
|
||||
def wg_export():
|
||||
try:
|
||||
wg_exp = os.popen('nmcli con show | grep -iPo "(.*)(wireguard)"').read().split()
|
||||
wg_exp = wg_exp[1]
|
||||
return wg_exp
|
||||
except IndexError:
|
||||
wg_tar = os.environ['HOME'] + '/datetime'
|
||||
p_to_conf = os.environ['HOME'] + '/tester'
|
||||
shutil.make_archive(wg_tar, 'zip', p_to_conf)
|
||||
except TypeError:
|
||||
pass
|
||||
|
Loading…
Reference in New Issue
Block a user