← 返回
未分类 中文

WOLP LAN Power Control

Wake or shut down LAN devices by sending WOL-plus packets from the agent host. Use this when the user wants to power on a device with a raw Ethernet magic pa...
通过代理主机发送WOL+数据包远程唤醒或关闭局域网设备。用于使用原始以太网魔术包开机。
leeyeel leeyeel 来源
未分类 clawhub v0.0.2 1 版本 100000 Key: 无需
★ 1
Stars
📥 565
下载
💾 1
安装
1
版本
#latest

概述

wolp

Use this skill when the user wants the agent to control a device on the local network.

Supported operations:

  • wake: send a standard UDP Wake-on-LAN magic packet with Python
  • shutdown: send a UDP magic packet to a target IPv4 address
  • list: print the resolved device inventory

Use the bundled Python script:

  • scripts/wolp_power.py
  • assets/devices.json

Required inputs:

  • Wake:
  • target MAC address
  • optional broadcast IPv4 address, default 255.255.255.255
  • optional UDP port, default 9
  • Shutdown:
  • target MAC address
  • target IPv4 address
  • optional extra_data, default FF:FF:FF:FF:FF:FF
  • optional UDP port, default 9

Constraints:

  • shutdown uses a normal UDP socket and does not require root.
  • wake uses the Python package wakeonlan and does not require a compiled helper.
  • Install the dependency before sending wake packets:
python3 -m pip install wakeonlan
  • The wake subcommand will print a clear error if wakeonlan is missing.
  • shutdown requires IP connectivity to the target host and a compatible WOL-plus listener on the target machine.
  • Packet send confirms only local transmission, not that the remote machine actually changed power state.

Device inventory:

  • Store reusable devices in skill/wolp/assets/devices.json.
  • Successful non-dry-run wake and shutdown commands automatically write the resolved device info back to assets/devices.json.
  • If --device is provided, that entry is updated in place; otherwise the script reuses an existing entry with the same MAC or creates a new device- entry.
  • Repeated operations on the same device keep refreshing that device's stored fields and the latest success metadata.
  • The file format is:
{
  "defaults": {
    "broadcast_ip": "255.255.255.255",
    "port": 9,
    "extra_data": "FF:FF:FF:FF:FF:FF"
  },
  "devices": {
    "nas": {
      "mac": "AA:BB:CC:DD:EE:FF",
      "host": "192.168.1.50",
      "broadcast_ip": "192.168.1.255"
    },
    "desktop": {
      "mac": "11:22:33:44:55:66",
      "host": "192.168.1.60",
      "extra_data": "12:34:56:78:9A:BC",
      "last_action": "shutdown",
      "last_success_at": "2026-03-21T00:00:00Z",
      "port": 9
    }
  }
}
  • Use list before sending if you need to inspect or verify stored devices.
  • CLI flags override inventory values.

Preferred commands:

python3 skill/wolp/scripts/wolp_power.py list
python3 skill/wolp/scripts/wolp_power.py wake --device nas
python3 skill/wolp/scripts/wolp_power.py shutdown --device nas
python3 skill/wolp/scripts/wolp_power.py wake --mac AA:BB:CC:DD:EE:FF
python3 skill/wolp/scripts/wolp_power.py wake --mac AA:BB:CC:DD:EE:FF --broadcast-ip 192.168.1.255 --port 9
python3 skill/wolp/scripts/wolp_power.py shutdown --host 192.168.1.50 --mac AA:BB:CC:DD:EE:FF --extra-data FF:FF:FF:FF:FF:FF --port 9

For safe previews or debugging, use --dry-run first:

python3 skill/wolp/scripts/wolp_power.py wake --device nas --dry-run
python3 skill/wolp/scripts/wolp_power.py shutdown --device nas --dry-run

Client install and config:

  • Project: https://github.com/leeyeel/WOL-plus
  • Releases: https://github.com/leeyeel/WOL-plus/releases
  • Client receives shutdown packets and serves the Web UI.
  • Default Web UI access:
  • URL: http://:2025
  • username: admin
  • password: admin123

Agent standard install procedure:

  1. Confirm the minimum missing inputs only:
    • target OS: Windows, Debian/Ubuntu, or RPM-based Linux
    • target architecture when relevant: amd64 or arm64/aarch64
    • whether the agent can install directly on the target machine or must only provide user instructions
    • target machine IP if the user wants Web UI verification
  2. Choose the install source:
    • prefer a matching package from Releases
    • prefer the Debian package when the agent can reach a Debian/Ubuntu host over SSH
    • only build from this repo when a needed Debian package is unavailable from Releases
  3. Install by platform:
    • Windows:
    • download installer_windows_amd64_v.exe from Releases
    • if the agent cannot control the Windows desktop session, tell the user to run the installer manually
    • after installation, verify the service is running and open http://:2025
    • Debian/Ubuntu:

```bash

sudo dpkg -i wolp-client__amd64.deb

sudo systemctl status wolp.service

```

  • RPM Linux:

```bash

sudo rpm -ivh wolp-client--1.x86_64.rpm

sudo systemctl status wolp.service

```

  1. Debian build fallback from this repo:

```bash

bash scripts/build-deb.sh amd64 0.0.0-dev

sudo dpkg -i release/client/wolp-client_0.0.0-dev_amd64.deb

sudo systemctl status wolp.service

```

  1. Verify the client after install:
    • confirm wolp.service is active
    • confirm the Web UI responds at http://:2025
    • tell the user to change the default password after first login
  2. Configure the client when the user wants shutdown support:
    • edit /usr/local/etc/wolp/wolp.json
    • set mac_address to the client machine MAC that should receive the shutdown packet
    • set interface to the active NIC name on the client machine
    • set extra_data to match the sender's --extra-data
    • set udp_port to match the sender's --port
    • set shutdown_delay, username, and password as requested
  3. Remember the fixed defaults and path layout:
    • binary: /usr/local/bin/wolp
    • config: /usr/local/etc/wolp/wolp.json
    • web UI: /usr/share/wolp/webui
    • service: wolp.service
    • default extra_data=FF:FF:FF:FF:FF:FF
    • default udp_port=9
    • default shutdown_delay=60
    • default HTTP UI port 2025
  4. Keep protocol roles clear:
    • sender-side inventory interface matters only for wake
    • receiver-side udp_port and extra_data matter only for shutdown

When reporting results or performing installs:

  • echo the resolved broadcast IP, host, UDP port, and normalized MAC values
  • for wake, report that the packet is sent through the wakeonlan Python package
  • state clearly whether the script performed a real send or a dry run
  • if the user did not provide enough data, ask only for the missing MAC, target IPv4 address, or wake broadcast IP when needed
  • if you install the client, report the package source, package path, config path, Web UI URL, and the exact extra_data and udp_port values you configured

版本历史

共 1 个版本

  • v0.0.2 当前
    2026-03-30 18:43 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

it-ops-security

1password

steipete
设置和使用 1Password CLI (op)。适用于:安装 CLI、启用桌面应用集成、登录(单/多账户)、通过 op 读取/注入/运行密钥。
★ 53 📥 31,724
it-ops-security

MoltGuard - Security & Antivirus & Guardrails

thomaslwang
MoltGuard — OpenClaw 安全守卫,由 OpenGuardrails 提供。安装后可防止您和您的用户受到提示注入、数据泄露及恶意行为的侵害。
★ 116 📥 31,026
it-ops-security

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 90 📥 31,084