Commit graph

112 commits

Author SHA1 Message Date
c291517b7f Singbox Protocols can be enabled via the main ProfileController 2026-08-10 18:55:23 -04:00
9d0d140467 Singbox Orchestration! Significant progress made on singbox flow, we now have a working: 1) Configure via singbox_configure. 2) Enable/disable directly via singbox module. 3) Enable/disable with full orchestration via singbox_runner. 4) process id utils isolated. 5) Singbox takedown uses JSON & process id, but not yet coordinating a mismatch. Also in this update: Transition traditional wireguard subscription post/get requests to the new HTTPx system. 2026-08-10 15:49:47 -04:00
061df01a0d Wireguard renegotiation now flows through the new HTTPx modules 2026-08-07 15:05:17 -04:00
94c4155d60 Get configs from controller's state, instead of reading the disk 2026-08-06 15:57:37 -04:00
c4802d3c7d Transition ticket prep from old requests-based GET/POST system to the new httpx one 2026-08-06 12:22:57 -04:00
1b609a9e5e Fixed application_versions insert on sync 2026-08-06 10:58:44 -04:00
8da4978498 Linter bug fixes. Mostly undeclared, unused, or missing imports. One or two outright typos. There's still issues with undeclared types that need to be fixed after api connection refactor is fully implemented. 2026-08-05 12:03:11 -04:00
b70818f774 Added a forced sync at startup if there's no DB pre-existing, to handle a bug in GUI with no application versions. Isolated application_version database calls to their own module. And fixed a bug in SyncController to catch if application_version updates and split them into the different tables. 2026-08-05 02:45:52 -04:00
46c8721a1a Sync from the main app streamlines into the Connect module, to do async bulk sync. Additionally ApplicationVersion was transitioned from manual SQL to the ORM, for easier compatibility with the newer sync system. The side effect functions of this have been tested to be stable. 2026-08-04 20:17:45 -04:00
0e64351b5a Improved systemwide speed, by Turning Wireguard subprocess commands into to recycled generic_run_commands that re-use the terminal 2026-08-03 19:33:22 -04:00
ed055f338d Introduced Connect Module, which manages HTTPx Clients, solves network/DNS issues, and coordinates Tor Bootstraps. Introduced async & single endpoint full workflows. This version is stable and tested for DNS & Tor problems. Also modified Configuration to be Pydantic, instead of @dataclass_json, and changed the connection type to enums. Further, there's a new enum function to get the new enum types, but the legacy function exists for backwards compatability. 2026-08-03 16:59:39 -04:00
d68ae02335 Bug fix on ProfileController's disable missing the imported result type to pass on to GUI 2026-07-29 19:05:06 -04:00
bf22f764d0 Singbox takedown modules, with a graceful shutdown, then kill, then searching for processes with the phrase. And doing tunnel checks inbetween 2026-07-29 18:58:59 -04:00
46a84661a0 Improved Firewall Checks on Disable to double check and properly source the config 2026-07-28 17:45:40 -04:00
a76ef50ed7 Improved Systemwide feedback errors to GUI 2026-07-27 19:54:22 -04:00
19b3925bd1 Refactored flow for main wireguard orchestration functions. Streamlined for better error handling and removal of NoneType objects 2026-07-27 18:17:49 -04:00
cb11e11e49 Editing out the already moved & commented out Connection Controller pieces 2026-07-25 14:21:55 -04:00
3afd4a8f9b Isolating the nmcli segments to a separate module 2026-07-25 14:01:37 -04:00
1baaa4042c Separation of performing subprocess commands, parsing them for error strings, and handling those errors as enum types. Systemwide error handling was introduced via a wrapper to all systemwide functions requiring the sudo scripts. 2026-07-23 18:41:52 -04:00
ff493455b3 Introduced Managed DNS settings to Wireguard, which is redundant for nmcli. However, this same framework can be used for other protocols or implementations. 2026-07-22 14:04:50 -04:00
c4ffe9be3c Integration of Firewall feature to Systemwide Wireguard 2026-07-21 09:44:03 -04:00
bd34f456b5 Introduced IP-interface-based killswitch support for systemwide wireguard, on enable only. This version is stable and working for enable only, with a test script in the fileslot. And fixed GUI's object save creation. Additionally rolled back Connection data models to previous non-enum version. 2026-07-20 13:07:04 -04:00
2ccbdba06b Surgery on ConnectionController! Huge separation of ConnectionController & ProfileController into naked function modules for enabling a connection, registering wireguard keys, coordinating proxy configs, subscriptions, endpoint verification, and the logistical flow. Additionally enums were used for type checking, instead of polymorphic functions. This version is stable and confirmed working for systemwide and session wireguard, but not yet proxies. 2026-07-18 23:35:48 -04:00
9740e0f53b Unused imports commented out 2026-07-18 19:48:26 -04:00
fd7949cea4 Stable working version of ConnectionController being operated on, split up into systemwide and testing_evaluating. Then ProfileController had a split off of endpoint verification to avoid circular imports 2026-07-18 17:47:25 -04:00
703fe57c12 Introduce Base profile types on load, which gradually will switch over on save/edits. Transition Connections to using Enum instead of raw strings. 2026-07-18 16:44:54 -04:00
00d6fc7738 Pushed Edit Profile GUI logic into core. Cut ProfileController's role in this, and setup an isolated update_profile function to pass saves to the model 2026-07-17 22:33:00 -04:00
4fb84b47d0 LocationController was missing some definitions. Also migrations was changed to do imports inside the function using session management tools. And finally Tor networking requests fixed DNS problem labels, increasd timeouts, and streamined ip address reuse. 2026-07-17 09:29:49 -04:00
3977a5b695 Migrations Transition Stable for old versions of the app to update the schema 2026-07-16 15:35:03 -04:00
a9b6b9ffe3 Robust Database Error Handling & Migrations System. For New Client upgrades (Operational Errors) & Old Clients with New JSON keys from an API (TypeErrors). We also added an SQL generic handling wrapper for use across any project or function. 2026-07-15 19:00:16 -04:00
1722905e62 Added Support for Retries of Tor DNS failures with a custom HTTPX DNS resolver using DoH Quad9 via Tor, to then go direct. And setup ticket and sync modules to use this new error solver. 2026-07-13 15:50:04 -04:00
c6a189c360 Revamp of GET/POST API requests for both Tor and Clearweb. Why: Move towards more clear Tor API error feedback. And reduce redundancy. Status: Stable, works for both clear/tor and GET/POST. Still Needs: UI feedback, DNS Tor improvements 2026-07-11 20:37:11 -04:00
a1409fd1d5 Improved Tor Error messages 2026-07-07 17:08:01 -04:00
093e9aacd8 Comment clarity on pre-existing Connections, and support for vless and hysteria2 in the connection model 2026-07-03 17:24:49 -04:00
74e22e7b60 Improved Tor Error Handling. And Tor IPv6 Fix with associated sp-essentails fix and version bump 2026-06-29 15:13:06 -04:00
69834d85d5 Introduced Database Compatibility checks for old or new versions with different schemas 2026-06-28 21:49:19 -04:00
2aa077a400 Big Transition: Location & Operator turned into SQLAlchemy models. This forces a change across baseprofile, Locationcontroller, and even GUIs type handling 2026-06-27 17:10:28 -04:00
28201da22e Cleanup dev artifacts 2026-06-23 19:33:10 -04:00
2dd2324b1f Tor Folder adjustment on new features to match legacy's patterns 2026-06-23 19:28:27 -04:00
28d4f3d276 Isolated the literal Sync API function to its own module, and streamlined the sync UI feedback 2026-06-23 11:13:19 -04:00
dc46d4136a Sync streamline introduced for cached data 2026-06-22 17:30:42 -04:00
8e2ea64b6b Controller for invoice checks if an invoice already exists to avoid wiping paid ones 2026-05-22 21:10:38 -04:00
d602f251e0 Improved Ticket UI messaging and and flow 2026-05-21 13:10:51 -04:00
75d026651a Introduced Anonymous Ticket Billing Options 2026-05-04 15:33:50 -04:00
f3298856ed Further integrate Simplified Privacy essentials library 2026-03-18 20:10:29 +01:00
a3a9fb8843 Integrate Simplified Privacy essentials library 2026-03-16 16:37:00 +01:00
0ab1ac4168 Update file management-related logic 2026-02-11 09:48:08 +01:00
3c216b21b5 Improve connection management-related logic 2026-01-20 06:54:56 +01:00
6dc6b0af48 Improve support for stateful Tor sessions 2026-01-18 21:13:53 +01:00
531f5cdf3c Add support for stateful Tor sessions 2026-01-18 05:15:18 +01:00