From d7b011c6743584d62711623ec85116af78164c0d Mon Sep 17 00:00:00 2001 From: Loren Eteval Date: Mon, 15 Dec 2025 13:43:26 +0800 Subject: [PATCH] Disable TUN mode in flatpak Signed-off-by: Loren Eteval --- Furious/Frozenlib/SystemRuntime.py | 6 +++++- Furious/TrayActions/Settings.py | 29 ++++++++++++++++------------- Furious/Window/AppMainWindow.py | 21 ++++++++++++--------- 3 files changed, 33 insertions(+), 23 deletions(-) diff --git a/Furious/Frozenlib/SystemRuntime.py b/Furious/Frozenlib/SystemRuntime.py index 1d92a089..ce184e99 100644 --- a/Furious/Frozenlib/SystemRuntime.py +++ b/Furious/Frozenlib/SystemRuntime.py @@ -93,7 +93,11 @@ class SystemRuntime: @staticmethod def isTUNMode() -> bool: if PLATFORM == 'Linux': - return AppSettings.isStateON_('VPNMode') + if SystemRuntime.flatpakID(): + # TUN Mode disabled in flatpak + return False + else: + return AppSettings.isStateON_('VPNMode') else: return AppSettings.isStateON_('VPNMode') and SystemRuntime.isAdmin() diff --git a/Furious/TrayActions/Settings.py b/Furious/TrayActions/Settings.py index ef8bdfe6..d7d95b2d 100644 --- a/Furious/TrayActions/Settings.py +++ b/Furious/TrayActions/Settings.py @@ -159,19 +159,22 @@ class SettingsChildAction(AppQAction): class SettingsAction(AppQAction): def __init__(self, **kwargs): - tunActions = [ - TUNModeAction( - checkable=True, - checked=AppSettings.isStateON_('VPNMode'), - ), - AppQAction( - _('Customize TUN Settings...'), - icon=bootstrapIcon('diagram-3.svg'), - checkable=False, - callback=lambda: APP().mainWindow.getGuiTUNSettings().open(), - ), - AppQSeperator(), - ] + if SystemRuntime.flatpakID(): + tunActions = [] + else: + tunActions = [ + TUNModeAction( + checkable=True, + checked=AppSettings.isStateON_('VPNMode'), + ), + AppQAction( + _('Customize TUN Settings...'), + icon=bootstrapIcon('diagram-3.svg'), + checkable=False, + callback=lambda: APP().mainWindow.getGuiTUNSettings().open(), + ), + AppQSeperator(), + ] if PLATFORM == 'Darwin': hideDockIconAction = [ diff --git a/Furious/Window/AppMainWindow.py b/Furious/Window/AppMainWindow.py index 3d1a1f25..e682a400 100644 --- a/Furious/Window/AppMainWindow.py +++ b/Furious/Window/AppMainWindow.py @@ -238,15 +238,18 @@ class AppMainWindow(AppQMainWindow): ), ] - customizeTUNSettingsAction = [ - AppQAction( - _('Customize TUN Settings...'), - icon=bootstrapIcon('diagram-3.svg'), - checkable=False, - callback=lambda: self.getGuiTUNSettings().open(), - ), - AppQSeperator(), - ] + if SystemRuntime.flatpakID(): + customizeTUNSettingsAction = [] + else: + customizeTUNSettingsAction = [ + AppQAction( + _('Customize TUN Settings...'), + icon=bootstrapIcon('diagram-3.svg'), + checkable=False, + callback=lambda: self.getGuiTUNSettings().open(), + ), + AppQSeperator(), + ] if PLATFORM == 'Windows' or PLATFORM == 'Darwin': _TRANSLATABLE_RESTART_AS_ADMIN = [