Wol 是 wake on lan 的简写,是一个轻量、简洁的 Wol 管理服务,支持检测设备是否开机成功。
- 部署简单,且可私有部署。
- 默认使用 yaml 作为配置文件,易于编辑与迁移。
- 主题切换:支持浅色主题与暗黑主题。
- 占用资源少,运行速度快。
- 跨平台:可以在 Linux、macOS 和 Windows 操作系统上运行。
- 支持 basic auth,保护服务配置
- 支持检测设备是否启动(设备需支持 ping)
截图说明 | 截图 |
---|---|
浅色主题 | |
深色主题 | |
添加新设备 | |
开启页面认证 | |
页面认证 |
推荐使用 Docker 安装方式,使用简单方便,只需运行如下命令:
docker pull ghcr.io/nashaofu/wol:latest
# 使用docker host模式
docker run -d \
--name wol \
--net host \
-v /path/to/wol.yaml:/opt/wol/wol.yaml \
ghcr.io/nashaofu/wol:latest
# 不使用docker host模式
docker run -d \
--name wol \
-p 3300:3300 \
-v /path/to/wol.yaml:/opt/wol/wol.yaml \
ghcr.io/nashaofu/wol:latest
然后在浏览器中访问 http://127.0.0.1:3300
即可使用。
如果需要自定义配置,可将项目根目录下的 wol.example.yaml
文件拷贝到 /opt/wol
目录下并重命名为 wol.yaml
,具体配置参考配置章节,也可以修改启动命令,指定配置文件位置。
Windows/Mac 桌面版的 docker 不支持--net=host
,所以推荐这种使用方式。
-
前往release页面下载
wol-xxxx.zip
,xxxx
表示系统架构,请根据自己的情况选择 -
解压出
wol-xxxx.zip
中的可执行文件,然后在终端中运行即可启动服务。同时也支持在启动时指定服务的端口号与配置文件。Usage: wol [OPTIONS] Options: -p, --port <PORT> App listen port [default: 3300] -c, --config <CONFIG> Config file path [default: ./wol.yaml] -h, --help Print help -V, --version Print version
项目配置文件为wol.yaml
,配置内容如下:
# basic auth 配置,auth 可为 null,表示关闭认证
auth:
username: ""
password: ""
# 设备列表
devices:
- name: Windows # 设备名称
mac: 00:00:00:00:00:00 # 设备 mac 地址
ip: 192.168.1.1 # 设备 ipv4 地址
port: 9 # wake on lan 唤醒端口号,一般为 9、7 或者 0
在这个项目中,我们使用了 Wake-On-Lan(WOL)技术来实现远程唤醒功能。WOL 是一种网络唤醒技术,可以让计算机在休眠或关机状态下通过局域网进行唤醒操作。我们需要在配置 WOL 时添加目标设备的 MAC 地址和端口号。MAC 地址用于指定需要唤醒的设备,以确保唤醒指令能够准确地发送到目标计算机。端口号是用于接收唤醒指令的特定端口,通常为 9、7 或 0。同时,我们还需要添加目标计算机的 IP 地址,以便检测目标计算机是否已开启。
为了启用 WOL 功能,我们需要进入计算机的主板 BIOS 设置并打开 Wake On Lan 选项。需要注意的是,不同品牌的主板可能有不同的设置名称,因此请参考相应品牌的主板设置指南。完成这些步骤后,我们就可以通过局域网唤醒处于休眠状态或关机状态的计算机了。
如果您想为 Wol 做出贡献,可以按照以下步骤进行:
-
克隆项目到本地:
git clone https://github.com/nashaofu/wol.git
-
创建新分支:
git checkout -b my-feature-branch
-
启动项目:你需要安装 rust、nodejs 与 yarn
# 启动服务端项目 cargo run # 启动前端项目 cd client && yarn && yarn dev
-
修改并提交代码:
git add . git commit -m "Add new feature"
-
推送代码到远程仓库:
git push origin my-feature-branch
-
创建 Pull Request:在 GitHub 上创建一个新的 Pull Request 并等待审核。
Wol 使用 Apache 许可证,详情请参阅 LICENSE 文件。