diff --git a/Changelog b/Changelog index a37f245..00c7531 100644 --- a/Changelog +++ b/Changelog @@ -9,6 +9,11 @@ My standard System: Linux Mint 22 Cinnamon - Tunnel in tk.canvas for modern look - Replace Download Button with Lx Tools installer + ### Added +14-06-2025 + + - replace msg_window with MassageDialog + - vpn stop icon corrected ### Added 07-06-2025 diff --git a/lx-icons/128/Lunix_Tools.png b/lx-icons/128/Lunix_Tools.png new file mode 100644 index 0000000..e5bcb10 Binary files /dev/null and b/lx-icons/128/Lunix_Tools.png differ diff --git a/lx-icons/128/error.png b/lx-icons/128/error.png index ae580f8..e94b55a 100644 Binary files a/lx-icons/128/error.png and b/lx-icons/128/error.png differ diff --git a/lx-icons/128/info.png b/lx-icons/128/info.png index ccba611..7974653 100644 Binary files a/lx-icons/128/info.png and b/lx-icons/128/info.png differ diff --git a/lx-icons/128/question_mark.png b/lx-icons/128/question_mark.png new file mode 100644 index 0000000..f16b838 Binary files /dev/null and b/lx-icons/128/question_mark.png differ diff --git a/lx-icons/128/warning.png b/lx-icons/128/warning.png new file mode 100644 index 0000000..1a5eff7 Binary files /dev/null and b/lx-icons/128/warning.png differ diff --git a/lx-icons/128/wg_vpn-stop.png b/lx-icons/128/wg_vpn-stop.png index ff02259..1412b72 100644 Binary files a/lx-icons/128/wg_vpn-stop.png and b/lx-icons/128/wg_vpn-stop.png differ diff --git a/lx-icons/256/Lunix_Tools.png b/lx-icons/256/Lunix_Tools.png new file mode 100644 index 0000000..10f93a9 Binary files /dev/null and b/lx-icons/256/Lunix_Tools.png differ diff --git a/lx-icons/256/error.png b/lx-icons/256/error.png index 7734e3a..e034b9a 100644 Binary files a/lx-icons/256/error.png and b/lx-icons/256/error.png differ diff --git a/lx-icons/256/info.png b/lx-icons/256/info.png index 8c1ca4f..fd2488f 100644 Binary files a/lx-icons/256/info.png and b/lx-icons/256/info.png differ diff --git a/lx-icons/256/question_mark.png b/lx-icons/256/question_mark.png new file mode 100644 index 0000000..0b781dd Binary files /dev/null and b/lx-icons/256/question_mark.png differ diff --git a/lx-icons/256/warning.png b/lx-icons/256/warning.png new file mode 100644 index 0000000..a30311f Binary files /dev/null and b/lx-icons/256/warning.png differ diff --git a/lx-icons/256/wg_vpn-stop.png b/lx-icons/256/wg_vpn-stop.png index a99bc5b..a7f6cdf 100644 Binary files a/lx-icons/256/wg_vpn-stop.png and b/lx-icons/256/wg_vpn-stop.png differ diff --git a/lx-icons/32/Lunix_Tools.png b/lx-icons/32/Lunix_Tools.png new file mode 100644 index 0000000..6e7ca0c Binary files /dev/null and b/lx-icons/32/Lunix_Tools.png differ diff --git a/lx-icons/32/error.png b/lx-icons/32/error.png index 18e6c64..876f5d3 100644 Binary files a/lx-icons/32/error.png and b/lx-icons/32/error.png differ diff --git a/lx-icons/32/info.png b/lx-icons/32/info.png index f11ca97..5104d27 100644 Binary files a/lx-icons/32/info.png and b/lx-icons/32/info.png differ diff --git a/lx-icons/32/question_mark.png b/lx-icons/32/question_mark.png new file mode 100644 index 0000000..7003622 Binary files /dev/null and b/lx-icons/32/question_mark.png differ diff --git a/lx-icons/32/warning.png b/lx-icons/32/warning.png new file mode 100644 index 0000000..582dd54 Binary files /dev/null and b/lx-icons/32/warning.png differ diff --git a/lx-icons/32/wg_vpn-stop.png b/lx-icons/32/wg_vpn-stop.png index f29cbe6..8c164a4 100644 Binary files a/lx-icons/32/wg_vpn-stop.png and b/lx-icons/32/wg_vpn-stop.png differ diff --git a/lx-icons/32/wg_vpn.png b/lx-icons/32/wg_vpn.png new file mode 100644 index 0000000..55df4dd Binary files /dev/null and b/lx-icons/32/wg_vpn.png differ diff --git a/lx-icons/48/Lunix_Tools.png b/lx-icons/48/Lunix_Tools.png new file mode 100644 index 0000000..8582456 Binary files /dev/null and b/lx-icons/48/Lunix_Tools.png differ diff --git a/lx-icons/48/error.png b/lx-icons/48/error.png index 92a731a..d425d8e 100644 Binary files a/lx-icons/48/error.png and b/lx-icons/48/error.png differ diff --git a/lx-icons/48/info.png b/lx-icons/48/info.png index 52206e6..45fb93f 100644 Binary files a/lx-icons/48/info.png and b/lx-icons/48/info.png differ diff --git a/lx-icons/48/question_mark.png b/lx-icons/48/question_mark.png new file mode 100644 index 0000000..f10ca66 Binary files /dev/null and b/lx-icons/48/question_mark.png differ diff --git a/lx-icons/48/warning.png b/lx-icons/48/warning.png new file mode 100644 index 0000000..39cc0be Binary files /dev/null and b/lx-icons/48/warning.png differ diff --git a/lx-icons/48/wg_vpn-stop.png b/lx-icons/48/wg_vpn-stop.png index 30aa9cc..bfb490d 100644 Binary files a/lx-icons/48/wg_vpn-stop.png and b/lx-icons/48/wg_vpn-stop.png differ diff --git a/lx-icons/64/Lunix_Tools.png b/lx-icons/64/Lunix_Tools.png new file mode 100644 index 0000000..7e62161 Binary files /dev/null and b/lx-icons/64/Lunix_Tools.png differ diff --git a/lx-icons/64/error.png b/lx-icons/64/error.png index 5ac3858..a135878 100644 Binary files a/lx-icons/64/error.png and b/lx-icons/64/error.png differ diff --git a/lx-icons/64/info.png b/lx-icons/64/info.png index 4917814..bce3e28 100644 Binary files a/lx-icons/64/info.png and b/lx-icons/64/info.png differ diff --git a/lx-icons/64/question_mark.png b/lx-icons/64/question_mark.png new file mode 100644 index 0000000..9fd9d5f Binary files /dev/null and b/lx-icons/64/question_mark.png differ diff --git a/lx-icons/64/warning.png b/lx-icons/64/warning.png new file mode 100644 index 0000000..8b015d3 Binary files /dev/null and b/lx-icons/64/warning.png differ diff --git a/lx-icons/64/wg_vpn-stop.png b/lx-icons/64/wg_vpn-stop.png index 03a5044..e6052c1 100644 Binary files a/lx-icons/64/wg_vpn-stop.png and b/lx-icons/64/wg_vpn-stop.png differ diff --git a/ssl_decrypt.py b/ssl_decrypt.py index 4d4a5aa..8626244 100755 --- a/ssl_decrypt.py +++ b/ssl_decrypt.py @@ -7,24 +7,22 @@ import shutil from subprocess import CompletedProcess, run from shared_libs.wp_app_config import AppConfig from shared_libs.common_tools import LxTools +from shared_libs.message import MessageDialog + parser = argparse.ArgumentParser() parser.add_argument("--user", required=True, help="Username of the target file system") args = parser.parse_args() +_ = AppConfig.setup_translations() try: # Retrieve UID and GID user_info = pwd.getpwnam(args.user) uid = user_info.pw_uid # User ID (e.g., 1000) gid = user_info.pw_gid # Group ID (e.g., 1000) except KeyError: - LxTools.msg_window( - AppConfig.IMAGE_PATHS["icon_error"], - AppConfig.IMAGE_PATHS["icon_error"], - "Error decrypt", - f"User '{args.user}' not found.", - exc_info=True, - ) + MessageDialog("error", _(f"User '{args.user}' not found."), title="Error decrypt") + exit(1) crypted_tunnel: Path = Path(f"/home/{args.user}/.config/wire_py") @@ -58,9 +56,10 @@ else: # Output from Openssl Error if process.stderr: - LxTools.msg_window( - AppConfig.IMAGE_PATHS["icon_error"], - AppConfig.IMAGE_PATHS["icon_error"], - "Error decrypt", - f"{process.stderr} Error by [{tunnel_path}] Code: {process.returncode}", + MessageDialog( + "erro", + _( + f"{process.stderr} Error by [{tunnel_path}] Code: {process.returncode}" + ), + title="Error decrypt", ) diff --git a/tunnel.py b/tunnel.py index fe4cf9a..4347ed0 100644 --- a/tunnel.py +++ b/tunnel.py @@ -9,6 +9,7 @@ from subprocess import run, CompletedProcess import secrets from shared_libs.wp_app_config import AppConfig, Msg from shared_libs.common_tools import LxTools, CryptoUtil +from shared_libs.message import MessageDialog # Translate _ = AppConfig.setup_translations() @@ -172,12 +173,8 @@ class Tunnel: CryptoUtil.decrypt(getpass.getuser()) if len([file.name for file in AppConfig.TEMP_DIR.glob("*.conf")]) == 0: - LxTools.msg_window( - AppConfig.IMAGE_PATHS["icon_info"], - AppConfig.IMAGE_PATHS["icon_msg"], - Msg.STR["sel_tl"], - Msg.STR["tl_first"], - ) + MessageDialog("info", Msg.STR["tl_first"], title=Msg.STR["sel_tl"]) + return False else: wg_tar: str = f"{AppConfig.BASE_DIR}/{now_datetime}" @@ -186,22 +183,20 @@ class Tunnel: with zipfile.ZipFile(f"{wg_tar}.zip", "r") as zf: if zf.namelist(): - LxTools.msg_window( - AppConfig.IMAGE_PATHS["icon_info"], - AppConfig.IMAGE_PATHS["icon_vpn"], - Msg.STR["exp_succ"], + MessageDialog( + "info", Msg.STR["exp_in_home"], + title=Msg.STR["exp_succ"], ) + else: logging.error( "There was a mistake at creating the Zip file. File is empty." ) - LxTools.msg_window( - AppConfig.IMAGE_PATHS["icon_error"], - AppConfig.IMAGE_PATHS["icon_msg"], - Msg.STR["exp_err"], - Msg.STR["exp_zip"], + MessageDialog( + "error", Msg.STR["exp_zip"], title=Msg.STR["exp_err"] ) + return False return True except PermissionError: @@ -217,12 +212,7 @@ class Tunnel: pass except Exception as e: logging.error(f"Export failed: {str(e)}") - LxTools.msg_window( - AppConfig.IMAGE_PATHS["icon_error"], - AppConfig.IMAGE_PATHS["icon_msg"], - Msg.STR["exp_err"], - Msg.STR["exp_try"], - ) + MessageDialog("error", Msg.STR["exp_try"], title=Msg.STR["exp_err"]) return False finally: diff --git a/wirepy.py b/wirepy.py index 67317ed..86d6449 100755 --- a/wirepy.py +++ b/wirepy.py @@ -8,11 +8,12 @@ import shutil import sys import tkinter as tk import webbrowser +from functools import partial from pathlib import Path from subprocess import CompletedProcess, run from tkinter import TclError, filedialog, ttk from tunnel import Tunnel - +from shared_libs.message import MessageDialog from shared_libs.gitea import GiteaUpdate from shared_libs.common_tools import ( LxTools, @@ -462,10 +463,6 @@ class FrameWidgets(ttk.Frame): """ a tk.Toplevel window """ - - def link_btn() -> None: - webbrowser.open("https://git.ilunix.de/punix/Wire-Py") - msg_t = _( "Wire-Py a simple Wireguard Gui for Linux systems.\n\n" "Wire-Py is open source software written in Python.\n\n" @@ -473,13 +470,17 @@ class FrameWidgets(ttk.Frame): "Use without warranty!\n" ) - LxTools.msg_window( - AppConfig.IMAGE_PATHS["icon_vpn"], - AppConfig.IMAGE_PATHS["icon_vpn"], - _("Info"), + MessageDialog( + "info", msg_t, - _("Go to Wire-Py git"), - link_btn, + buttons=["OK", _("Go to Wire-Py git")], + title=_("Info"), + commands=[ + None, + partial(webbrowser.open, "https://git.ilunix.de/punix/Wire-Py"), + ], + icon=AppConfig.IMAGE_PATHS["icon_vpn"], + wraplength=420, ) def update_setting(self, update_res) -> None: