Skip to content

Project Structure

BrodjagaRatnik edited this page May 26, 2026 · 1 revision

📂 Project Structure

File/Folder Description
main.py Primary entry point for executing user-triggered GUI configurations and settings hooks.
service_startup.py Background system listener initializing standard service routines and managing the top-level loop.
resources/settings.xml Storage schema defining provider profiles, mapping settings, and credential parameters.
resources/keymaps/ Contains custom XML structural actions mapping global remote key inputs (F11) directly to the GUI menu.
resources/language/ Core internationalization module managing clean layout strings and dynamic labels (strings.po).
resources/lib/list_assets.py Slot manager wizard pairing active ConnMan connection handles directly to target video plugins.
resources/lib/service_launcher.py Coordinates background thread initialization, startup cleanup operations, and background loop interval timing.
resources/lib/service_loop.py The Watchdog Engine: Monitors active video playback, evaluates profile mapping rules, and triggers home timeouts.
resources/lib/service_updater.py Dedicated settings monitor handling runtime credentials processing, token decoding, and background provider updates.
resources/lib/service_resolver.py Translates localized UI addon definitions into functional ConnMan connection profiles and WireGuard identifiers.
resources/lib/vpn_ops.py Core engine coordinating system disconnect tracking, gateway route recovery, and caching active adapter state changes.
resources/lib/vpn_connector.py Dedicated handshake engine processing API requests, checking server metadata (ipinfo.io), and building live profile configurations.
resources/lib/vpn_config.py Centralized constants mapping provider metadata dictionaries, timeouts, delay timers, and layout constants.
resources/lib/network_utils.py Network controller toggling ConnMan kernel states to secure DNS paths and prevent IPv6 leak issues.
resources/lib/logger.py High-visibility debugging output processor using dynamic version tags and standalone system execution compatibility.
resources/lib/providers/ Isolated package handling provider logic: nordvpn.py (Tokens), pia.py (Credentials/Handshakes), and custom.py (.config file parser).
resources/scripts/update_vpn.py Unified standalone update automation pipeline querying endpoint server lists and writing active WireGuard layouts.
resources/data/ Contains static core configurations for vpn-watchdog.service, connman_main.conf, and profile setup templates.
resources/media/ Repository asset bank for UI design elements, visual indicators, error warning popups, and custom warning wave sounds.

Clone this wiki locally