initial commit

This commit is contained in:
2026-08-25 14:27:22 +01:00
commit 7c9723fd95
14 changed files with 902 additions and 0 deletions

53
launcher/config.py Normal file
View File

@@ -0,0 +1,53 @@
import json
import os
from pathlib import Path
DEFAULT_CONFIG = {
"app_title": "FJLA Gateway",
"checks": {
"network_targets": [["1.1.1.1", 53], ["8.8.8.8", 53]],
"ziti_target": ["127.0.0.1", 3020],
},
"services": [
{
"id": "helloworld",
"title": "Test Service",
"desc": "Test Service",
"type": "browser",
"target": "https://www.example.com",
},
],
}
def get_config_path():
"""Determines standard user config path: ~/.config/launcher/config.json"""
config_dir = Path.home() / ".config" / "launcher"
config_dir.mkdir(parents=True, exist_ok=True)
return config_dir / "config.json"
def load_launcher_config(config_path=None):
path = Path(config_path) if config_path else get_config_path()
if not path.exists():
save_default_config(path)
return DEFAULT_CONFIG
try:
with open(path, "r", encoding="utf-8") as f:
user_config = json.load(f)
merged = DEFAULT_CONFIG.copy()
merged.update(user_config)
return merged
except Exception as e:
print(
f"Error loading config from {path}: {e}. Running with default config"
)
return DEFAULT_CONFIG
def save_default_config(path):
try:
with open(path, "w", encoding="utf-8") as f:
json.dump(DEFAULT_CONFIG, f, indent=4)
print(f"Created default configuration at: {path}")
except Exception as e:
print(f"Failed to save default config: {e}")