Tools now includes a separate live-control layer for child/device firewall management.
This feature is intentionally separate from the older generic firewall table editor.
Use it when you need to:
The live-control editor is available from:
/firewallDirect page:
/firewall/liveThe preferred selective-blocking workflow is now child-centric:
The live-control layer stores state in the dedicated firewall database connection and uses these tables:
childchild_ip_addresseshost_block_listshost_block_list_addresseslive_child_rulesfwmaker remains the component that generates the actual firewall output.128.116.21.3 and still have Tools store the wider registry-owned CIDR such as 128.116.0.0/17 when that information is available./firewall/live host-list refresh action now shows a visible progress bar while DNS + CIDR/range checks are running, so longer registry/network expansions are easier to follow from the admin GUI.full_block is stronger than internet_block, which is stronger than allow_only_local, regardless of the row creation order.full_block, selective host-list rules for the same targeted child IPs are ignored in generated firewall output.Both full-off actions and selective block_host_list rules can now be aimed at either:
all_child_ipsselected_child_ipsWhen selected_child_ips is used, the request also carries child_ip_address_ids[] for the child IP records that should be affected.
The live firewall layer now also supports database-backed recurring schedules for full off / full on.
schedule_key such as max or emilyschedule_key values such as max-main, max-laptop, or emily-mobileThis allows the web GUI to keep a cron-like schedule in the database while still letting operators temporarily pause schedule writes.
GET /api/firewall/childrenPOST /api/firewall/childrenPUT /api/firewall/children/{child}GET /api/firewall/children/{child}/ip-addressesPUT /api/firewall/children/{child}/host-block-listsPOST /api/firewall/children/{child}/ip-addressesPUT /api/firewall/children/{child}/ip-addresses/{ipAddress}DELETE /api/firewall/children/{child}/ip-addresses/{ipAddress}POST /api/firewall/children/{child}/ip-addresses/{ipAddress}/enablePOST /api/firewall/children/{child}/ip-addresses/{ipAddress}/disablePOST /api/firewall/children/{child}/blockPOST /api/firewall/children/{child}/unblockChildren and child IP payloads can now also expose additive schedule_key fields so database-backed recurring schedules can resolve the correct logical child / device target.
GET /api/firewall/host-block-listsPOST /api/firewall/host-block-listsPUT /api/firewall/host-block-lists/{list}POST /api/firewall/host-block-lists/{list}/hostsPOST /api/firewall/host-block-lists/{list}/refreshGET /api/firewall/host-block-lists/{list}/addressesPUT /api/firewall/children/{child}/host-block-lists
{
"host_block_list_ids": [1, 3, 8],
"action": "drop",
"target_scope": "selected_child_ips",
"child_ip_address_ids": [12, 13]
}
GET /api/firewall/children can now also include additive child-centric selection metadata so clients can render the current listbox selection directly:
selected_host_block_list_ids[]selected_host_block_list_target_scopeselected_host_block_list_child_ip_address_ids[]has_mixed_selective_targetsGET /api/firewall/live-child-rulesPOST /api/firewall/live-child-rulesPUT /api/firewall/live-child-rules/{rule}POST /api/firewall/live-child-rules/{rule}/enablePOST /api/firewall/live-child-rules/{rule}/disablePOST /api/firewall/live-child-rules/syncLive-rule payloads can now also carry additive targeting fields:
target_scopechild_ip_address_ids[]target_child_ip_address_ids[]target_ip_addresses[]target_scope_summaryFull-off calls (POST /api/firewall/children/{child}/block) can now use the same target_scope + child_ip_address_ids[] pattern when the operator wants to block all traffic for only some of the child's current IP addresses.
The current first implementation is intended for authenticated Tools operators with the firewall permission.
If mobile/API auth changes later, the Android AGENTS file and these docs must be updated in the same change.