Skip to content
Agentmart
Submit a tool

apfree-wifidog

Guide tool usage for managing ApFree WiFiDog routers, gateways, and captive portal devices.

Skill by Arry8

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/arry8-apfree-wifidog

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Guide tool usage for managing ApFree WiFiDog routers, gateways, and captive portal devices.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/apfree-wifidog

What's inside

Skill name
apfree-wifidog
Description
Guide tool usage for managing ApFree WiFiDog routers, gateways, and captive portal devices.
License
MIT
Instructions
128 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# ApFree WiFiDog Tool Guidance

You have access to a suite of tools for managing and monitoring network routers, Wi-Fi access points, gateways, and captive portals.

When a user asks to manage, list, configure, or query routers (路由器), devices (设备), gateways (网关), Wi-Fi (无线网络), or network clients (终端/客户端), you must use the `apfree_wifidog_*` tools.

Prefer the specific `apfree_wifidog_*` tools over the low-level `apfree_wifidog` tool for router management.

## Recommended tool choices

- Use `apfree_wifidog_list_devices` to discover online routers.
- Use `apfree_wifidog_get_status` for router health, runtime, and service status.
- Use `apfree_wifidog_get_sys_info` for system resources, platform details, and runtime metrics.
- Use `apfree_wifidog_get_device_info` for configured device metadata.
- Use `apfree_wifidog_update_device_info` to update structured device metadata fields.
- Use `apfree_wifidog_get_clients` to inspect authenticated clients.
- Use `apfree_wifidog_get_client_info` for one client by MAC address.
- Use `apfree_wifidog_kickoff_client` to disconnect a client by MAC address.
- Use `apfree_wifidog_tmp_pass` to temporarily allow a client MAC.
- Use `apfree_wifidog_get_wifi_info` for Wi-Fi configuration.
- Use `apfree_wifidog_set_wifi_info` to update Wi-Fi settings including SSID (network name), password, encryption, or hidden status. Use this when the user asks to change or modify Wi-Fi or SSID settings.
- Use `apfree_wifidog_scan_wifi` to scan nearby Wi-Fi networks.
- Use `apfree_wifidog_set_wifi_relay` to configure upstream Wi-Fi relay or STA.
- Use `apfree_wifidog_get_trusted_domains` and `apfree_wifidog_sync_trusted_domains` for trusted domain allowlists.
- Use `apfree_wifidog_get_trusted_wildcard_domains` and `apfree_wifidog_sync_trusted_wildcard_domains` for wildcard domain allowlists.
- Use `apfree_wifidog_get_trusted_mac` and `apfree_wifidog_sync_trusted_mac` for trusted MAC allowlists.
- Use `apfree_wifidog_get_auth_serv` and `apfree_wifidog_set_auth_serv` for captive portal auth server settings.
- Use `apfree_wifidog_get_mqtt_serv` and `apfree_wifidog_set_mqtt_serv` for MQTT server connection settings.
- Use `apfree_wifidog_get_websocket_serv` and `apfree_wifidog_set_websocket_serv` for WebSocket server connection settings.
- Use `apfree_wifidog_generate_wireguard_keys` to generate a WireGuard key pair on the router (private key stays on device, only public key returned). **Always call this before `set_wireguard_vpn`** to avoid sending private keys over the network.
- Use `apfree_wifidog_get_wireguard_vpn`, `apfree_wifidog_set_wireguard_vpn`, and `apfree_wifidog_get_wireguard_vpn_status` for WireGuard VPN configuration and runtime status.
- Use `apfree_wifidog_get_vpn_routes` to view current VPN routing rules (which traffic goes through the WireGuard tunnel).
- Use `apfree_wifidog_set_vpn_routes` to steer traffic through the VPN tunnel: `selective` mode for specific CIDRs, `full_tunnel` mode for all traffic with `excludeIps` to prevent routing loop.
- Use `apfree_wifidog_delete_vpn_routes` to remove VPN routing rules: `flushAll` to clear everything, or `routes` array for individual CIDRs.
- Use `apfree_wifidog_get_firmware_info` for firmware and build details.
- Use `apfree_wifidog_get_network_interfaces` for interface inventory and IP details.
- Use `apfree_wifidog_bpf_add` to add an IPv4, IPv6, or MAC target to BPF traffic monitoring.
- Use `apfree_wifidog_bpf_json` to query BPF traffic monitoring statistics for `ipv4`, `ipv6`, `mac`, `sid`, or `l7` tables.
- Use `apfree_wifidog_get_l7_active_stats` to query active L7 protocol traffic speed and volume statistics (SID view).
- Use `apfree_wifidog_get_l7_protocol_catalog` to list the L7 protocol library currently supported by the device (including domain signatures when available).
- Use `apfree_wifidog_bpf_del` to remove an IPv4, IPv6, or MAC target from BPF traffic monitoring.
- Use `apfree_wifidog_bpf_flush` to clear all monitored entries in one BPF table.
- Use `apfree_wifidog_bpf_update` to update per-target downrate/uprate limits.
- Use `apfree_wifidog_bpf_update_all` to update downrate/uprate limits for all monitored entries in one BPF table.
- Use `apfree_wifidog_execute_shell` only when the user explicitly requests a shell command.
- Use `apfree_wifidog_reboot_device` only when the user explicitly requests a reboot.
  Only use the low-level `apfree_wifidog` tool when you need an apfree-wifidog operation that is not covered by a specific tool above.

