Commit Graph
183 Commits
Author SHA1 Message Date
LorenEteval 7dfd5c6cd7 Refactor: Migrate to QTableView
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
Retinue Bonnets e33e449031 Fix subscription update: preserve base64 result and set User-Agent
Two regressions broke subscription updates against typical providers:

1. In SubscriptionManager.successCallback, the plain-text fallback added
   in 88e447d ran unconditionally after the base64 try block, overwriting
   the correctly parsed share links with a single line of raw base64. Move
   it into the failure branch (with a "://" sanity check so pybase64's
   lenient decode of plain text doesn't slip through as a false positive),
   and report failure only when both decoders fail.

2. updateSubsByWebGET issued the request without a User-Agent header.
   Some providers respond with 503 to the default Qt UA. Identify
   ourselves as "Furious/<version>" so the request goes through.
2026-05-20 20:09:19 +05:00
Igor c98f7044a7 Fix macOS monochrome tray icon state styling 2026-05-05 00:08:09 +04:00
Loren Eteval 6d4fa773e1 UI: Added "Finalmask" in transport page
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-06 20:02:04 +08:00
Loren Eteval b09326a13f Added "pcs" & "vcn" entry in UI. Renamed "Ech" to "EchConfigList"
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-06 20:00:49 +08:00
Loren Eteval 6eb3989811 Make the settings read/write more robust
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 14:20:07 +08:00
Loren Eteval d3639759d2 Rename "network state" to "network connectivity"
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 01:19:48 +08:00
Loren Eteval 7682b586ee Added "Activate Selected Server" in server menu
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 00:53:23 +08:00
Loren Eteval f547c16aa2 Added support for customizing proxy bypass address & network test URL
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 00:07:46 +08:00
Loren Eteval 3ed8db3cf9 UI: Added page for raw & hysteria transport
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 00:06:59 +08:00
Loren Eteval dd04ddf6cb UI: Added congestion control for hysteria2
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 00:00:30 +08:00
Loren Eteval 88e447d30d 1. Added support for updating subs from remote plain text
2. Added index refreshing while deleting servers

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-03-06 01:16:45 +08:00
Loren Eteval 8a6102a13f Fixed to checkable=False for "Advanced..." menu
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-01-23 10:25:00 +08:00
Loren Eteval 7b9c28f753 Update constants usage
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-16 10:11:09 +08:00
Loren Eteval ae9c925e4a Fix theme detection
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-15 13:34:37 +08:00
Loren Eteval 7d811fb4ba Added linux deb & flatpak deployment steps
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-15 00:01:47 +08:00
Loren Eteval ae017d66e0 Fix "ADMINISTRATOR_NAME" is not retranslated
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-13 21:45:21 +08:00
Loren Eteval 28fa8c12b3 Move classname to Utility.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-13 21:32:18 +08:00
Loren Eteval 01d433f412 Added "Scan QR Code On The Screen" implementation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-04 11:04:34 +08:00
Loren Eteval be253ebbd2 Added Linux TUN implementation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-03 20:17:58 +08:00
Loren Eteval 694d1e4b65 Switch to enum implementation for routing and proxy mode
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 16:40:47 +08:00
Loren Eteval 1e9626b5c7 Update message box name
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 15:47:26 +08:00
Loren Eteval b1364a9fe3 Dark mode will be decided based on itself in admin mode
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 15:07:25 +08:00
Loren Eteval 9109b0d527 Set hasDataCounter mod to 25
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 15:06:54 +08:00
Loren Eteval 4da47596ae Fix itemSubscription field not shown due to circular import
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 14:58:11 +08:00
Loren Eteval 9e6968c9b3 Fix configuration clone bug
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-01 22:56:54 +08:00
Loren Eteval 09da741777 Added restart as admin implementation on macOS
Note:
1. some shortcuts are not working
2. copy & paste not working, clipboard may not be useable

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-01 22:55:54 +08:00
Loren Eteval d3d739ae0c Added restart as admin implementation on Windows
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-01 17:14:04 +08:00
Loren Eteval f3a3188952 Update logging point size settings name
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-28 15:45:39 +08:00
Loren Eteval 58d79386c5 Use SpinBox for Tun2socks memory optimization UI
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-28 15:41:50 +08:00
Loren Eteval 7b2f0d65f9 Update ConnectProgressBar style
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-28 15:39:10 +08:00
Loren Eteval 122bfe7be0 Added Tun2socks memory optimization implementation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-27 22:37:14 +08:00
Loren Eteval d8e842c31a Add GUI for TLS ech and reality pqv
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-27 22:36:34 +08:00
Loren Eteval a9ddfcebf7 Add functools.lru_cache(None) decorator at groupBoxSequence call
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-27 22:35:51 +08:00
Loren Eteval f75a25b94c Refresh code base
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-27 10:38:13 +08:00
Loren Eteval 35ec544ca8 Fix application exit problems when having multi-test on macOS
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-24 11:51:20 +08:00
Loren Eteval 06eb48bbea Update Application.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-23 23:50:11 +08:00
Loren Eteval d9c1fc6b4e Add setAlternatingRowColors(True) in XrayAssetViewerQListWidget.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-23 23:49:02 +08:00
Loren Eteval e4fc457280 Add show logs action in UserServersQTableWidget context menu
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-23 23:48:21 +08:00
Loren Eteval ec534851a6 Add tooltip in UserSubsQTableWidget.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-23 17:26:19 +08:00
Loren Eteval bde0714223 Add tooltip in UserServersQTableWidget.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-23 17:25:56 +08:00
Loren Eteval cec37444e4 Fixed race condition when exiting Application on macOS
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-22 18:30:17 +08:00
Loren Eteval 191c6303f1 Update copyright notice
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-22 11:07:16 +08:00
Loren Eteval edb5da7038 Add APP().isExiting() condition when fetching job for multi-testing
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-21 22:43:34 +08:00
Loren Eteval f9a6b2b2ef Add Win32Session protection
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-21 22:14:26 +08:00
Loren Eteval 3a422ad5ec Update Application.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-21 22:09:28 +08:00
Loren Eteval 03a5de67b0 Fix semaphore count should be at least one
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-21 22:03:04 +08:00
Loren Eteval b5ec7b3bf5 Add "Hide Dock Icon" option
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-17 23:38:47 +08:00
Loren Eteval 2bbb966e3f Fix semaphore leak when using multi-test
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-17 19:14:11 +08:00
Loren Eteval 062ee04943 Add multithreaded download speed test
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-13 17:41:46 +08:00