3 Commits

4 changed files with 79 additions and 28 deletions

View File

@@ -9,11 +9,6 @@ My standard System: Linux Mint 22 Cinnamon
- Tunnel in tk.canvas for modern look - Tunnel in tk.canvas for modern look
- Replace Download Button with Lx Tools installer - Replace Download Button with Lx Tools installer
### Added
23-06-2025
- all msg_window with MassageDialog replaced
### Added ### Added
14-06-2025 14-06-2025

View File

@@ -6,6 +6,7 @@ import pwd
import shutil import shutil
from subprocess import CompletedProcess, run from subprocess import CompletedProcess, run
from shared_libs.wp_app_config import AppConfig from shared_libs.wp_app_config import AppConfig
from shared_libs.common_tools import LxTools
from shared_libs.message import MessageDialog from shared_libs.message import MessageDialog
@@ -20,9 +21,8 @@ try:
uid = user_info.pw_uid # User ID (e.g., 1000) uid = user_info.pw_uid # User ID (e.g., 1000)
gid = user_info.pw_gid # Group ID (e.g., 1000) gid = user_info.pw_gid # Group ID (e.g., 1000)
except KeyError: except KeyError:
MessageDialog( MessageDialog("error", _(f"User '{args.user}' not found."), title="Error decrypt")
"error", _(f"User '{args.user}' not found."), title="Error decrypt"
).show()
exit(1) exit(1)
crypted_tunnel: Path = Path(f"/home/{args.user}/.config/wire_py") crypted_tunnel: Path = Path(f"/home/{args.user}/.config/wire_py")
@@ -30,9 +30,9 @@ crypted_tunnel: Path = Path(f"/home/{args.user}/.config/wire_py")
if len([str(file) for file in crypted_tunnel.glob("*.dat")]) == 0: if len([str(file) for file in crypted_tunnel.glob("*.dat")]) == 0:
pass pass
else: else:
crypted_tunnel = [str(file) for file in crypted_tunnel.glob("*.dat")] crypted__tunnel = [str(file) for file in crypted_tunnel.glob("*.dat")]
for tunnel_path in crypted_tunnel: for tunnel_path in crypted__tunnel:
base_name = Path(tunnel_path).stem base_name = Path(tunnel_path).stem
@@ -50,16 +50,16 @@ else:
], ],
capture_output=True, capture_output=True,
text=True, text=True,
check=True, check=False,
) )
shutil.chown(f"{AppConfig.TEMP_DIR}/{base_name}.conf", uid, gid) shutil.chown(f"{AppConfig.TEMP_DIR}/{base_name}.conf", uid, gid)
# Output from Openssl Error # Output from Openssl Error
if process.stderr: if process.stderr:
MessageDialog( MessageDialog(
"error", "erro",
_( _(
f"{process.stderr} Error by [{tunnel_path}] Code: {process.returncode}" f"{process.stderr} Error by [{tunnel_path}] Code: {process.returncode}"
), ),
title="Error decrypt", title="Error decrypt",
).show() )

View File

@@ -636,15 +636,21 @@ class FrameWidgets(ttk.Frame):
data_import, key_name = Tunnel.parse_files_to_dictionary(filepath=filepath) data_import, key_name = Tunnel.parse_files_to_dictionary(filepath=filepath)
if CryptoUtil.find_key(f"{data_import[key_name]["PrivateKey"]}="): if CryptoUtil.find_key(f"{data_import[key_name]["PrivateKey"]}="):
MessageDialog("error", Msg.STR["tl_exist"], title=Msg.STR["imp_err"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_error"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["imp_err"],
Msg.STR["tl_exist"],
)
elif not CryptoUtil.is_valid_base64( elif not CryptoUtil.is_valid_base64(
f"{data_import[key_name]["PrivateKey"]}=" f"{data_import[key_name]["PrivateKey"]}="
): # 2. Second check: Is it valid Base64? ): # 2. Second check: Is it valid Base64?
MessageDialog( LxTools.msg_window(
"error", AppConfig.IMAGE_PATHS["icon_error"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["imp_err"],
Msg.STR["invalid_base64"], Msg.STR["invalid_base64"],
title=Msg.STR["imp_err"],
) )
else: else:
filepath = Path(filepath) filepath = Path(filepath)
@@ -737,7 +743,12 @@ class FrameWidgets(ttk.Frame):
print(f">> {import_file.stem} << autostart is disabled by default") print(f">> {import_file.stem} << autostart is disabled by default")
except UnboundLocalError: except UnboundLocalError:
MessageDialog("error", Msg.STR["no_valid_file"], title=Msg.STR["imp_err"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_error"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["imp_err"],
Msg.STR["no_valid_file"],
)
except (IsADirectoryError, TypeError, FileNotFoundError): except (IsADirectoryError, TypeError, FileNotFoundError):
print("File import: abort by user...") print("File import: abort by user...")
except EOFError as e: except EOFError as e:
@@ -800,11 +811,21 @@ class FrameWidgets(ttk.Frame):
if self.l_box.size() != 0: if self.l_box.size() != 0:
MessageDialog("info", Msg.STR["sel_list"], title=Msg.STR["sel_tl"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["sel_tl"],
Msg.STR["sel_list"],
)
else: else:
MessageDialog("info", Msg.STR["tl_first"], title=Msg.STR["sel_tl"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["sel_tl"],
Msg.STR["tl_first"],
)
def enable_check_box(self, _) -> None: def enable_check_box(self, _) -> None:
""" """
@@ -887,21 +908,41 @@ class FrameWidgets(ttk.Frame):
if len(self.lb_rename.get()) > 12: if len(self.lb_rename.get()) > 12:
MessageDialog("info", Msg.STR["sign_len"], title=Msg.STR["ren_err"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["ren_err"],
Msg.STR["sign_len"],
)
elif len(self.lb_rename.get()) == 0: elif len(self.lb_rename.get()) == 0:
MessageDialog("info", Msg.STR["zero_signs"], title=Msg.STR["ren_err"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["ren_err"],
Msg.STR["zero_signs"],
)
elif any(ch in special_characters for ch in self.lb_rename.get()): elif any(ch in special_characters for ch in self.lb_rename.get()):
MessageDialog("info", Msg.STR["false_signs"], title=Msg.STR["ren_err"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["ren_err"],
Msg.STR["false_signs"],
)
elif self.lb_rename.get() in [ elif self.lb_rename.get() in [
file.stem for file in AppConfig.CONFIG_DIR.glob("*.dat") file.stem for file in AppConfig.CONFIG_DIR.glob("*.dat")
]: ]:
MessageDialog("info", Msg.STR["is_in_use"], title=Msg.STR["ren_err"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["ren_err"],
Msg.STR["is_in_use"],
)
else: else:
@@ -943,7 +984,12 @@ class FrameWidgets(ttk.Frame):
except IndexError: except IndexError:
MessageDialog("info", Msg.STR["sel_list"], title=Msg.STR["ren_err"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["ren_err"],
Msg.STR["sel_list"],
)
except EOFError as e: except EOFError as e:
logging.error(e, exc_info=True) logging.error(e, exc_info=True)
@@ -1016,11 +1062,21 @@ class FrameWidgets(ttk.Frame):
if self.l_box.size() != 0: if self.l_box.size() != 0:
MessageDialog("info", Msg.STR["sel_list"], title=Msg.STR["sel_tl"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["sel_tl"],
Msg.STR["sel_list"],
)
else: else:
MessageDialog("info", Msg.STR["tl_first"], title=Msg.STR["sel_tl"]) LxTools.msg_window(
AppConfig.IMAGE_PATHS["icon_info"],
AppConfig.IMAGE_PATHS["icon_msg"],
Msg.STR["sel_tl"],
Msg.STR["tl_first"],
)
def handle_connection_state(self, action: str, tunnel_name: str = None) -> None: def handle_connection_state(self, action: str, tunnel_name: str = None) -> None:
""" """

View File

@@ -57,7 +57,7 @@ class AppConfig:
# Updates # Updates
# 1 = 1. Year, 09 = Month of the Year, 2924 = Day and Year of the Year # 1 = 1. Year, 09 = Month of the Year, 2924 = Day and Year of the Year
VERSION: str = "v. 2.06.2425" VERSION: str = "v. 2.06.0725"
UPDATE_URL: str = "https://git.ilunix.de/api/v1/repos/punix/Wire-Py/releases" UPDATE_URL: str = "https://git.ilunix.de/api/v1/repos/punix/Wire-Py/releases"
DOWNLOAD_URL: str = "https://git.ilunix.de/punix/Wire-Py/archive" DOWNLOAD_URL: str = "https://git.ilunix.de/punix/Wire-Py/archive"