WolGoWeb是一款远程唤醒WebAPI工具,主要用于搭建在局域网服务器或NAS中,实现WebAPI唤醒局域网内主机。
在使用该工具前,首先要确认需要唤醒的主机支持WOL功能并且已经开启。
WolGoWeb 经历了五年的测试已经在诸多测试、生产环境得以稳定运行。
在生产环境中建议使用Docker或release版本来部署WolGoWeb。
无论是Windows还是Linux系统都可以直接下载对应的 release 编译版本直接运行即可,无需安装任何依赖。
WolGoWeb_linux_amd64 -port 9090
其中参数 -port 表示服务端口号,默认是 9090 也可以不填。
需要注意的是指定端口必须可以访问,可能需要额外配置防火墙。
| 参数名称 | 描述 | 备注 |
|---|---|---|
| -c | 设置配置源 | default命令行、env环境变量,默认:default |
| -port | 开放服务端口 | 默认:9090 |
| -web | 是否启用Web页面 | 默认:true |
| -username | 设置Web页面登陆账号 | 仅在启用Web页面时,且-username与-password都不为空时有效 |
| -password | 设置Web页面登陆密码 | 仅在启用Web页面时,且-username与-password都不为空时有效 |
| -key | API权限验证KEY | 默认:false不进行权限验证,详见API权限验证说明 |
使用 Docker-compose 可以十分便捷的部署 WolGoWeb 工具,首先要确保服务器中已经安装了 Docker 和 Docker-compose。
创建一个 docker-compose.yml 文件:
version: '3'
services:
wol-go-web:
image: chishin/wol-go-web:latest
container_name: WolGoWeb
restart: unless-stopped
network_mode: host
environment:
- PORT=9090
- KEY=false启动容器:
docker-compose pull
docker-compose up -d到此部署已经完成,如果需要升级到最新版本,可直接执行以下命令:
docker-compose down
docker-compose pull
docker-compose up -d使用 Docker 部署 WolGoWeb 工具:
docker run -d --net=host chishin/wol-go-web
如果需要指定端口可以使用下面的命令:
docker run -d --net=host --env PORT=端口号 chishin/wol-go-web
| 参数名称 | 描述 | 备注 |
|---|---|---|
| PORT | 开放服务端口 | 默认:9090 |
| WEB | 是否启用Web页面 | 默认:true |
| USERNAME | 设置Web页面登陆账号 | 仅在启用Web页面时,且USERNAME与PASSWORD都不为空时有效 |
| PASSWORD | 设置Web页面登陆密码 | 仅在启用Web页面时,且USERNAME与PASSWORD都不为空时有效 |
| KEY | API权限验证KEY | 默认:false不进行权限验证,详见 API权限验证说明 |
群晖系统可以在Docker应用的 注册表 中搜索 wol-go-web,即可下载和部署项目。
更多图文教程可以参考 https://github.com/xiaoxinpro/WolGoWeb/blob/master/docker/README.md
完成部署工作即可开始使用,首先使用浏览器访问 http://服务器IP或域名:9090,如果修改了端口号请访问对应的端口。
看到以上界面表示服务部署成功。
可以直接使用浏览器访问 http://服务器IP或域名:9090/wol?mac=需要唤醒主机的MAC地址 当出现以下界面表示唤醒命令发送成功。
| 参数名称 | 描述 | 备注 |
|---|---|---|
| mac | 唤醒主机的MAC地址 | 必填 |
| ip | 唤醒主机的IP地址 | 默认:255.255.255.255 |
| port | 唤醒命令发送的端口 | 默认:9 |
| network | 唤醒命令发送网络接口名称 | 默认:空 |
API权限验证用于防止他人触发唤醒指令的发送,是一种唤醒指令安全措施,默认处于关闭状态。
在启动项目时传入 -key 参数或者Docker增加环境变量 KEY,此参数的长度必须大于等于6个字符,否则API权限验证将处于关闭状态。
开启API权限验证后,在发送WOL唤醒请求时必须和唤醒请求一起发送一下参数。
| 参数名称 | 描述 | 备注 |
|---|---|---|
| time | 发送请求时的时间戳 | 单位:秒 |
| token | 经过加密后得到的权限Token | token=MD5(key+mac+time) |
例如:设定的key=123456,发送请求时的 time=1594452205, mac=00-00-00-00-00-00,计算token的公式为MD5("12345600-00-00-00-00-001594452205"),结果为token=eb3515003672b3e0324196ecd78438a2
- 对于参数time必须不能小于接收时刻30秒以上,同时也不能大于接收时刻的时间戳。
- 对于多次发送相同mac的唤醒请求time值不允许相同。
- 对于token参数长度必须为32,并且英文字符必须是小写的。
- 对于key长度必须大于6个字符,否则不会进行权限验证。
可以自己创建一个快捷指令访问唤醒的URL即可,也可以直接在iOS浏览器中打开下面的链接修改成你的服务器地址和需要唤醒的MAC地址。
https://www.icloud.com/shortcuts/0931d2a9d4e84984b8d85e977aff8ef9
创建完成快捷指令后可以在快捷指令主页用点击 唤醒电脑 ,或者语音唤醒Siri说出 唤醒电脑 即可完成电脑唤醒。
首先要确保在群晖中已经部署了WolGoWeb,可以访问群晖的IP地址:9090查看是否部署完成。
接下来在群晖里找到控制面板中的任务计划,新增一个计划任务用户定义脚本;
在常规界面中随意填写一个任务名称,在计划界面中设定好时间;
在任务设置界面输入以下唤醒命令,其中00-00-00-00-00-00为你要唤醒的主机MAC地址。
curl http://127.0.0.1:9090/wol?mac=00-00-00-00-00-00如果你的WolGoWeb不是部署在群晖中,需要将上面命令中的127.0.0.1:9090替换成你部署的IP和端口。
最后点击确定按钮保存任务。
在任务列表里找到刚刚创建的任务,右击
运行可以立即唤醒主机。
可以在电脑或手机等任意浏览器中创建一个收藏夹或书签,名称随意填写,地址填入:
http://192.168.10.10:9090/wol?mac=00-00-00-00-00-00
其中192.168.10.10:9090是你部署的WolGoWeb,00-00-00-00-00-00为你要唤醒的主机MAC地址。
需要唤醒时,直接在收藏夹或书签中点击即可执行唤醒动作。


