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