Development

This commit is contained in:
Matthew Grotke 2026-05-31 00:22:39 -04:00
parent fcdaf09477
commit f152d82386
11 changed files with 219 additions and 66 deletions

View file

@ -108,12 +108,12 @@
{
"col": "hostname",
"input_type": "text",
"validate": "networkname"
"validate": "VALIDATION_NETWORK_NAME"
},
{
"col": "mac",
"input_type": "text",
"validate": "mac"
"validate": "VALIDATION_MAC"
},
{
"col": "ip",
@ -171,7 +171,7 @@
"label": "Hostname",
"name": "hostname",
"input_type": "text",
"validate": "networkname",
"validate": "VALIDATION_NETWORK_NAME",
"placeholder": "e.g. nas"
},
{
@ -179,7 +179,7 @@
"label": "MAC Address",
"name": "mac",
"input_type": "text",
"validate": "mac",
"validate": "VALIDATION_MAC",
"placeholder": "e.g. aa:bb:cc:dd:ee:ff"
},
{

View file

@ -49,7 +49,7 @@
{
"col": "name",
"input_type": "text",
"validate": "dashname"
"validate": "VALIDATION_DASH_NAME"
},
{
"col": "description",
@ -63,7 +63,7 @@
{
"col": "url",
"input_type": "text",
"validate": "url"
"validate": "VALIDATION_URL"
}
]
},
@ -92,7 +92,7 @@
"label": "Name",
"name": "name",
"input_type": "text",
"validate": "dashname",
"validate": "VALIDATION_DASH_NAME",
"placeholder": "e.g. steven-black"
},
{
@ -114,7 +114,7 @@
"label": "Source URL",
"name": "url",
"input_type": "text",
"validate": "url",
"validate": "VALIDATION_URL",
"placeholder": "https://..."
},
{
@ -172,7 +172,7 @@
"label": "Daily Refresh Time",
"name": "daily_execute_time_24hr_local",
"input_type": "text",
"validate": "time_24h",
"validate": "VALIDATION_TIME24H",
"value": "%GENERAL_DAILY_EXECUTE_TIME%",
"placeholder": "e.g. 02:30",
"hint": "24-hour local time for the daily blocklist refresh."

View file

@ -30,7 +30,7 @@
"name": "upstream_servers",
"item_placeholder": "e.g. 1.1.1.1",
"add_label": "Add Provider",
"validate": "ipv4",
"validate": "VALIDATION_IPV4_FORMAT|VALIDATION_IPV6_FORMAT",
"hint": "DNS resolvers queried for external hostnames. Supports IPv4 and IPv6.",
"items": "%DNS_UPSTREAM_SERVERS_JSON%"
},

View file

@ -54,12 +54,12 @@
{
"col": "host",
"input_type": "text",
"validate": "domainname"
"validate": "VALIDATION_DOMAIN_NAME"
},
{
"col": "ip",
"input_type": "text",
"validate": "ipv4"
"validate": "VALIDATION_IPV4_FORMAT"
},
{
"col": "enabled",
@ -100,7 +100,7 @@
"label": "Hostname",
"name": "host",
"input_type": "text",
"validate": "domainname",
"validate": "VALIDATION_DOMAIN_NAME",
"placeholder": "e.g. server.home.local"
},
{
@ -108,7 +108,7 @@
"label": "Resolves To",
"name": "ip",
"input_type": "text",
"validate": "ipv4",
"validate": "VALIDATION_IPV4_FORMAT",
"placeholder": "e.g. 192.168.1.100"
},
{

View file

@ -124,7 +124,7 @@
"label": "Source",
"name": "src_ip_or_subnet",
"input_type": "text",
"validate": "ipv4cidr",
"validate": "VALIDATION_IPV4_CIDR",
"placeholder": "e.g. 192.168.20.0/24"
},
{
@ -132,7 +132,7 @@
"label": "Destination",
"name": "dst_ip_or_subnet",
"input_type": "text",
"validate": "ipv4",
"validate": "VALIDATION_IPV4_FORMAT",
"placeholder": "e.g. 192.168.10.100"
},
{
@ -140,7 +140,7 @@
"label": "Dest Port",
"name": "dst_port",
"input_type": "text",
"validate": "port",
"validate": "VALIDATION_PORT",
"placeholder": "e.g. 8009"
},
{

View file

@ -142,7 +142,7 @@
"input_type": "number",
"min": 1,
"max": 4094,
"validate": "vlan_id",
"validate": "VALIDATION_RANGE_INT",
"existing_ids": "%EXISTING_VLAN_IDS_JSON%",
"hint": "Unique integer 1-4094. Sets the 802.1Q tag and interface name."
},
@ -151,7 +151,7 @@
"label": "VLAN Name",
"name": "name",
"input_type": "text",
"validate": "dashname",
"validate": "VALIDATION_DASH_NAME",
"hint": "Lowercase letters, digits, hyphens. E.g. iot"
},
{
@ -184,7 +184,7 @@
{
"label": "IP Address",
"name": "ip",
"valtype": "address",
"validate": "VALIDATION_ADDRESS",
"attrs": {
"data-dep-subnet": "[name='subnet']",
"data-dep-mask": ".subnet-prefix-input"
@ -200,7 +200,7 @@
{
"label": "Hostname",
"name": "hostname",
"validate": "networkname",
"validate": "VALIDATION_NETWORK_NAME",
"placeholder": "Optional"
}
]
@ -223,7 +223,7 @@
"label": "DNS Server(s)",
"name": "dns_server",
"override_name": "dns_server_override",
"validate": "ip_in_subnet",
"validate": "VALIDATION_ADDRESS",
"hint": "DNS server(s) advertised to clients via DHCP."
},
{
@ -231,7 +231,7 @@
"label": "NTP Server(s)",
"name": "ntp_server",
"override_name": "ntp_server_override",
"validate": "ip_in_subnet",
"validate": "VALIDATION_ADDRESS",
"hint": "NTP server(s) advertised to clients via DHCP."
},
{
@ -239,7 +239,7 @@
"label": "Domain",
"name": "dhcp_domain",
"input_type": "text",
"validate": "networkname",
"validate": "VALIDATION_NETWORK_NAME",
"value": "lan",
"hint": "Local domain name advertised to clients via DHCP (e.g. lan, home.arpa, corp). Avoid \"local\" per RFC 6762."
}

View file

@ -131,7 +131,7 @@
"label": "MAC Address",
"name": "mac",
"input_type": "text",
"validate": "mac",
"validate": "VALIDATION_MAC",
"value": "",
"hint": "Factory default: none"
}