## BPF quick reference

Use `table` as one of: `mac`, `ipv4`, `ipv6`, `sid`, `l7`.

- `apfree_wifidog_bpf_add`
  - Required: `deviceId`, `address`
  - Optional: `table` (default `mac`)
  - Example: add one MAC to monitoring.
- `apfree_wifidog_bpf_del`
  - Required: `deviceId`, `address`
  - Optional: `table` (default `mac`)
  - Example: remove one IPv4 from monitoring.
- `apfree_wifidog_bpf_json`
  - Required: `deviceId`
  - Optional: `table` (default `mac`)
  - Example: read current stats for `ipv4` table, `sid` active L7 traffic stats, or `l7` protocol library.
- `apfree_wifidog_get_l7_active_stats`
  - Required: `deviceId`
  - Query target: `bpf_json` with `table=sid`.
- `apfree_wifidog_get_l7_protocol_catalog`
  - Required: `deviceId`
  - Query target: `bpf_json` with `table=l7`.
- `apfree_wifidog_bpf_flush`
  - Required: `deviceId`
  - Optional: `table` (default `mac`)
  - Example: clear all monitored entries in `mac` table.
- `apfree_wifidog_bpf_update`
  - Required: `deviceId`, `target`, `downrate`, `uprate`
  - Optional: `table` (default `mac`)
  - Rate units: bps, valid range `1..10000000000`.
- `apfree_wifidog_bpf_update_all`
  - Required: `deviceId`, `downrate`, `uprate`
  - Optional: `table` (default `mac`)
  - Rate units: bps, valid range `1..10000000000`.

## Additional operations via low-level `apfree_wifidog`

When a user explicitly asks for any of the following operations, call the low-level tool with `action=call` and `op` set to the exact operation name:

- `firmware_upgrade` or `ota` for firmware upgrades.
- `delete_wifi_relay` or `unset_wifi_relay` to clear Wi-Fi relay or STA configuration.
- `get_ipsec_vpn`, `set_ipsec_vpn`, `get_ipsec_vpn_status`.

## VPN route quick reference

- `apfree_wifidog_get_vpn_routes`
  - Required: `deviceId`
  - Returns: list of `proto static` routes on wg0, tunnel_up status.
- `apfree_wifidog_set_vpn_routes`
  - Required: `deviceId`, `mode` (`selective` or `full_tunnel`)
  - Selective mode: provide `routes` array of CIDRs (e.g. `["1.2.3.0/24", "4.5.6.0/24"]`).
  - Full tunnel mode: provide `excludeIps` array with VPS public IP to prevent routing loop. Routes `0.0.0.0/1` + `128.0.0.0/1` are added automatically.
  - Note: existing routes are flushed before new ones are applied.
- `apfree_wifidog_delete_vpn_routes`
  - Required: `deviceId`
  - Optional: `flushAll` (boolean, removes all VPN routes), `routes` (array of CIDRs to remove individually).

### WireGuard + VPN routing workflow

1. **Generate keys on router**: `apfree_wifidog_generate_wireguard_keys` — private key stays on device, returns public key for VPS `[Peer]` config.
2. Configure WireGuard tunnel: `apfree_wifidog_set_wireguard_vpn` with `routeAllowedIps: false` on the peer (omit `privateKey` — already set by step 1).
3. Check tunnel status: `apfree_wifidog_get_wireguard_vpn_status`.
4. Set VPN routes: `apfree_wifidog_set_vpn_routes` with `selective` or `full_tunnel` mode.
5. Verify routes: `apfree_wifidog_get_vpn_routes`.
6. Remove routes when no longer needed: `apfree_wifidog_delete_vpn_routes` with `flushAll: true`.

Do not use low-level `apfree_wifidog` for operations that already have dedicated tools unless the user explicitly asks for the exact low-level op.

The following are internal device-control operations and should not be used unless the user explicitly requests them with exact parameters:

- `gateway_heartbeat`

From Arry8/openclaw-edge, MIT.

Signals

Stars
2
Forks
0
Open issues
10
Last commit (this folder)
Apr 3, 2026 (6 months ago)
Last release
Apr 10, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Arry8

Cite this page

apfree-wifidog skill. Agent Mart. https://agentmart.dev/skills/arry8-apfree-wifidog (last updated 2026-10-24)