diff --git a/build/lib/wireguide/__init__.py b/build/lib/wireguide/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/build/lib/wireguide/logo.png b/build/lib/wireguide/logo.png deleted file mode 100644 index 9ada82d..0000000 Binary files a/build/lib/wireguide/logo.png and /dev/null differ diff --git a/build/lib/wireguide/wireguide b/build/lib/wireguide/wireguide deleted file mode 100755 index 5e85216..0000000 --- a/build/lib/wireguide/wireguide +++ /dev/null @@ -1,392 +0,0 @@ -#!/usr/bin/env python3 -""" -This is a program that can manage Wireguard Configuration graphically -""" -import configparser -import os -import re -import sys -import uuid -from socket import AF_INET - -import gi -import wx -import wx.adv - -gi.require_version("NM", "1.0") -from gi.repository import NM # pylint: disable=wrong-import-position - - -class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instance-attributes - """ - The WireGUIde wx.Frame - """ - def __init__(self, *args, **kw): - super().__init__(*args, **kw) - - self.version = 0.1 - - # Get active conns from NetworkManager - self.client = NM.Client.new(None) - self.conns = self.get_wg_conns() - self.active_conns = self.get_wg_aconns() - - # Set up for loaded configs - self.inactive_conns = get_inactive_conns() - - # create a panel in the frame - self.pnl = wx.Panel(self) - - # and create a sizer to manage the layout of child widgets - self.sizer = wx.BoxSizer(wx.VERTICAL) - self.write_to_sizer() - self.pnl.SetSizer(self.sizer) - - # create a menu bar - self.make_menu_bar() - - # and a status bar - self.statusbar = self.CreateStatusBar(style=wx.BORDER_NONE) - self.set_status() - - self.timer = wx.Timer(self) - self.count = 0 - - self.Bind(wx.EVT_TIMER, self.do_on_timer) - self.Bind(wx.EVT_PAINT, self.timing) - self.Show() - - def about_clicked(self, event): # pylint: disable=unused-argument - """Display an About Dialog""" - about = "WireGUIde is a GUI for WireGuard." - lic_text = """ - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see .""" - #wx.MessageBox(about, "About WireGUIde" ,wx.OK | wx.ICON_INFORMATION) - info = wx.adv.AboutDialogInfo() - info.SetIcon(wx.Icon('logo.png', wx.BITMAP_TYPE_PNG)) - info.SetName('WireGUIde') - info.SetVersion(str(self.version)) - info.SetDescription(about) - info.SetCopyright('(C) 2020 Mikael Nordin') - info.SetWebSite('https://github.com/mickenordin') - info.SetLicence(lic_text) - info.AddDeveloper('Mikael Nordin') - info.AddDocWriter('Mikael Nordin') - info.AddArtist('Mikael Nordin') - - wx.adv.AboutBox(info) - - def activate_button_clicked(self, event, conn): # pylint: disable=unused-argument - """ - This activates an imported config - """ - print(conn.get_id()) - self.client.add_connection_async(conn, False, None, self.add_callback, - None) - self.remove_inactive(conn) - - def add_callback(self, client, result, data): # pylint: disable=unused-argument - """ - This is here to let us know if the connection was successful or not - """ - try: - client.add_connection_finish(result) - print( - "The connection profile has been successfully added to NetworkManager." - ) - except Exception as exception: # pylint: disable=broad-except - sys.stderr.write("Error: %s\n" % exception) - self.active_conns = self.get_wg_aconns() - self.conns = self.get_wg_conns() - self.write_to_sizer() - - def create_conn_from_file(self, pathname): - """ - Read a WireGuardUI config file and convert it in to - an object that can be user by NetworkManager - """ - filename = os.path.basename(pathname) - try: - config = configparser.ConfigParser() - config.read(pathname) - iname = self.get_next_int_name() - profile = NM.SimpleConnection.new() - s_con = NM.SettingConnection.new() - s_con.set_property(NM.SETTING_CONNECTION_ID, iname) - s_con.set_property(NM.SETTING_CONNECTION_INTERFACE_NAME, iname) - s_con.set_property(NM.SETTING_CONNECTION_UUID, str(uuid.uuid4())) - s_con.set_property(NM.SETTING_CONNECTION_TYPE, - NM.SETTING_WIREGUARD_SETTING_NAME) - - s_wireguard = NM.SettingWireGuard.new() - s_wireguard.set_property(NM.SETTING_WIREGUARD_PRIVATE_KEY, - config['Interface']['PrivateKey']) - s_peer = NM.WireGuardPeer.new() - s_peer.set_endpoint(config['Peer']['Endpoint'], False) - s_peer.set_public_key(config['Peer']['PublicKey'], False) - s_peer.append_allowed_ip(config['Peer']['AllowedIPs'], False) - s_wireguard.append_peer(s_peer) - - s_ip4 = NM.SettingIP4Config.new() - s_ip4_address = NM.IPAddress(AF_INET, - config['Interface']['Address'], - int(32)) - s_ip4.set_property(NM.SETTING_IP_CONFIG_METHOD, "manual") - s_ip4.add_address(s_ip4_address) - s_ip4.add_dns(config['Interface']['DNS']) - - profile.add_setting(s_con) - profile.add_setting(s_ip4) - profile.add_setting(s_wireguard) - return profile - - except IOError: - wx.LogError("Cannot open file '%s'." % filename) - return None - - def deactivate_button_clicked(self, event, conn): # pylint: disable=unused-argument - """ - This deactivates an active config - """ - print(conn.get_id()) - self.client.deactivate_connection_async(conn, None, self.de_callback, - conn) - conn.get_connection().delete_async(None, None, None) - - def de_callback(self, client, result, data): # pylint: disable=unused-argument - """ - This is here to let us know if the deactivation was successful or not - """ - try: - client.deactivate_connection_finish(result) - print( - "The connection profile has been successfully removed from NetworkManager." - ) - except Exception as exception: # pylint: disable=broad-except - sys.stderr.write("Error: %s\n" % exception) - self.active_conns = self.get_wg_aconns() - self.conns = self.get_wg_conns() - self.write_to_sizer() - - def do_on_timer(self, event): # pylint: disable=unused-argument - """ - Do stuff to redraw the window when the timer times out - Ths is because connections might change outside of WireGUIde - """ - self.count += 1 - if self.count == 5: - self.client.reload_connections_async() - self.active_conns = self.get_wg_aconns() - self.conns = self.get_wg_conns() - self.set_status() - self.write_to_sizer() - self.count = 0 - - def exit_clicked(self, event): # pylint: disable=unused-argument - """ - Close the frame, terminating the application. - """ - self.Close(True) - - def file_chooser_clicked(self, event): # pylint: disable=unused-argument - """ - This is what happens when you click on the file chooser - """ - with wx.FileDialog(self, - "Open WireGuard config file", - wildcard="WireGuard files (*.conf)|*.conf", - style=wx.FD_OPEN - | wx.FD_FILE_MUST_EXIST) as file_dialog: - - if file_dialog.ShowModal() == wx.ID_CANCEL: - return # the user changed their mind - - # Proceed loading the file chosen by the user - pathname = file_dialog.GetPath() - new_conn = self.create_conn_from_file(pathname) - self.inactive_conns.append(new_conn) - self.write_to_sizer() - - def get_next_int_name(self): - """ - Determins what we should call the next interface - """ - temp = [] - for conn in self.conns: - temp.append(re.findall(r'\d+', conn.get_interface_name())) - for conn in self.inactive_conns: - temp.append(re.findall(r'\d+', conn.get_interface_name())) - numbers = [int(item) for sublist in temp for item in sublist] - if not numbers: - num = 0 - else: - numbers.sort(reverse=True) - num = numbers[0] + 1 - return "wg" + str(num) - - def get_wg_aconns(self): - """ - Reads all active wireguard connections from NetworkManager - and returns them as objects in an array - """ - mconns = [] - wgconns = self.client.get_active_connections() - for conn in wgconns: - if conn.get_connection_type() == NM.SETTING_WIREGUARD_SETTING_NAME: - mconns.append(conn) - return mconns - - def get_wg_conns(self): - """ - Reads all current wireguard connections from NetworkManager - and returns them as objects in an array - """ - mconns = [] - wgconns = self.client.get_connections() - for conn in wgconns: - if conn.get_connection_type() == NM.SETTING_WIREGUARD_SETTING_NAME: - mconns.append(conn) - return mconns - - def make_menu_bar(self): - """ - A menu bar is composed of menus, which are composed of menu items. - This method builds a set of menus and binds handlers to be called - when the menu item is selected. - """ - - file_menu = wx.Menu() - file_chooser_item = file_menu.Append(-1, "&Open...\tCtrl-O", - "Select WireGuard config file") - file_menu.AppendSeparator() - exit_item = file_menu.Append(wx.ID_EXIT) - - help_menu = wx.Menu() - about_item = help_menu.Append(wx.ID_ABOUT) - - menu_bar = wx.MenuBar() - menu_bar.Append(file_menu, "&File") - menu_bar.Append(help_menu, "&Help") - - self.SetMenuBar(menu_bar) - - self.Bind(wx.EVT_MENU, self.file_chooser_clicked, file_chooser_item) - self.Bind(wx.EVT_MENU, self.exit_clicked, exit_item) - self.Bind(wx.EVT_MENU, self.about_clicked, about_item) - - def remove_inactive(self, conn): - """ - Remove the inactive connection from the array - """ - for i in range(len(self.inactive_conns)): - if self.inactive_conns[i].get_id() == conn.get_id(): - self.inactive_conns.pop(i) - - def set_status(self): - """ - Update the status bar - """ - status = str(len(self.active_conns)) + " active connection(s)" - self.statusbar.SetStatusText(status) - - def timing(self, event): # pylint: disable=unused-argument - """ - Start a timer - """ - self.timer.Start(20) - - def write_to_sizer(self): - """ - We use the BoxSizer to hold our configs - This method redraws the sizer - """ - self.sizer.Clear(delete_windows=True) - if len(self.active_conns) > 0: - hd1 = wx.StaticText(self.pnl) - hd1.SetLabelMarkup("Active connections") - self.sizer.Add(hd1, 0, wx.ALIGN_CENTER) - for conn in self.active_conns: - statstr = wx.StaticText(self.pnl) - info = get_info_as_text(conn) - statstr.SetLabelMarkup(info) - self.sizer.Add(statstr, - wx.SizerFlags().Border(wx.TOP | wx.LEFT, 25)) - dbtn = wx.Button(self.pnl, -1, "Deactivate") - self.sizer.Add(dbtn, 0, wx.ALIGN_CENTER) - self.Bind(wx.EVT_BUTTON, - lambda event, mconn=conn: self. - deactivate_button_clicked(event, mconn), - dbtn) - if len(self.inactive_conns) > 0: - hd2 = wx.StaticText(self.pnl) - hd2.SetLabelMarkup("Imported configs") - self.sizer.Add(hd2, 0, wx.ALIGN_CENTER) - if self.inactive_conns: - for conn in self.inactive_conns: - statstr = wx.StaticText(self.pnl) - info = get_info_as_text(conn) - statstr.SetLabelMarkup(info) - self.sizer.Add( - statstr, - wx.SizerFlags().Border(wx.TOP | wx.LEFT, 25)) - btn = wx.Button(self.pnl, -1, "Activate") - self.sizer.Add(btn, 0, wx.ALIGN_CENTER) - self.Bind(wx.EVT_BUTTON, - lambda event, mconn=conn: self. - activate_button_clicked(event, mconn), - btn) - if (len(self.active_conns) == 0) and (len(self.inactive_conns) == 0): - hd0 = wx.StaticText(self.pnl) - hd0.SetLabelMarkup("No configs available") - missingstr = wx.StaticText(self.pnl) - missingstr.SetLabelMarkup( - "Please choose a config file from the file menu (CTRL+O).") - self.sizer.Add(hd0, 0, wx.ALIGN_CENTER) - self.sizer.Add(missingstr, 0, wx.ALIGN_LEFT) - self.sizer.Layout() - - -def get_inactive_conns(): - """ - TODO: Not implemented yet - """ - minactive_conns = [] - #return empty array for now, we cant read configs from stash yet - return minactive_conns - - -def get_info_as_text(aconn): - """ - Returns info about a connection as text - """ - try: - conn = aconn.get_connection() - except Exception: # pylint: disable=broad-except - conn = aconn - mid = conn.get_id() - miname = conn.get_interface_name() - muuid = conn.get_uuid() - info = "id: " + mid + '\n' - info += "interface name: " + miname + '\n' - info += "uuid: " + muuid + '\n' - return info - - -if __name__ == '__main__': - # When this module is run (not imported) then create the app, the - # frame, show it, and start the event loop. - app = wx.App() - frm = WireFrame(None, title='WireGUIde') - frm.Show() - app.MainLoop() diff --git a/build/scripts-3.8/wireguide b/build/scripts-3.8/wireguide deleted file mode 100755 index b3c44b0..0000000 --- a/build/scripts-3.8/wireguide +++ /dev/null @@ -1,392 +0,0 @@ -#!python -""" -This is a program that can manage Wireguard Configuration graphically -""" -import configparser -import os -import re -import sys -import uuid -from socket import AF_INET - -import gi -import wx -import wx.adv - -gi.require_version("NM", "1.0") -from gi.repository import NM # pylint: disable=wrong-import-position - - -class WireFrame(wx.Frame): # pylint: disable=too-many-ancestors,too-many-instance-attributes - """ - The WireGUIde wx.Frame - """ - def __init__(self, *args, **kw): - super().__init__(*args, **kw) - - self.version = 0.1 - - # Get active conns from NetworkManager - self.client = NM.Client.new(None) - self.conns = self.get_wg_conns() - self.active_conns = self.get_wg_aconns() - - # Set up for loaded configs - self.inactive_conns = get_inactive_conns() - - # create a panel in the frame - self.pnl = wx.Panel(self) - - # and create a sizer to manage the layout of child widgets - self.sizer = wx.BoxSizer(wx.VERTICAL) - self.write_to_sizer() - self.pnl.SetSizer(self.sizer) - - # create a menu bar - self.make_menu_bar() - - # and a status bar - self.statusbar = self.CreateStatusBar(style=wx.BORDER_NONE) - self.set_status() - - self.timer = wx.Timer(self) - self.count = 0 - - self.Bind(wx.EVT_TIMER, self.do_on_timer) - self.Bind(wx.EVT_PAINT, self.timing) - self.Show() - - def about_clicked(self, event): # pylint: disable=unused-argument - """Display an About Dialog""" - about = "WireGUIde is a GUI for WireGuard." - lic_text = """ - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see .""" - #wx.MessageBox(about, "About WireGUIde" ,wx.OK | wx.ICON_INFORMATION) - info = wx.adv.AboutDialogInfo() - info.SetIcon(wx.Icon('logo.png', wx.BITMAP_TYPE_PNG)) - info.SetName('WireGUIde') - info.SetVersion(str(self.version)) - info.SetDescription(about) - info.SetCopyright('(C) 2020 Mikael Nordin') - info.SetWebSite('https://github.com/mickenordin') - info.SetLicence(lic_text) - info.AddDeveloper('Mikael Nordin') - info.AddDocWriter('Mikael Nordin') - info.AddArtist('Mikael Nordin') - - wx.adv.AboutBox(info) - - def activate_button_clicked(self, event, conn): # pylint: disable=unused-argument - """ - This activates an imported config - """ - print(conn.get_id()) - self.client.add_connection_async(conn, False, None, self.add_callback, - None) - self.remove_inactive(conn) - - def add_callback(self, client, result, data): # pylint: disable=unused-argument - """ - This is here to let us know if the connection was successful or not - """ - try: - client.add_connection_finish(result) - print( - "The connection profile has been successfully added to NetworkManager." - ) - except Exception as exception: # pylint: disable=broad-except - sys.stderr.write("Error: %s\n" % exception) - self.active_conns = self.get_wg_aconns() - self.conns = self.get_wg_conns() - self.write_to_sizer() - - def create_conn_from_file(self, pathname): - """ - Read a WireGuardUI config file and convert it in to - an object that can be user by NetworkManager - """ - filename = os.path.basename(pathname) - try: - config = configparser.ConfigParser() - config.read(pathname) - iname = self.get_next_int_name() - profile = NM.SimpleConnection.new() - s_con = NM.SettingConnection.new() - s_con.set_property(NM.SETTING_CONNECTION_ID, iname) - s_con.set_property(NM.SETTING_CONNECTION_INTERFACE_NAME, iname) - s_con.set_property(NM.SETTING_CONNECTION_UUID, str(uuid.uuid4())) - s_con.set_property(NM.SETTING_CONNECTION_TYPE, - NM.SETTING_WIREGUARD_SETTING_NAME) - - s_wireguard = NM.SettingWireGuard.new() - s_wireguard.set_property(NM.SETTING_WIREGUARD_PRIVATE_KEY, - config['Interface']['PrivateKey']) - s_peer = NM.WireGuardPeer.new() - s_peer.set_endpoint(config['Peer']['Endpoint'], False) - s_peer.set_public_key(config['Peer']['PublicKey'], False) - s_peer.append_allowed_ip(config['Peer']['AllowedIPs'], False) - s_wireguard.append_peer(s_peer) - - s_ip4 = NM.SettingIP4Config.new() - s_ip4_address = NM.IPAddress(AF_INET, - config['Interface']['Address'], - int(32)) - s_ip4.set_property(NM.SETTING_IP_CONFIG_METHOD, "manual") - s_ip4.add_address(s_ip4_address) - s_ip4.add_dns(config['Interface']['DNS']) - - profile.add_setting(s_con) - profile.add_setting(s_ip4) - profile.add_setting(s_wireguard) - return profile - - except IOError: - wx.LogError("Cannot open file '%s'." % filename) - return None - - def deactivate_button_clicked(self, event, conn): # pylint: disable=unused-argument - """ - This deactivates an active config - """ - print(conn.get_id()) - self.client.deactivate_connection_async(conn, None, self.de_callback, - conn) - conn.get_connection().delete_async(None, None, None) - - def de_callback(self, client, result, data): # pylint: disable=unused-argument - """ - This is here to let us know if the deactivation was successful or not - """ - try: - client.deactivate_connection_finish(result) - print( - "The connection profile has been successfully removed from NetworkManager." - ) - except Exception as exception: # pylint: disable=broad-except - sys.stderr.write("Error: %s\n" % exception) - self.active_conns = self.get_wg_aconns() - self.conns = self.get_wg_conns() - self.write_to_sizer() - - def do_on_timer(self, event): # pylint: disable=unused-argument - """ - Do stuff to redraw the window when the timer times out - Ths is because connections might change outside of WireGUIde - """ - self.count += 1 - if self.count == 5: - self.client.reload_connections_async() - self.active_conns = self.get_wg_aconns() - self.conns = self.get_wg_conns() - self.set_status() - self.write_to_sizer() - self.count = 0 - - def exit_clicked(self, event): # pylint: disable=unused-argument - """ - Close the frame, terminating the application. - """ - self.Close(True) - - def file_chooser_clicked(self, event): # pylint: disable=unused-argument - """ - This is what happens when you click on the file chooser - """ - with wx.FileDialog(self, - "Open WireGuard config file", - wildcard="WireGuard files (*.conf)|*.conf", - style=wx.FD_OPEN - | wx.FD_FILE_MUST_EXIST) as file_dialog: - - if file_dialog.ShowModal() == wx.ID_CANCEL: - return # the user changed their mind - - # Proceed loading the file chosen by the user - pathname = file_dialog.GetPath() - new_conn = self.create_conn_from_file(pathname) - self.inactive_conns.append(new_conn) - self.write_to_sizer() - - def get_next_int_name(self): - """ - Determins what we should call the next interface - """ - temp = [] - for conn in self.conns: - temp.append(re.findall(r'\d+', conn.get_interface_name())) - for conn in self.inactive_conns: - temp.append(re.findall(r'\d+', conn.get_interface_name())) - numbers = [int(item) for sublist in temp for item in sublist] - if not numbers: - num = 0 - else: - numbers.sort(reverse=True) - num = numbers[0] + 1 - return "wg" + str(num) - - def get_wg_aconns(self): - """ - Reads all active wireguard connections from NetworkManager - and returns them as objects in an array - """ - mconns = [] - wgconns = self.client.get_active_connections() - for conn in wgconns: - if conn.get_connection_type() == NM.SETTING_WIREGUARD_SETTING_NAME: - mconns.append(conn) - return mconns - - def get_wg_conns(self): - """ - Reads all current wireguard connections from NetworkManager - and returns them as objects in an array - """ - mconns = [] - wgconns = self.client.get_connections() - for conn in wgconns: - if conn.get_connection_type() == NM.SETTING_WIREGUARD_SETTING_NAME: - mconns.append(conn) - return mconns - - def make_menu_bar(self): - """ - A menu bar is composed of menus, which are composed of menu items. - This method builds a set of menus and binds handlers to be called - when the menu item is selected. - """ - - file_menu = wx.Menu() - file_chooser_item = file_menu.Append(-1, "&Open...\tCtrl-O", - "Select WireGuard config file") - file_menu.AppendSeparator() - exit_item = file_menu.Append(wx.ID_EXIT) - - help_menu = wx.Menu() - about_item = help_menu.Append(wx.ID_ABOUT) - - menu_bar = wx.MenuBar() - menu_bar.Append(file_menu, "&File") - menu_bar.Append(help_menu, "&Help") - - self.SetMenuBar(menu_bar) - - self.Bind(wx.EVT_MENU, self.file_chooser_clicked, file_chooser_item) - self.Bind(wx.EVT_MENU, self.exit_clicked, exit_item) - self.Bind(wx.EVT_MENU, self.about_clicked, about_item) - - def remove_inactive(self, conn): - """ - Remove the inactive connection from the array - """ - for i in range(len(self.inactive_conns)): - if self.inactive_conns[i].get_id() == conn.get_id(): - self.inactive_conns.pop(i) - - def set_status(self): - """ - Update the status bar - """ - status = str(len(self.active_conns)) + " active connection(s)" - self.statusbar.SetStatusText(status) - - def timing(self, event): # pylint: disable=unused-argument - """ - Start a timer - """ - self.timer.Start(20) - - def write_to_sizer(self): - """ - We use the BoxSizer to hold our configs - This method redraws the sizer - """ - self.sizer.Clear(delete_windows=True) - if len(self.active_conns) > 0: - hd1 = wx.StaticText(self.pnl) - hd1.SetLabelMarkup("Active connections") - self.sizer.Add(hd1, 0, wx.ALIGN_CENTER) - for conn in self.active_conns: - statstr = wx.StaticText(self.pnl) - info = get_info_as_text(conn) - statstr.SetLabelMarkup(info) - self.sizer.Add(statstr, - wx.SizerFlags().Border(wx.TOP | wx.LEFT, 25)) - dbtn = wx.Button(self.pnl, -1, "Deactivate") - self.sizer.Add(dbtn, 0, wx.ALIGN_CENTER) - self.Bind(wx.EVT_BUTTON, - lambda event, mconn=conn: self. - deactivate_button_clicked(event, mconn), - dbtn) - if len(self.inactive_conns) > 0: - hd2 = wx.StaticText(self.pnl) - hd2.SetLabelMarkup("Imported configs") - self.sizer.Add(hd2, 0, wx.ALIGN_CENTER) - if self.inactive_conns: - for conn in self.inactive_conns: - statstr = wx.StaticText(self.pnl) - info = get_info_as_text(conn) - statstr.SetLabelMarkup(info) - self.sizer.Add( - statstr, - wx.SizerFlags().Border(wx.TOP | wx.LEFT, 25)) - btn = wx.Button(self.pnl, -1, "Activate") - self.sizer.Add(btn, 0, wx.ALIGN_CENTER) - self.Bind(wx.EVT_BUTTON, - lambda event, mconn=conn: self. - activate_button_clicked(event, mconn), - btn) - if (len(self.active_conns) == 0) and (len(self.inactive_conns) == 0): - hd0 = wx.StaticText(self.pnl) - hd0.SetLabelMarkup("No configs available") - missingstr = wx.StaticText(self.pnl) - missingstr.SetLabelMarkup( - "Please choose a config file from the file menu (CTRL+O).") - self.sizer.Add(hd0, 0, wx.ALIGN_CENTER) - self.sizer.Add(missingstr, 0, wx.ALIGN_LEFT) - self.sizer.Layout() - - -def get_inactive_conns(): - """ - TODO: Not implemented yet - """ - minactive_conns = [] - #return empty array for now, we cant read configs from stash yet - return minactive_conns - - -def get_info_as_text(aconn): - """ - Returns info about a connection as text - """ - try: - conn = aconn.get_connection() - except Exception: # pylint: disable=broad-except - conn = aconn - mid = conn.get_id() - miname = conn.get_interface_name() - muuid = conn.get_uuid() - info = "id: " + mid + '\n' - info += "interface name: " + miname + '\n' - info += "uuid: " + muuid + '\n' - return info - - -if __name__ == '__main__': - # When this module is run (not imported) then create the app, the - # frame, show it, and start the event loop. - app = wx.App() - frm = WireFrame(None, title='WireGUIde') - frm.Show() - app.MainLoop() diff --git a/dist/wireguide-0.0.1-py3-none-any.whl b/dist/wireguide-0.0.1-py3-none-any.whl deleted file mode 100644 index cfb132a..0000000 Binary files a/dist/wireguide-0.0.1-py3-none-any.whl and /dev/null differ diff --git a/dist/wireguide-0.0.1.tar.gz b/dist/wireguide-0.0.1.tar.gz deleted file mode 100644 index 404b7c7..0000000 Binary files a/dist/wireguide-0.0.1.tar.gz and /dev/null differ diff --git a/wireguide.egg-info/PKG-INFO b/wireguide.egg-info/PKG-INFO deleted file mode 100644 index f55e21c..0000000 --- a/wireguide.egg-info/PKG-INFO +++ /dev/null @@ -1,41 +0,0 @@ -Metadata-Version: 2.1 -Name: wireguide -Version: 0.0.1 -Summary: A WireGuard GUI for GNU/Linux -Home-page: https://github.com/mickenordin/wireguide -Author: Mikael Nordin -Author-email: mik@elnord.in -License: UNKNOWN -Description: # WireGUIde - WireGUIde is a graphical user interface for WireGuard: https://www.wireguard.com/ - - It makes use of: - * libnm (https://developer.gnome.org/libnm/stable/usage.html) - * wxPython (https://wxpython.org/) - * GObject Introspection (https://gi.readthedocs.io/en/latest/) - - For packaging a debian package you can use these dependencies: - * libnm0 - * wxpython - * gir1.2-nm-1.0 - - Thanks to Jan Bodnar of zetcode.com for the valuable tutorial on wxPython dialogs: - * http://zetcode.com/wxpython/dialogs/ - - ## Installation - ``` - pip install wireguide - ``` - ## Screenshots - ![No config](https://raw.githubusercontent.com/mickenordin/wireguide/main/screenshots/scrot0.png) - ![Open dialog](https://raw.githubusercontent.com/mickenordin/wireguide/main/screenshots/scrot1.png) - ![Activate](https://raw.githubusercontent.com/mickenordin/wireguide/main/screenshots/scrot2.png) - ![Deactivate](https://raw.githubusercontent.com/mickenordin/wireguide/main/screenshots/scrot3.png) - -Platform: UNKNOWN -Classifier: Programming Language :: Python :: 3 -Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+) -Classifier: Environment :: X11 Applications -Classifier: Operating System :: POSIX :: Linux -Requires-Python: >=3.6 -Description-Content-Type: text/markdown diff --git a/wireguide.egg-info/SOURCES.txt b/wireguide.egg-info/SOURCES.txt deleted file mode 100644 index d44b329..0000000 --- a/wireguide.egg-info/SOURCES.txt +++ /dev/null @@ -1,10 +0,0 @@ -MANIFEST.in -README.md -setup.py -wireguide/__init__.py -wireguide/logo.png -wireguide/wireguide -wireguide.egg-info/PKG-INFO -wireguide.egg-info/SOURCES.txt -wireguide.egg-info/dependency_links.txt -wireguide.egg-info/top_level.txt \ No newline at end of file diff --git a/wireguide.egg-info/dependency_links.txt b/wireguide.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/wireguide.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/wireguide.egg-info/top_level.txt b/wireguide.egg-info/top_level.txt deleted file mode 100644 index a2cdbed..0000000 --- a/wireguide.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -wireguide