From 298a3da73b70c8a0da60d37965e9145369a8a186 Mon Sep 17 00:00:00 2001 From: punix Date: Sun, 8 Jun 2025 00:34:44 +0200 Subject: [PATCH] fix ssl_decrypt replace logging with message window and path corrected --- Changelog | 16 ++++++++++++-- ssl_decrypt.py | 54 ++++++++++++++++-------------------------------- ssl_encrypt.py | 5 ++++- wirepy.py | 4 ++-- wp_app_config.py | 4 +++- 5 files changed, 41 insertions(+), 42 deletions(-) diff --git a/Changelog b/Changelog index b3414ab..a37f245 100644 --- a/Changelog +++ b/Changelog @@ -6,11 +6,21 @@ My standard System: Linux Mint 22 Cinnamon - os import in common_tools.py replaced by other methods - If Wire-Py already runs, prevent further start - for loops with lists replaced by List Comprehensions + - Tunnel in tk.canvas for modern look + - Replace Download Button with Lx Tools installer + ### Added -03-06-2025 +07-06-2025 + + - ssl_decrypt now directly checks whether encrypted files are located in the specified directory. + - This method has been removed from common_tools. The path has been adjusted ssl_decrypt likely + had an incorrect path. No files were decrypted. This has been fixed. + - Key generation has been removed from ssl_decrypt, as it is only needed in ssl_encrypt. + - Logviewer now in the settings menu. Moduls now as libs in share_libs. + - The Lx Tools installer is there to ensure that everything required for the selected app is installed. + - - ### Added 13-04-20255 @@ -49,12 +59,14 @@ My standard System: Linux Mint 22 Cinnamon - Tunnels are now read from the directory to view them in the list. To display only own tunnels, and read errors are minimized. + ### Added 10-11-2024 - Fix Checkbutton Autostart when first install Wire-Py - Update Translate Files + ### Added 10-11-2024 diff --git a/ssl_decrypt.py b/ssl_decrypt.py index c3cef08..4d4a5aa 100755 --- a/ssl_decrypt.py +++ b/ssl_decrypt.py @@ -5,7 +5,8 @@ from pathlib import Path import pwd import shutil from subprocess import CompletedProcess, run -from shared_libs.wp_app_config import AppConfig, logging +from shared_libs.wp_app_config import AppConfig +from shared_libs.common_tools import LxTools parser = argparse.ArgumentParser() parser.add_argument("--user", required=True, help="Username of the target file system") @@ -17,41 +18,21 @@ try: uid = user_info.pw_uid # User ID (e.g., 1000) gid = user_info.pw_gid # Group ID (e.g., 1000) except KeyError: - logging.error(f"User '{args.user}' not found.", exc_info=True) + LxTools.msg_window( + AppConfig.IMAGE_PATHS["icon_error"], + AppConfig.IMAGE_PATHS["icon_error"], + "Error decrypt", + f"User '{args.user}' not found.", + exc_info=True, + ) exit(1) -keyfile: Path = Path(f"/home/{args.user}/.config/wire_py/pbwgk.pem") -path_of_crypted_tunnel: Path = Path(f"/home/{args.user}/.config/wire_py") +crypted_tunnel: Path = Path(f"/home/{args.user}/.config/wire_py") -if not keyfile.is_file(): - process: CompletedProcess[str] = run( - [ - "openssl", - "rsa", - "-in", - AppConfig.SYSTEM_PATHS["pkey_path"], - "-out", - keyfile, - "-outform", - "PEM", - "-pubout", - ], - capture_output=True, - text=True, - check=False, - ) - - if process.returncode == 0: - logging.info("Public key generated successfully.", exc_info=True) - else: - logging.error( - f"Error with the following code... {process.returncode}", exc_info=True - ) - shutil.chown(keyfile, uid, gid) - -if AppConfig.PUBLICKEY.exists(): - - crypted__tunnel = [str(file) for file in path_of_crypted_tunnel.glob("*.dat")] +if len([str(file) for file in crypted_tunnel.glob("*.dat")]) == 0: + pass +else: + crypted__tunnel = [str(file) for file in crypted_tunnel.glob("*.dat")] for tunnel_path in crypted__tunnel: @@ -74,11 +55,12 @@ if AppConfig.PUBLICKEY.exists(): check=False, ) shutil.chown(f"{AppConfig.TEMP_DIR}/{base_name}.conf", uid, gid) - logging.info(f"Processing of the file: {tunnel_path}", exc_info=True) # Output from Openssl Error if process.stderr: - logging.error( + 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}", - exc_info=True, ) diff --git a/ssl_encrypt.py b/ssl_encrypt.py index 0a00e7f..788e026 100755 --- a/ssl_encrypt.py +++ b/ssl_encrypt.py @@ -2,16 +2,19 @@ """ This Script encrypt Wireguardfiles for Wirepy users for more Security """ import argparse +import logging from pathlib import Path import pwd import shutil from subprocess import CompletedProcess, run -from shared_libs.wp_app_config import AppConfig, logging +from shared_libs.wp_app_config import AppConfig +from shared_libs.common_tools import LogConfig parser = argparse.ArgumentParser() parser.add_argument("--user", required=True, help="Username of the target file system") args = parser.parse_args() +LogConfig.logger(f"/home/{args.user}/.local/share/lxlogs/wirepy.log") try: # Retrieve UID and GID user_info = pwd.getpwnam(args.user) diff --git a/wirepy.py b/wirepy.py index 3edc8dc..67317ed 100755 --- a/wirepy.py +++ b/wirepy.py @@ -848,6 +848,7 @@ class FrameWidgets(ttk.Frame): self.selected_option.set(1) self.autoconnect_var.set("") self.auto_con = ConfigManager.get("autostart") + AppConfig.get_autostart_content() else: self.selected_option.set(0) @@ -1144,10 +1145,9 @@ class FrameWidgets(ttk.Frame): if __name__ == "__main__": AppConfig.ensure_directories() AppConfig.create_default_settings() - CryptoUtil.decrypt(getpass.getuser(), AppConfig.CONFIG_DIR) _ = AppConfig.setup_translations() LxTools.sigi(AppConfig.TEMP_DIR) - + CryptoUtil.decrypt(getpass.getuser()) window = Wirepy() LogConfig.logger(ConfigManager.get("logfile")) """ diff --git a/wp_app_config.py b/wp_app_config.py index 435f9cf..8462aeb 100755 --- a/wp_app_config.py +++ b/wp_app_config.py @@ -57,7 +57,7 @@ class AppConfig: # Updates # 1 = 1. Year, 09 = Month of the Year, 2924 = Day and Year of the Year - VERSION: str = "v. 2.04.1725" + VERSION: str = "v. 2.06.0725" 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" @@ -153,6 +153,8 @@ class AppConfig: text=True, check=False, ) + if process.returncode == 0: + logging.info(process.stdout, exc_info=True) if process.stderr: logging.error(f"{process.stderr} Code: {process.returncode}", exc_info=True) -- 2.47.2