From 1d3269c6681ca44b47d1300c967a4411f48b8214 Mon Sep 17 00:00:00 2001 From: Tommaso Bailetti Date: Fri, 15 May 2026 10:04:07 +0200 Subject: [PATCH] feat(firewall): added NOTRACK for firewall rules --- .../firewall/rules/CreateOrEditFirewallRuleDrawer.vue | 4 ++++ .../standalone/firewall/rules/FirewallRulesTable.vue | 4 ++++ src/stores/standalone/firewall.ts | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/standalone/firewall/rules/CreateOrEditFirewallRuleDrawer.vue b/src/components/standalone/firewall/rules/CreateOrEditFirewallRuleDrawer.vue index 437241dd0..c0a7e6435 100644 --- a/src/components/standalone/firewall/rules/CreateOrEditFirewallRuleDrawer.vue +++ b/src/components/standalone/firewall/rules/CreateOrEditFirewallRuleDrawer.vue @@ -112,6 +112,10 @@ const actionOptions = ref([ { id: 'ACCEPT', label: 'ACCEPT' + }, + { + id: 'NOTRACK', + label: 'NOTRACK' } ]) diff --git a/src/components/standalone/firewall/rules/FirewallRulesTable.vue b/src/components/standalone/firewall/rules/FirewallRulesTable.vue index 82467d527..aa865cf9b 100644 --- a/src/components/standalone/firewall/rules/FirewallRulesTable.vue +++ b/src/components/standalone/firewall/rules/FirewallRulesTable.vue @@ -184,6 +184,8 @@ function getRuleActionIcon(ruleTarget: string) { case 'DROP': case 'REJECT': return 'ban' + case 'NOTRACK': + return 'eye-slash' default: return 'circle-question' } @@ -200,6 +202,8 @@ function getRuleActionColor(rule: FirewallRule) { case 'DROP': case 'REJECT': return 'text-rose-700 dark:text-rose-500' + case 'NOTRACK': + return 'text-gray-700 dark:text-gray-500' default: return '' } diff --git a/src/stores/standalone/firewall.ts b/src/stores/standalone/firewall.ts index 0b1745214..218830809 100644 --- a/src/stores/standalone/firewall.ts +++ b/src/stores/standalone/firewall.ts @@ -50,7 +50,7 @@ interface ForwardingResponse { ipset?: string } -export type FirewallRuleAction = 'DROP' | 'REJECT' | 'ACCEPT' +export type FirewallRuleAction = 'DROP' | 'REJECT' | 'ACCEPT' | 'NOTRACK' export type NatRuleAction = 'SNAT' | 'MASQUERADE' | 'ACCEPT' export interface FirewallRule {