bf9063b1f8Refactor of Ticket flow. Stable to get confirmed Result via CLI. Not yet GUISimplifiedPrivacy2026-10-23 19:32:12 -0400
8dca35d5c9New payment flow confirms paid status and updates. Solved the previous issue with repeat invoices attempting to get a new invoice but being told its paid without an invoice.SimplifiedPrivacy2026-10-23 16:05:59 -0400
00ef301bafRelying on end_singbox now, instead of a dedicated helper for mini-takedownSimplifiedPrivacy2026-10-22 21:50:43 -0400
8a72ae76fdFixed a bug in teardown of failed attempt, to properly kill firewallSimplifiedPrivacy2026-10-22 21:49:24 -0400
af368db8b7Ticket Refactor to accept ServerReply objects, and keep the internal flow returning Result objectsSimplifiedPrivacy2026-10-22 03:31:33 -0400
2208cedb7eIntroduced Location & MTU testing on systemwide Wireguard. As well as IP address testing instead of the previous method. Additionally, 400 status APIs now pass through the APIResponse layer as True to be evaluated by the SeverReply Layer. Finally notifications are better integrated to convey the testing rounds to the end user.SimplifiedPrivacy2026-10-21 13:37:21 -0400
ed517f4568Direct httpx2 IP address checking, instead of subprocess for connection tests.SimplifiedPrivacy2026-10-19 21:36:22 -0400
a7b733db0dFunctions added for wiping tickets when expired (the entire ticket cycle). Also general error fixing for the payments flowSimplifiedPrivacy2026-10-19 19:44:23 -0400
840c2ccb58Improved State Management integrated with the UI upgrades, to evaluate failed zombie systemwide connections. And then prompt the user if they'd like to evaluate them for re-use, or close it.SimplifiedPrivacy2026-10-19 16:32:43 -0400
fcace28890Introduced a Global State Management system, with a repo cache and notifications to the UI.SimplifiedPrivacy2026-10-18 21:16:52 -0400
5023b09928Isolated error translation to it's own module. Finality to ticket payments and the ticket prep changing the ConfigSimplifiedPrivacy2026-10-17 17:13:42 -0400
1f4b37dbe9Improved Multi-payment-cycle management. Moved check_paid and mark_paid to isolated service. Setup primary configuration to track ticket setupSimplifiedPrivacy2026-10-17 11:33:39 -0400
5dee318aa4Wireguard now checks if it needs to disable singbox based on systemstate. Also eliminated content from profilecontroller that was no longer being used for subscriptions, and causing circular import issuesSimplifiedPrivacy2026-10-15 19:30:34 -0400
0931200c79Fixing wireguard breaking due to changes in systemwide state from singbox kill checking wireguard firstSimplifiedPrivacy2026-10-15 19:13:57 -0400
6107a355f9Improved singbox cleanup process. And added support for killing wireguard profiles inside end_singbox.SimplifiedPrivacy2026-10-15 19:02:47 -0400
ba3ce97e34moving commented out imports that were shifted when the profile_connections got it's own moduleSimplifiedPrivacy2026-10-15 16:26:18 -0400
5dc1463862Singbox on disable, checks if wireguard is active, and kills itSimplifiedPrivacy2026-10-15 16:20:44 -0400
732b17fb4aIntroduced new ProfileRepo to cache profiles. All profile access is now coordinated through the ProfileController. And the ProfileController's previous bloat mission-creep of connections, is now moved to it's own service repoSimplifiedPrivacy2026-10-15 12:10:49 -0400
81002cd76dThe Plumbing now allows for the service to provide it's own function_choice when it returns a result. Separetly, a new type_checker wrapper is now available for use. And finally, the config model now passes around the same instance as a singleton to avoid new file operations to just readSimplifiedPrivacy2026-10-14 18:16:13 -0400
7ba8e1e6d3Plumbing stable for GUI to call upon via inserted ENUM DICTSimplifiedPrivacy2026-10-13 21:19:49 -0400
69f4e7114fRefactored billing to have core doing more, and GUI doing less. Also heavily relying upon the singleton pattern to transfer data between UI pages and core functionsSimplifiedPrivacy2026-10-12 20:24:04 -0400
9e4fd54eb6Introduced MTU tools. MTU set for session configs automatically, for systemwide the testing is setup but not yet implemented. Also introduced server reply objects and a new v2 wg endpoint that doesn't require location codes.SimplifiedPrivacy2026-10-11 20:18:52 -0400
10e46cd8eaNew refactored Use of tickets and payment of tickets loops/state, integrated with existing systemSimplifiedPrivacy2026-10-11 12:33:21 -0400
6a445eba41Ticket Inovices Stable with Big Bang Refactor. Still need to resolve issues with ticket billing invoice config already existingSimplifiedPrivacy2026-10-10 18:27:02 -0400
f9698ced68Support for multiple invoices being managed through a global payment cycleSimplifiedPrivacy2026-10-10 15:25:36 -0400
430696b480Resume Payments for individual profiles stable. Also fixed a bug with errors in filtering invalid replies to getting new wireguard conifgsSimplifiedPrivacy2026-10-07 18:33:16 -0400
52b3e1ba94Big Bang Refactor of Payments. Introduced a new paymentdata singleton that stores data across pages and on disk. Also introduced a suite of functions for handling paymentsSimplifiedPrivacy2026-10-07 13:29:19 -0400
57774ae697Infrastructure for payments overhaul. With state storage for billing, type checking, enums, and serialization. Also plan sql further refinedSimplifiedPrivacy2026-10-04 20:07:56 -0400
b132265a04Location model shifts to boolean types. This will force a migration via Constants DB version.SimplifiedPrivacy2026-10-03 16:55:22 -0400
9627b1861dIntroduced new model: Plan. This differs from the legacy subscriptions because its based on time in months and supports multiple protocols at once in a list enum formatSimplifiedPrivacy2026-10-03 14:47:38 -0400
f2922b02a0Enabled support for editing systemwide profile protocols including vless/hysteria2SimplifiedPrivacy2026-10-03 11:39:57 -0400
44558fb514Large 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.SimplifiedPrivacy2026-08-24 15:57:42 -0400
fcf469bd03Manual Explicit Wireguard enable via nmcli for Improved Cross-Linux distro support.SimplifiedPrivacy2026-08-24 11:50:34 -0400
0983d1a68dChanged 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.SimplifiedPrivacy2026-08-24 11:24:23 -0400
39efcaa174Cython 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.SimplifiedPrivacy2026-08-22 20:48:22 -0400
a69b87817cImproved Connection Observer Feedback for all systemwide protocolsSimplifiedPrivacy2026-08-21 15:31:52 -0400
e18fec84f2Fixed Repeat 'already have ticket, do you want to wipe?' errors, by actually wiping it before starting over. Not just starting over directly, like beforeSimplifiedPrivacy2026-08-20 17:20:37 -0400
fe19044928Singbox enable now reads the output file to confirm it's upSimplifiedPrivacy2026-08-20 14:00:17 -0400
bdfb933548Sudo config management. Properly delete the config for protocol changes, and install it using the generic commands moduleSimplifiedPrivacy2026-08-20 12:23:37 -0400
5923cc8a7fVless 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 timeSimplifiedPrivacy2026-08-20 10:18:16 -0400
bdb4a285deDelete commented out legacy functions from before the move months ago to an isolated wireguard key moduleSimplifiedPrivacy2026-08-18 14:58:30 -0400
24c4648054Bug-Typo Fix: interface_name changed to interface to match the other singbox moduleSimplifiedPrivacy2026-08-18 13:27:05 -0400
6dac98835fAssassin 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.SimplifiedPrivacy2026-08-18 12:54:54 -0400
a78747e8e5Bug fix in subscriptions missing re import after the prior isolation transition to the new moduleSimplifiedPrivacy2026-08-15 17:45:06 -0400
5ab57ab287When 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.SimplifiedPrivacy2026-08-15 17:34:08 -0400
829feb5939The 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.SimplifiedPrivacy2026-08-15 14:09:34 -0400
31488f790eIntroduced 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.SimplifiedPrivacy2026-08-14 19:36:22 -0400
73c74d339fImproved use of connection observers & fixed a bug in compare versions if it was the same versionSimplifiedPrivacy2026-08-13 08:09:38 -0400
1d8c508c52Isolate connect's bootstrap, so non-connect users can bootstrap when making clients outside connectSimplifiedPrivacy2026-08-13 07:59:27 -0400
d9bee758a8Isolated download file modules to their own module, then had both the install application versions (browsers), and install dependencies both use that same module.SimplifiedPrivacy2026-08-13 07:33:16 -0400
b5e72ae7f6More clear variable names and docs on Make HTTPx Client. But it always returned booleanSimplifiedPrivacy2026-08-13 06:11:14 -0400
01bd5f8d3fApplicationController 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).SimplifiedPrivacy2026-08-12 14:19:55 -0400
b84bb2eefaSingbox 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.SimplifiedPrivacy2026-08-12 13:11:12 -0400
c291517b7fSingbox Protocols can be enabled via the main ProfileControllerSimplifiedPrivacy2026-08-10 18:55:23 -0400
c3b50460cdIP address checking for singbox enforced in singbox runnerSimplifiedPrivacy2026-08-10 17:58:31 -0400
9d0d140467Singbox 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.SimplifiedPrivacy2026-08-10 15:49:47 -0400
061df01a0dWireguard renegotiation now flows through the new HTTPx modulesSimplifiedPrivacy2026-08-07 15:05:17 -0400
320037a2b1EncryptedProxy configuration path setup, but not yet functional. Pydantic models for each protocol are being setup.SimplifiedPrivacy2026-08-06 20:58:36 -0400
94c4155d60Get configs from controller's state, instead of reading the diskSimplifiedPrivacy2026-08-06 15:57:37 -0400