360 Secure SkillHub
360 安全技能中心

Asus Router

基于 asusrouter Python 库的华硕路由器管理 Skill,通过 router.py 子命令查询 WAN/CPU/RAM 状态、在线客户端与流量排序、在线人检测、AiMesh 拓扑、端口与 VPN 状态、固件与健康诊断,支持 JSON 输出和需 --confirm 的重启,配置来自 config.yaml。

rtaylorgraham
rtaylorgraham
热度 51.21
最近更新 2026-05-12 13:31:46
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:工作流 / DevOps / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add asus-router
Metadata
name
asus-router
description
Monitor and manage Asus routers running AsusWRT/AsusWRT-Merlin firmware. Supports status checks, client/top-talker lists, presence detection, AiMesh topology, WAN/port/VPN/firmware diagnostics, raw AsusData dumps, and safe reboots. Works with ZenWiFi, RT/GT/ExpertWiFi, Wi-Fi 6/6E/7, and other AsusWRT-based routers.
metadata
{"clawdbot":{"emoji":"📡","requires":{"bins":["ping"],"pip":["asusrouter","aiohttp"]}}}

Asus Router Management

Manage Asus routers via the asusrouter Python library. Works with any router running stock AsusWRT, AsusWRT-Merlin, or Merlin/GNUton firmware that exposes the local AsusWRT web API.

Setup

1. Install dependencies

pip install asusrouter aiohttp

2. Create config file

Copy config.example.yaml to config.yaml and fill in your router details:

cp skills/asus-router/config.example.yaml skills/asus-router/config.yaml

Edit config.yaml with your router's IP, username, and password.

3. Verify connection

python3 skills/asus-router/router.py status

Supported Routers

Any Asus router with the AsusWRT web interface:

  • ZenWiFi (XT8, XT12, XD6, etc.) — full AiMesh support
  • RT-AX series (RT-AX86U, RT-AX88U, etc.)
  • GT-AX gaming series
  • ExpertWiFi / Wi-Fi 7 models that expose AsusWRT 5 / 3.0.0.6 APIs
  • Merlin firmware variants
  • AiMesh nodes (RP-AX56, RP-AX58, etc.)

Commands

All commands use router.py. Activate your venv first if using one.

Quick Status

python3 router.py status          # WAN, CPU, RAM, mesh nodes, client count
python3 router.py status --json   # Machine-readable output

List Connected Devices

python3 router.py clients              # All devices
python3 router.py clients --online     # Online only
python3 router.py clients --filter "iphone"   # Search by name/IP/MAC
python3 router.py clients --sort speed --limit 10  # Current top talkers
python3 router.py clients --sort signal            # Weak/strong Wi-Fi clients
python3 router.py clients --json       # JSON output

Who's Home (Presence Detection)

python3 router.py who

Checks for known devices defined in config.yaml to determine who's home.

WAN Details

python3 router.py wan          # IP, gateway, DNS, lease, dual-WAN
python3 router.py wan --json

AiMesh Topology

python3 router.py mesh         # Which clients connect to which node
python3 router.py mesh --json

Find a Device

python3 router.py find "samsung"
python3 router.py find "192.168.1.100"
python3 router.py find "AA:BB:CC:DD:EE:FF"

Network Latency Check

python3 router.py ping

Firmware / Ports / VPN / Health

python3 router.py firmware          # Firmware, system info, release-note data when exposed
python3 router.py ports             # Ethernet port/link status
python3 router.py vpn               # OpenVPN, WireGuard, VPN client status as JSON
python3 router.py health            # Alert-friendly WAN/CPU/RAM/firmware/ports/VPN bundle
python3 router.py raw firmware      # Dump any AsusData dataset by name

raw is intentionally included so the skill keeps working as AsusWRT 5 / ExpertWiFi / Guest Network Pro / VLAN-era firmware exposes new datasets through asusrouter before this wrapper has a pretty command for them. Pings targets defined in config.yaml (default: gateway + Cloudflare + Google).

Reboot Router

python3 router.py reboot --confirm

⚠️ Requires --confirm flag. Causes 2-3 min downtime.

Common Tasks

"Is the internet down?"

  1. status — check WAN link state
  2. ping — check latency to external IPs
  3. wan — check DHCP lease and DNS

"What's using bandwidth?"

clients --online --json — check rx_speed/tx_speed fields

"Who's home?"

who — checks for devices listed in config.yaml under known_devices

"Why is WiFi slow?"

  1. mesh — check client distribution across nodes
  2. status — check CPU/RAM (high CPU = overloaded)
  3. find <device> — check signal strength (rssi)

Configuration

All settings live in config.yaml. See config.example.yaml for the full template.

Key settings:

  • router.host — Router IP address
  • router.username — Admin username
  • router.password — Admin password
  • router.ssl — Use HTTPS (default: false)
  • router.port — Optional web UI/API port, commonly 8443 for HTTPS local access
  • known_devices — Devices for presence detection
  • ping_targets — Custom ping targets for latency checks

For modern routers, prefer HTTPS local access when stable: enable it in AsusWRT under Administration → System → Local Access Config → Authentication Method, then set ssl: true and the configured port.

JSON Output

Add --json to any command for machine-readable output. Useful for cron jobs, heartbeat checks, and alerting.

Integration with Home Assistant

For persistent monitoring, also install ha-asusrouter via HACS: https://github.com/Vaskivskyi/ha-asusrouter