dns_flush_allowed
Removes all allowed domains from the allow list. Requires confirm=true to execute.
Instructions
Flush the entire allow list. All allowed domains will be removed. Requires confirm=true to execute.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must be true to confirm flush. Without this, returns a warning instead. |
Implementation Reference
- src/tools/blocking.ts:188-205 (handler)The handler function for dns_flush_allowed. Checks confirm=true, then calls /api/allowed/flush to clear the allow list.
handler: async (args) => { if (args.confirm !== true) { return JSON.stringify( { warning: "This will remove ALL domains from the allow list. Set confirm=true to proceed.", }, null, 2 ); } const data = await client.callOrThrow("/api/allowed/flush"); return JSON.stringify( { success: true, message: "Allow list flushed", ...data }, null, 2 ); }, - src/tools/blocking.ts:176-185 (schema)Input schema for dns_flush_allowed defining the 'confirm' boolean parameter.
inputSchema: { type: "object", properties: { confirm: { type: "boolean", description: "Must be true to confirm flush. Without this, returns a warning instead.", }, }, }, - src/tools/blocking.ts:171-206 (registration)Tool definition registration for dns_flush_allowed including name, description, inputSchema, and readonly flag.
{ definition: { name: "dns_flush_allowed", description: "Flush the entire allow list. All allowed domains will be removed. Requires confirm=true to execute.", inputSchema: { type: "object", properties: { confirm: { type: "boolean", description: "Must be true to confirm flush. Without this, returns a warning instead.", }, }, }, }, readonly: false, handler: async (args) => { if (args.confirm !== true) { return JSON.stringify( { warning: "This will remove ALL domains from the allow list. Set confirm=true to proceed.", }, null, 2 ); } const data = await client.callOrThrow("/api/allowed/flush"); return JSON.stringify( { success: true, message: "Allow list flushed", ...data }, null, 2 ); }, }, - src/tools/index.ts:14-26 (registration)getAllTools aggregates blockingTools (which includes dns_flush_allowed) into the full tool list.
export function getAllTools(client: TechnitiumClient): ToolEntry[] { return [ ...dashboardTools(client), ...dnsClientTools(client), ...zoneTools(client), ...recordTools(client), ...blockingTools(client), ...cacheTools(client), ...settingsTools(client), ...logTools(client), ...appTools(client), ...dnssecTools(client), ]; - src/rate-limit.ts:25-31 (helper)Rate limit configuration: dns_flush_allowed is placed in the destructive operations group (5 requests per 60s window).
for (const tool of [ "dns_delete_zone", "dns_delete_record", "dns_flush_cache", "dns_flush_allowed", "dns_flush_blocked", "dns_uninstall_app", "dns_update_blocklists", "dns_temp_disable_blocking", ]) { this.toolLimits.set(tool, destructiveLimits); }