View file

@ -124,7 +124,7 @@
"label": "Ext Port",
"name": "dest_port",
"input_type": "text",
"validate": "port",
"validate": "VALIDATION_PORT",
"placeholder": "e.g. 25565"
},
{
@ -132,7 +132,7 @@
"label": "NAT IP",
"name": "nat_ip",
"input_type": "text",
"validate": "ipv4",
"validate": "VALIDATION_IPV4_FORMAT",
"placeholder": "e.g. 192.168.1.50"
},
{
@ -140,7 +140,7 @@
"label": "NAT Port",
"name": "nat_port",
"input_type": "text",
"validate": "port",
"validate": "VALIDATION_PORT",
"placeholder": "e.g. 25565"
},
{

View file

@ -96,7 +96,7 @@
{
"col": "name",
"input_type": "text",
"validate": "dashname"
"validate": "VALIDATION_DASH_NAME"
},
{
"col": "split_tunnel",
@ -141,7 +141,7 @@
"label": "Name",
"name": "peer_name",
"input_type": "text",
"validate": "dashname",
"validate": "VALIDATION_DASH_NAME",
"placeholder": "e.g. laptop",
"hint": "Friendly name for this peer."
},
@ -157,7 +157,7 @@
"label": "Assigned IP",
"name": "peer_ip",
"input_type": "text",
"validate": "ipv4",
"validate": "VALIDATION_IPV4_FORMAT",
"placeholder": "e.g. 192.168.40.2",
"hint": "Static IP assigned to this peer within the VPN subnet."
},
@ -219,7 +219,7 @@
"label": "Server Endpoint",
"name": "vpn_server_endpoint",
"input_type": "text",
"validate": "endpoint",
"validate": "VALIDATION_ENDPOINT",
"value": "%VPN_SERVER_ENDPOINT%",
"placeholder": "e.g. vpn.example.com",
"hint": "Publicly reachable hostname or IP of this server, embedded in client config files."
@ -229,7 +229,7 @@
"label": "Domain",
"name": "vpn_domain",
"input_type": "text",
"validate": "dashname",
"validate": "VALIDATION_DASH_NAME",
"value": "%VPN_DOMAIN%",
"placeholder": "e.g. local",
"hint": "DNS search domain pushed to VPN clients."
@ -239,7 +239,7 @@
"label": "DNS Override",
"name": "vpn_dns_server",
"input_type": "text",
"validate": "ipv4",
"validate": "VALIDATION_IPV4_FORMAT",
"value": "%VPN_DNS_SERVER%",
"placeholder": "Leave blank to use gateway IP (%VPN_GATEWAY%)",
"hint": "Explicit DNS server pushed to peers. Defaults to the gateway IP."