Zone-based firewall page, per-sensor temperatures, 15 minute default
The firewall page now manages zones (assign each LAN or tunnel, add and remove zones) and rules with zone, address and port on both sides plus the protocol. router.firewall.zones declares zones without members and rules take sourcePorts. The temperature chart draws every thermal zone and hwmon sensor; the overview defaults to 15 minutes, 1h stays an option. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AeFqV9dZrK6nipHkPfyM4F
This commit is contained in:
@@ -382,6 +382,17 @@ in
|
||||
);
|
||||
};
|
||||
|
||||
firewall.zones = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "guests" ];
|
||||
description = ''
|
||||
Zones to define besides those of the LANs and tunnels (`zone` there
|
||||
assigns them), so rules can name them before anything is assigned. A
|
||||
zone without members matches nothing.
|
||||
'';
|
||||
};
|
||||
|
||||
firewall.rules = mkOption {
|
||||
default = [ ];
|
||||
description = ''
|
||||
@@ -426,6 +437,12 @@ in
|
||||
public address.
|
||||
'';
|
||||
};
|
||||
sourcePorts = mkOption {
|
||||
type = types.listOf (types.either types.port (types.strMatching "[0-9]+-[0-9]+"));
|
||||
default = [ ];
|
||||
example = [ 53 ];
|
||||
description = "Source ports or ranges (tcp/udp only); empty means any. Not for port forwards.";
|
||||
};
|
||||
destination = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
|
||||
Reference in New Issue
Block a user