Commit Graph
226 Commits
Author SHA1 Message Date
Loren Eteval b111be2ffc Refine Qt top-level widget lifetimes
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:48 +08:00
Loren Eteval d05e57e260 Refactor plugin capability architecture
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:47 +08:00
Loren Eteval 4616aded6a Refactor package architecture
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:47 +08:00
Loren Eteval 219343a06a Reorganize application packages
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:38 +08:00
Loren Eteval 189d8793fe Clarify system proxy bypass labels
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:17 +08:00
Loren Eteval 70542b590d Clarify Tun2socks settings labels
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:16 +08:00
Loren Eteval 550ca528d1 Unify application theme design system
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:16 +08:00
Loren Eteval 30e0c0d854 Standardize Python source headers
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:16 +08:00
Loren Eteval 46bccfab32 Align tray routing with core plugins
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:15 +08:00
Loren Eteval 404aa6f127 Add plugin management menu
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:15 +08:00
Loren Eteval 8666815964 Introduce extensible core plugin architecture
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:15 +08:00
Loren Eteval 3c7de7c19b Format Python sources with Black
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:14 +08:00
Loren Eteval 67f3c2841c Add docstrings across Python modules
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:13 +08:00
LorenEteval b400b14313 Feature: added SOCKS protocol support
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:20 +08:00
LorenEteval 07c4ff8348 Continued: Improve TLS page widget UI layout
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:20 +08:00
LorenEteval 95690a73a0 Improve GuiTUNSettings page widget UI layout
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:20 +08:00
LorenEteval cbbdc5f979 Improve TLS page widget UI layout
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:20 +08:00
LorenEteval 70cbe9ca99 Improve "Basic Configuration" UI layout for VMess and VLESS editor dialog
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 478183cab6 Added "Generate" button for VLESS and VMess "Id" UI
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 99c99c54ae Fixed finalmask in "inputToFactory" returns wrong flag even when nothing modified
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 0edb76648d Improved TLS group box widget layout style
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 8f9075c248 Fix "rebuildMenu" issue for "Routing" tray menu
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval bc50fa5a8b Define custom "AppQSpinBox" to fix minimum width issue
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 2e8c5b590e Feature: added hysteria2 "Gecko" obfs UI support
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 9a9410e474 Update Furious/Widget/XrayAssetViewerQListWidget.py
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval a997cce470 Update Furious/Widget/UserSubsQTableView.py
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 323e8bc391 Update Furious/Widget/UserServersQTableView.py
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 0a07076274 Update icon filename in "Furious/Widget/SystemTrayIcon.py"
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:19 +08:00
LorenEteval 5b5dba3774 Update application icons
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 15dc1f61c3 Update "Furious/Widget/UserServersQTableView.py"
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 391418286c Update Furious/Widget/WaitingSpinner.py
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 3ceb35fb72 Fix embedded combo widgets in UserSubsWindow deleted too early in C++ backend
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval c0818ba2de Feature: Added waiting spinner support while deleting servers
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval a547eec7ce Feature: Added waiting spinner support while importing servers
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval f8c967f544 Fix C++ object already deleted bug in Furious/Widget/UserServersQTableView.py
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 6d28cceacf Refactor: migrate to test download speed scheduler
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 6ab16acf71 Added missing "from __future__ import annotations" in project files
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 97699f47db Theme: Tuned finish
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval ec9e2a0e20 Theme: Tuned a little bit
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 6bdf952886 Theme: New app styling
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval 5cd648511e Refactor: Migrate to QTableView for UserSubsQTableView
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval c23bb0f31c Refactor: now sorting reorders underlying model directly
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
LorenEteval a3ee59445d Refactor: Migrate to QTableView for user servers, and added search box
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
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