Commit graph

  • b29a44cf95 Phasing out legacy dict for Result Objects master SimplifiedPrivacy 2026-08-27 11:47:01 -0400
  • ced69bfa4f Use Ticket Controller returns Return objects SimplifiedPrivacy 2026-08-26 09:56:38 -0400
  • f038f7a8da Error type handling SimplifiedPrivacy 2026-08-24 16:06:03 -0400
  • 44558fb514 Large changes to the flow for using tickets. More formalized updating of JSON with explicit tools, instead of generic JSON functions. Orchestration returns Return objects, which are then formatted to dict for the GUI. SimplifiedPrivacy 2026-08-24 15:57:42 -0400
  • fcf469bd03 Manual Explicit Wireguard enable via nmcli for Improved Cross-Linux distro support. SimplifiedPrivacy 2026-08-24 11:50:34 -0400
  • 0983d1a68d Changed bash generic commands to no longer use blocking methods to search through the terminal output to help with broken pipe errors, and instead select. But kept it non-blocking for the entire terminal itself. Also refactored Use Ticket Controller to reduce nesting if statements. SimplifiedPrivacy 2026-08-24 11:24:23 -0400
  • 39efcaa174 Cython for Miller's Loop Cryptography first introduced, which dramatically reduces verification times. Includes a setup.py option for manual builds if desired. README for manual compile if desired. And a fallback import using the legacy python-only system. SimplifiedPrivacy 2026-08-22 20:48:22 -0400
  • a69b87817c Improved Connection Observer Feedback for all systemwide protocols SimplifiedPrivacy 2026-08-21 15:31:52 -0400
  • 8968d89c5c Fallback for AppImage to preloaded YAMLs via pathlib SimplifiedPrivacy 2026-08-21 12:38:32 -0400
  • 7fa65f80ba Database error types SimplifiedPrivacy 2026-08-21 11:48:46 -0400
  • 90e7ee8da5 Sync Insert for unknown fields now drops the unknown fields, and proceeds. SimplifiedPrivacy 2026-08-21 11:46:58 -0400
  • 85db628921 Version bump & adding validators to dependencies SimplifiedPrivacy 2026-08-20 18:39:29 -0400
  • 6d8b457593 Improved error handling and consolidation on ticket purchase flow SimplifiedPrivacy 2026-08-20 18:00:58 -0400
  • e1221d4c45 Renamed do_we_have_billing_id to ticket_config_tools SimplifiedPrivacy 2026-08-20 17:25:28 -0400
  • e18fec84f2 Fixed Repeat 'already have ticket, do you want to wipe?' errors, by actually wiping it before starting over. Not just starting over directly, like before SimplifiedPrivacy 2026-08-20 17:20:37 -0400
  • 07f0cf8007 Cleanup of Legacy code and commented sections SimplifiedPrivacy 2026-08-20 14:06:28 -0400
  • fe19044928 Singbox enable now reads the output file to confirm it's up SimplifiedPrivacy 2026-08-20 14:00:17 -0400
  • bdfb933548 Sudo config management. Properly delete the config for protocol changes, and install it using the generic commands module SimplifiedPrivacy 2026-08-20 12:23:37 -0400
  • 5923cc8a7f Vless is now working. Config Parsing and setup is stable, and increased the wait time for connection testing. But this is a temporary solution. The real answer is not a static time check, but a dynamic result reading for when to test. Which then has it's own timeout time SimplifiedPrivacy 2026-08-20 10:18:16 -0400
  • c8811c93bb Linter undefined or missing import bugs SimplifiedPrivacy 2026-08-19 21:40:36 -0400
  • bdb4a285de Delete commented out legacy functions from before the move months ago to an isolated wireguard key module SimplifiedPrivacy 2026-08-18 14:58:30 -0400
  • 24c4648054 Bug-Typo Fix: interface_name changed to interface to match the other singbox module SimplifiedPrivacy 2026-08-18 13:27:05 -0400
  • ff54373b0f Failed Assassin disable raises error SimplifiedPrivacy 2026-08-18 13:03:16 -0400
  • 6dac98835f Assassin mode Introduced! The assassin_tools allows for creation/use of a session profile with random attributes, ephemeral wireguard config, and coordinates using a ticket for it. This tools module also allows for wiping the assassin's ticket & wireguard config on disable. Additionally, this git commit sees ProfileController using these assassin_tools functions for a working implementation if the profile is marked assassin=True. Also the associated eco-system of ApplicationController starting apps, the existing non-ticket legacy subscription handlers, and even GUI needed to be adjusted to allow for this new assassin flow. Finally, the generic JSON utilities have been improved to make this feature more robust and reliable. SimplifiedPrivacy 2026-08-18 12:54:54 -0400
  • a78747e8e5 Bug fix in subscriptions missing re import after the prior isolation transition to the new module SimplifiedPrivacy 2026-08-15 17:45:06 -0400
  • 5ab57ab287 When a profile is deleted, it now automatically respawns the ticket if it's a ticket profile. Also fixed some bugs with fetching the server's public key with the APIResponse object being used, when it expected a regular dictionary. This is a left-over from the prior transition to API objects. SimplifiedPrivacy 2026-08-15 17:34:08 -0400
  • 829feb5939 The profile object now has a ticket field. It's now none by default. Also the profile object is passed in, for the use of tickets, both for GUI and core. SimplifiedPrivacy 2026-08-15 14:09:34 -0400
  • 31488f790e Introduced Ticket/Billing-Code Respawn, with dual paths on the ticket prep orchestration, it's helper functions, and the main prep controller. This introduced the functions, which were tested with a demo CLI client and local server, and appears to be stable. Server-side endpoints will be pushed as well. Note: This update couples profile slot ids more closely with which ticket slot id is being used for it, but they are not yet officially tied. In the future, they should be. SimplifiedPrivacy 2026-08-14 19:36:22 -0400
  • 1695e0314e Download of file deletes the temp folder from setup SimplifiedPrivacy 2026-08-13 08:24:33 -0400
  • 73c74d339f Improved use of connection observers & fixed a bug in compare versions if it was the same version SimplifiedPrivacy 2026-08-13 08:09:38 -0400
  • 1d8c508c52 Isolate connect's bootstrap, so non-connect users can bootstrap when making clients outside connect SimplifiedPrivacy 2026-08-13 07:59:27 -0400
  • d9bee758a8 Isolated download file modules to their own module, then had both the install application versions (browsers), and install dependencies both use that same module. SimplifiedPrivacy 2026-08-13 07:33:16 -0400
  • b5e72ae7f6 More clear variable names and docs on Make HTTPx Client. But it always returned boolean SimplifiedPrivacy 2026-08-13 06:11:14 -0400
  • 951802fe5c Improved Singbox Setup Error handling for edge cases SimplifiedPrivacy 2026-08-12 15:57:51 -0400
  • 01bd5f8d3f ApplicationController transitioned to the HTTPx Client system, instead of using requests library proxy for Tor. Also the GUI's observers now do strings to be more neutral to what object type is being downloaded (application_version objects vs dependency). SimplifiedPrivacy 2026-08-12 14:19:55 -0400
  • b84bb2eefa Singbox setup modules, which includes installation, download, move to sudo folder, and sudo setup scripts. Added a model, endpoint, and the ability to sync that model. (Related note: Server-side prepared the endpoint, and stocked with real data.) And also the sync service modules were adjusted to handle new data types more smoothly, before they had errors. As part of that sync flow change, the CachedSync metadata model was transitioned to ints instead of strings, with default 0 values. This should in theory migrate all clients without further changes needed. SimplifiedPrivacy 2026-08-12 13:11:12 -0400
  • c291517b7f Singbox Protocols can be enabled via the main ProfileController SimplifiedPrivacy 2026-08-10 18:55:23 -0400
  • c3b50460cd IP address checking for singbox enforced in singbox runner SimplifiedPrivacy 2026-08-10 17:58:31 -0400
  • 2a6b1eacd5 Support for auto-retry on Singbox enable SimplifiedPrivacy 2026-08-10 16:25:45 -0400
  • 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. SimplifiedPrivacy 2026-08-10 15:49:47 -0400
  • 3b1bf630f7 Changelog update SimplifiedPrivacy 2026-08-07 15:06:33 -0400
  • 061df01a0d Wireguard renegotiation now flows through the new HTTPx modules SimplifiedPrivacy 2026-08-07 15:05:17 -0400
  • 320037a2b1 EncryptedProxy configuration path setup, but not yet functional. Pydantic models for each protocol are being setup. SimplifiedPrivacy 2026-08-06 20:58:36 -0400
  • 94c4155d60 Get configs from controller's state, instead of reading the disk SimplifiedPrivacy 2026-08-06 15:57:37 -0400
  • 983924303d importlib for assets such as yaml SimplifiedPrivacy 2026-08-06 15:29:26 -0400
  • 4fe26db1db change log SimplifiedPrivacy 2026-08-06 12:24:34 -0400
  • c4802d3c7d Transition ticket prep from old requests-based GET/POST system to the new httpx one SimplifiedPrivacy 2026-08-06 12:22:57 -0400
  • 83857a0dcd Minor bootstrap log tweaks SimplifiedPrivacy 2026-08-06 11:41:26 -0400
  • e981a748e5 Tor Bootstrap Uses a new fresh config file. SimplifiedPrivacy 2026-08-06 11:27:50 -0400
  • 1b609a9e5e Fixed application_versions insert on sync SimplifiedPrivacy 2026-08-06 10:58:44 -0400
  • 8f184272b4 Integrated connect.singleendpoint() with the start of bulk sync getting metadata sync. Also improved observer feedback SimplifiedPrivacy 2026-08-05 13:16:02 -0400
  • 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. SimplifiedPrivacy 2026-08-05 12:03:11 -0400
  • a5f57f4f5e Let async bulk skip verification if they just came from verification via single api SimplifiedPrivacy 2026-08-05 03:03:52 -0400
  • 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. SimplifiedPrivacy 2026-08-05 02:45:52 -0400
  • 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. SimplifiedPrivacy 2026-08-04 20:17:45 -0400
  • 0e64351b5a Improved systemwide speed, by Turning Wireguard subprocess commands into to recycled generic_run_commands that re-use the terminal SimplifiedPrivacy 2026-08-03 19:33:22 -0400
  • 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. SimplifiedPrivacy 2026-08-03 16:59:39 -0400
  • fb43228f2f [200~Elaborate HTTPx feature-rich strategy with HTTPx Client Reuse, Tor Management, Tor bootstrap monitor & retry. HTTPx clients can be managed across modules and reused. There's an elaborate HTTPx retry strategy based on status codes. Tor management tries to use the existing Tor default ports, then checks the Tor config, before finally bootstrapping. There is now a ThreadPool futures executor, which even works with Tor, to batch API requests. SimplifiedPrivacy 2026-08-02 05:44:10 -0400
  • 3db70541ab Refactor run_generic_command to reuse and persist the same linux subprocess terminal SimplifiedPrivacy 2026-07-31 12:58:42 -0400
  • fd386c496f fix(wireguard): multiplatform support for Arch/Ubuntu/Fedora fix/wireguard-multiplatform zenaku 2026-07-31 05:11:55 -0500
  • d68ae02335 Bug fix on ProfileController's disable missing the imported result type to pass on to GUI SimplifiedPrivacy 2026-07-29 19:05:06 -0400
  • bf22f764d0 Singbox takedown modules, with a graceful shutdown, then kill, then searching for processes with the phrase. And doing tunnel checks inbetween SimplifiedPrivacy 2026-07-29 18:58:59 -0400
  • 26b2562415 Changelog and version bump for Singbox features coming out SimplifiedPrivacy 2026-07-29 15:07:52 -0400
  • 5377b7348b Introduced Singbox Proxy Feature Start Utility & Script. But it's not yet integrated to be used SimplifiedPrivacy 2026-07-29 15:04:33 -0400
  • 46a84661a0 Improved Firewall Checks on Disable to double check and properly source the config SimplifiedPrivacy 2026-07-28 17:45:40 -0400
  • bae5bfe7f3 Removing whitespace at the top of the sudo scripts SimplifiedPrivacy 2026-07-28 12:10:39 -0400
  • 7bde05d797 Switched setup from copying via AppImage folders, to instead writing to files, for cross package reliability SimplifiedPrivacy 2026-07-28 11:50:43 -0400
  • 28e0bba1d8 Production setup paths SimplifiedPrivacy 2026-07-27 21:29:37 -0400
  • a76ef50ed7 Improved Systemwide feedback errors to GUI SimplifiedPrivacy 2026-07-27 19:54:22 -0400
  • 19b3925bd1 Refactored flow for main wireguard orchestration functions. Streamlined for better error handling and removal of NoneType objects SimplifiedPrivacy 2026-07-27 18:17:49 -0400
  • e37d351d4c version bump SimplifiedPrivacy 2026-07-26 21:40:26 -0400
  • cb11e11e49 Editing out the already moved & commented out Connection Controller pieces SimplifiedPrivacy 2026-07-25 14:21:55 -0400
  • c67f12a306 Isolate DNS & Firewall functions for wireguard SimplifiedPrivacy 2026-07-25 14:15:48 -0400
  • 3afd4a8f9b Isolating the nmcli segments to a separate module SimplifiedPrivacy 2026-07-25 14:01:37 -0400
  • 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. SimplifiedPrivacy 2026-07-23 18:41:52 -0400
  • 4d6f810100 Setup Script & Actual Firewall DNS Scripts. As well as optional functions to do automated setups SimplifiedPrivacy 2026-07-22 20:37:20 -0400
  • dbff960aad DNS going off config, not hardcoded SimplifiedPrivacy 2026-07-22 14:54:52 -0400
  • ff493455b3 Introduced Managed DNS settings to Wireguard, which is redundant for nmcli. However, this same framework can be used for other protocols or implementations. SimplifiedPrivacy 2026-07-22 14:04:50 -0400
  • 208cb29f77 Improved Systemwide Firewall Disable Logic SimplifiedPrivacy 2026-07-21 11:19:53 -0400
  • c4ffe9be3c Integration of Firewall feature to Systemwide Wireguard SimplifiedPrivacy 2026-07-21 09:44:03 -0400
  • 9ba6d7e783 Version bump to 2.4.3. Stable for killswitch enable with test script SimplifiedPrivacy 2026-07-20 13:08:59 -0400
  • 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. SimplifiedPrivacy 2026-07-20 13:07:04 -0400
  • d8273171b5 Reduced redundant function for subscriptions in connection activation SimplifiedPrivacy 2026-07-19 15:37:27 -0400
  • a116597a38 Fixing proxy subscriptions SimplifiedPrivacy 2026-07-19 15:33:36 -0400
  • 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. SimplifiedPrivacy 2026-07-18 23:35:48 -0400
  • 9740e0f53b Unused imports commented out SimplifiedPrivacy 2026-07-18 19:48:26 -0400
  • 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 SimplifiedPrivacy 2026-07-18 17:47:25 -0400
  • fe3b7ad59e Version bump for Enum change SimplifiedPrivacy 2026-07-18 16:46:59 -0400
  • 703fe57c12 Introduce Base profile types on load, which gradually will switch over on save/edits. Transition Connections to using Enum instead of raw strings. SimplifiedPrivacy 2026-07-18 16:44:54 -0400
  • 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 SimplifiedPrivacy 2026-07-17 22:33:00 -0400
  • 5235f168a3 Clarify/comment unused function SimplifiedPrivacy 2026-07-17 12:40:38 -0400
  • 532a82f685 Added support for functions to Clear any model. It's use-case here is to clear the CachedSync model, but the function would be good for anything going forward. SimplifiedPrivacy 2026-07-17 12:35:44 -0400
  • c75026c834 Adjusted imports in migrations SimplifiedPrivacy 2026-07-17 09:50:36 -0400
  • 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. SimplifiedPrivacy 2026-07-17 09:29:49 -0400
  • 3977a5b695 Migrations Transition Stable for old versions of the app to update the schema SimplifiedPrivacy 2026-07-16 15:35:03 -0400
  • a085586448 Version bump for the Migrations and Database handling SimplifiedPrivacy 2026-07-15 19:02:07 -0400
  • 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. SimplifiedPrivacy 2026-07-15 19:00:16 -0400
  • 9c5636eb8c TunnelMonitor with is_tunnel_alive(), add WireGuardMonitor, arm/disarm killswitch on WireGuard connect/disconnect feature/merge-encrypted-proxy zenaku 2026-07-15 17:05:14 -0500
  • 0e9d82d2bb Tweaked the wording of client side database check messages to make them more user friendly SimplifiedPrivacy 2026-07-14 20:58:23 -0400
  • 54c5ef9bf4 Increased timeout time for requests SimplifiedPrivacy 2026-07-13 16:05:19 -0400