+-
一键远程唤醒关机设备,这个开源工具实用。

家里的 NAS、公司用的电脑、实验室的服务器,这些设备有一个共同的问题。

关机状态下,远程根本叫不醒它们。曾经有不少朋友折腾过折腾过 Wake-on-LAN 协议。

原理也很简单,就是往局域网里发一段包含目标设备 MAC 地址的特殊数据包,网卡收到就触发开机。

但真正用起来,门槛一直不低。要么靠路由器后台手动发包,要么写脚本,要么装一堆工具配半天。

直到最近,我在 GitHub 上发现了UpSnap这个开源工具。

一键远程唤醒关机设备,这个开源工具实用。

基于 SvelteKit + Go + PocketBase 构建,把 Wake-on-LAN 这件事做成了一个干净的网页 Dashboard。

部署完之后,只需要打开浏览器,点一下按钮,就能远程把家里或者公司已经关机的机器唤醒。

功能不止这些,但有三个是真正让它与众不同的地方。

第一个是一键唤醒面板。所有设备以卡片形式列在 Dashboard 上,在线状态一目了然,点击即可发送唤醒指令。

不需要记 MAC 地址,不需要开终端。权限这块也做得比较细,管理员可以给不同用户分配设备级别的操作权限,谁能看、谁能开关、谁能编辑,各自独立控制。

一键远程唤醒关机设备,这个开源工具实用。

此外,界面还提供 35 套主题,支持中文在内的 19 种语言,日常用着不别扭。

一键远程唤醒关机设备,这个开源工具实用。

第二个是Cron 定时任务。比如每天早上 8:55 自动唤醒工作机,到办公室坐下来系统已经开好了。

或者凌晨低谷期自动唤醒 NAS 跑备份,跑完再定时关机。这种把重复操作交出去的感觉,用过就回不去。

一键远程唤醒关机设备,这个开源工具实用。

第三个是网络扫描自动发现。依赖 nmap,扫一遍局域网,自动把设备列出来,选中加进去就能管理。不用手动填 IP 和 MAC,省了不少事。

一键远程唤醒关机设备,这个开源工具实用。

安装非常简单,提供 Docker 一键部署方式,只需要执行如下一条命令即可:

dockerrun -d\ --network host\ --name upsnap\ -v ./data:/app/pb_data\ ghcr.io/seriousm4x/upsnap:4

执行完成后,访问http://localhost:8090,创建管理员账号,加设备,就能用了。

一键远程唤醒关机设备,这个开源工具实用。

不想用 Docker 的,去 Releases 页面下对应平台的二进制文件,直接双击运行,支持 Windows、macOS 和 Linux 系统。

一键远程唤醒关机设备,这个开源工具实用。

不过有两个坑,也需要提前跟大家说清楚。

第一个是前置条件。Wake-on-LAN 要生效,设备必须走有线网络连接,同时要在主板 BIOS 里把 WoL 选项打开。

不熟悉 BIOS 的话,搜一下自己的主板型号加 “Wake on LAN 开启”,基本都有教程。部署完发现唤不醒,十有八九卡在这里。

第二个是网络安全。关机命令底层是 shell 执行,一旦有人绕过鉴权拿到这个接口,等于拿到了局域网内一个 root shell,风险不小。

所以作者明确建议,不要把 UpSnap 直接暴露到公网。如果确实需要外网访问,正确姿势是先 VPN 进内网再操作,Wireguard 或 OpenVPN 都行。

这不是 Bug,是边界。清楚这个边界,用起来才放心。

Wake-on-LAN 本来是个冷门的网络功能,很多人知道有这东西,但从没真正跑通过。

UpSnap 做的事情,就是把这件事的门槛拉到最低。部署一次,之后全靠网页操作。设备的开关权,重新握回自己手里。

GitHub 项目地址:https://github.com/seriousm4x/UpSnap

今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!