Skip to content

leeyeel/WOL-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wake On LAN Plus

通过标准 Wake-on-LAN 唤醒设备,并通过带 6 字节附加数据的 WOL-plus 数据包远程关机。

License: MIT

Wake On LAN Plus 的核心是 Client 接收端;发送端可以按需要选择 OpenWrtAgent,或两者同时使用。

常见组合有:

  • OpenWrt + Client:通过 LuCI 页面发送唤醒包和关机包
  • Agent + Client:通过仓库内 skill/wolp 在 OpenClaw、Claude Code、Codex CLI 等 agent 环境中发送唤醒包和关机包,见下文 Skill 使用
  • OpenWrt + Agent + Client:同时保留 LuCI 和 agent 两种发送方式,共用同一个 Client 接收端

各部分职责如下:

  • OpenWrt 端:发送端,集成到 LuCI,用来发送唤醒包和关机包
  • Agent 端:发送端,通过 skill/wolp 从命令行或 agent 环境发送唤醒包和关机包
  • Client 端:接收端,运行在 Windows 或 Linux 上,接收关机包并提供 Web UI 配置页面

如果你采用的是最常见的 OpenWrt + Client 组合,建议按这个顺序:

  1. Releases 下载 OpenWrt 端和 Client 端安装包
  2. 在目标电脑上先安装 Client 端
  3. 打开 Client Web UI,设置 extra_data、UDP 端口和关机倒计时
  4. 在 OpenWrt 的 LuCI 页面里填入同样的 extra_data 和目标设备 MAC
  5. 测试唤醒和关机

适用场景

  • 唤醒局域网内支持 WOL 的设备
  • 通过 OpenWrt 路由器统一发送唤醒/关机命令
  • 在 Windows、Debian/Ubuntu、RPM 系 Linux 上部署接收端
  • 使用仓库内 skill 从命令行或 agent 环境发送唤醒/关机包

界面预览

OpenWrt 端

Wake On LAN+

Client 端 Web UI

WOLP Server

Agent 端(以OpenClaw为例)

Agent Skill

Releases 下载说明

所有可直接安装的产物都在 Releases 页面提供下载。

常见文件名如下:

  • OpenWrt 主包:
    • luci-app-wolp_<version>_x86_64.ipk
    • luci-app-wolp_<version>_aarch64_generic.ipk
  • OpenWrt 简体中文包:
    • luci-i18n-wolp-zh-cn_<version>_x86_64.ipk
    • luci-i18n-wolp-zh-cn_<version>_aarch64_generic.ipk
  • Windows Client:
    • installer_windows_amd64_v<version>.exe
  • Debian/Ubuntu Client:
    • wolp-client_<version>_amd64.deb
    • wolp-client_<version>_arm64.deb
  • RPM Client:
    • wolp-client-<version>-1.x86_64.rpm
    • wolp-client-<version>-1.aarch64.rpm

OpenWrt 端安装与使用

OpenWrt 端是发送端,安装后会出现在 LuCI 的“服务”菜单中。

安装

如果系统里已经装了官方 luci-app-wol,建议先卸载,避免菜单和功能冲突:

opkg remove luci-app-wol

下载与你设备架构对应的 IPK 包后,上传到路由器并安装:

scp luci-app-wolp_<version>_<arch>.ipk root@<openwrt-ip>:/tmp/
scp luci-i18n-wolp-zh-cn_<version>_<arch>.ipk root@<openwrt-ip>:/tmp/

ssh root@<openwrt-ip>
opkg update
opkg install /tmp/luci-app-wolp_<version>_<arch>.ipk
opkg install /tmp/luci-i18n-wolp-zh-cn_<version>_<arch>.ipk

也可以直接通过LuCI安装软件包:

系统-> 软件包 -> 更新列表 -> 上传软件包

安装完成后,在 LuCI 中进入:

服务 -> Wake on LAN+

使用

在 OpenWrt 页面中主要需要填写:

  • 目标设备 MAC 地址
  • 关机附加数据 extra_data
  • 关机 UDP 端口,默认 9

说明:

  • 唤醒使用标准 WOL Magic Packet
  • 关机使用 WOL-plus 包,格式为 FF*6 + MAC*16 + extra_data(6字节)
  • extra_data 必须与 Client 端配置完全一致

Client 端安装与使用

Client 端负责接收关机包;默认提供 Web UI 配置页面,也支持纯后端运行。

默认带 Web UI 运行时,访问地址:

  • http://<client-ip>:2025

默认登录信息:

  • 用户名:admin
  • 密码:admin123

首次登录后建议立即修改密码。

如果设备资源紧张,或你只想保留 UDP 监听后端,可直接使用:

/usr/local/bin/wolp --backend-only

该模式下可以不安装 /usr/share/wolp/webui,程序也不会启动 HTTP server;配置改为直接编辑 /usr/local/etc/wolp/wolp.json

Windows 安装

从 Releases 下载:

  • installer_windows_amd64_v<version>.exe

安装步骤:

  1. 直接运行安装程序
  2. 安装完成后服务会自动启动
  3. 浏览器访问 http://<windows-ip>:2025

Debian / Ubuntu 安装

从 Releases 下载对应架构的 .deb 包后安装:

sudo dpkg -i wolp-client_<version>_amd64.deb
sudo systemctl status wolp.service

如需自行构建不带 Web UI 的 Debian 包:

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

RPM 系 Linux 安装

从 Releases 下载对应架构的 .rpm 包后安装:

sudo rpm -ivh wolp-client-<version>-1.x86_64.rpm
sudo systemctl status wolp.service

如需自行构建不带 Web UI 的 RPM 包:

bash scripts/build-rpm.sh --without-webui amd64 0.0.0-dev

Linux 安装后的文件位置

Linux Client 默认路径如下:

  • 可执行文件:/usr/local/bin/wolp
  • 配置文件:/usr/local/etc/wolp/wolp.json
  • Web UI:/usr/share/wolp/webui(可选)
  • systemd 服务:wolp.service

Client 端 Web UI 配置

Client 端重点配置项:

  • extra_data
    • 必须与 OpenWrt 端保持一致
  • udp_port
    • 默认 9
    • 必须与 OpenWrt 端保持一致
  • shutdown_delay
    • 收到合法关机包后延迟多少秒执行关机
  • username / password
    • Web UI 登录凭据

纯后端模式

纯后端模式下,wolp 只保留 UDP 监听,不启动 Web UI,也不会监听 2025 端口。

常见用法:

/usr/local/bin/wolp --backend-only

如果你通过 make install 安装,也可以跳过 Web UI 文件:

make install INSTALL_WEBUI=0

此时安装出的 systemd 服务会自动以 --backend-only 方式启动。

如果需要让 systemd 以纯后端模式运行,可把 ExecStart 改成:

ExecStart=/usr/local/bin/wolp --backend-only

仓库里的默认配置值是:

  • extra_data = FF:FF:FF:FF:FF:FF
  • udp_port = 9
  • shutdown_delay = 60

推荐使用流程

1. 先安装 Client 端

先在目标电脑上安装 Windows、Debian/Ubuntu 或 RPM 包。

2. 配置 Client

带 Web UI 模式下访问:

  • http://<client-ip>:2025

纯后端模式下直接编辑:

  • /usr/local/etc/wolp/wolp.json

记录并确认这些值:

  • 目标设备 MAC 地址
  • extra_data
  • udp_port

3. 在 OpenWrt 端填写同样的参数

在 LuCI 页面中配置:

  • 目标 MAC 地址
  • extra_data
  • udp_port

4. 测试唤醒和关机

建议先测试唤醒,再测试关机。

如果关机没有生效,优先检查:

  • OpenWrt 和目标机器是否互通
  • Client 端服务是否运行正常
  • extra_data 是否完全一致
  • udp_port 是否完全一致
  • 目标机器防火墙是否拦截 UDP

Skill 使用

仓库内提供了一个 skill:

  • skill/wolp

目前该 skill 已上架 OpenClaw,其他 agent 可通过手动拷贝目录的方式安装。

OpenClaw 安装

npx clawhub@latest install wolp

安装完成后,OpenClaw 就可以识别并使用该 skill。

Claude Code 安装

当前 Claude Code 暂未提供商店安装入口,可直接将仓库中的 skill 目录拷贝到 Claude Code 的 skills 目录中:

cp -r skill/wolp <your-claude-skills-dir>/

拷贝完成后,重新加载或重启 Claude Code 即可。

Codex CLI 安装

当前 Codex CLI 也需要手动安装,可将同一个 skill 目录拷贝到 Codex CLI 的 skills 目录中:

cp -r skill/wolp <your-codex-skills-dir>/

拷贝完成后,重新启动 Codex CLI 即可生效。

工作原理

唤醒:

  • OpenWrt 或 skill 发送标准 Wake-on-LAN Magic Packet

关机:

  • OpenWrt 或 skill 发送带 6 字节 extra_data 的 WOL-plus UDP 包
  • Client 端收到后校验:
    • 目标 MAC 是否匹配
    • extra_data 是否匹配
    • UDP 端口是否匹配
  • 校验通过后,Client 端进入关机倒计时

许可证

MIT License

About

A modified version of WOL that can not only wake up devices but also send shutdown commands.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors