From 0ebb42dcbde51626cc1f4f9d7175c6eef126f92a Mon Sep 17 00:00:00 2001 From: Zarithas Date: Thu, 13 Nov 2025 12:10:06 -0500 Subject: [PATCH] UI Tweaks + Config Addition of TELEMETRY and TELEM_URL fields --- default_system_config.json | 4 +++- utils/configmanager.py | 2 ++ utils/setup.py | 6 +++++- utils/tui.py | 6 +++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/default_system_config.json b/default_system_config.json index b09f901..decfd79 100644 --- a/default_system_config.json +++ b/default_system_config.json @@ -1,5 +1,5 @@ { - "APPNAME": "AirlockTools", + "APPNAME": "Loxide", "URL": "https://server:3129", "LOG_LEVEL": "INFO", "BAD_PATH_PARTS": ["users","wwwroot","windows\\temp","windows\\task","windows\\system32","startup", "windows\\fonts","Recycle.Bin","AppData","programdata", "Solarwinds","kaseya"], @@ -8,6 +8,8 @@ "PATH_EXCLUSION_CONST": 4, "MIN_FILES_FOR_PATH": 4, "VT_THREAT_TOLERANCE": 4, + "TELEMETRY": "FALSE", + "TELEM_URL": "", "POLICY_MAP_ENF_AUD": { } diff --git a/utils/configmanager.py b/utils/configmanager.py index b099fa3..7b5aea5 100644 --- a/utils/configmanager.py +++ b/utils/configmanager.py @@ -24,6 +24,8 @@ T = TypeVar("T") logger = logging.getLogger(__name__) PROTECTED_KEYS = [ + "URL", + "TELEM_URL", "APPNAME", "LOG_LEVEL", "PATH_EXCLUSION_CONST", diff --git a/utils/setup.py b/utils/setup.py index 4277389..77bc5a0 100644 --- a/utils/setup.py +++ b/utils/setup.py @@ -122,7 +122,11 @@ def load_system_config() -> dict: def load_user_config(config_dir: Path) -> dict: user_config_path = config_dir / "user_config.json" if not user_config_path.exists(): - default_user_config = {"URL": "", "LOG_LEVEL": "INFO"} + default_user_config = { + "TELEMETRY": "FALSE", + "TEXTUAL_THEME": "gruvbox", + "EXTRAS": "NOTTODAY", + } with open(user_config_path, "w") as f: json.dump(default_user_config, f, indent=4) logging.debug(f"Created user config at {user_config_path}") diff --git a/utils/tui.py b/utils/tui.py index 9e55261..9f32133 100644 --- a/utils/tui.py +++ b/utils/tui.py @@ -114,12 +114,12 @@ class MainMenuScreen(Screen): "🖥️ - Find, Move, or Generate OTP for Agents", "move_agent_workflow_button", ), + ("📊 - OTP Activities By Agent", "otp_activities_button"), ("🔇 - Find Quiet Hosts", "find_quiet_button"), ], "policy": [ ("🔒 - Prepare Policy For Enforcement", "policy_prep_button"), ("🔄 - Update Audit Policies", "policy_audit_update_button"), - ("📊 - OTP Activities By Agent", "otp_activities_button"), ("❌ - Revoke OTPs", "otp_revoke_button"), ], } @@ -383,7 +383,7 @@ class Loxide(App[Message]): """ BINDINGS = [ ("q", "quit", "Quit"), - ("d", "open_dir", "Open Directory"), + ("f", "open_fe", "Launch Explorer"), ] def __init__(self, api: AirlockAPIWrapper): @@ -430,7 +430,7 @@ class Loxide(App[Message]): _PENDING_JOB = None self.exit() - def action_open_dir(self) -> None: + def action_open_fe(self) -> None: """Open the working directory in the OS file manager (footer binding).""" path_to_open = self.working_dir or os.getcwd() try: