你是否遇到过这样的困扰:家里的 NAS、公司的电脑或是实验室的服务器一旦关机,就无法远程唤醒?很多朋友可能都尝试过折腾 Wake-on-LAN(网络唤醒)协议。
它的原理其实很直观,就是向局域网内发送一个包含目标设备 MAC 地址的特殊数据包,网卡收到信号后就能触发开机。但实际操作起来,门槛一直不低——要么需要登录路由器后台手动发送魔法包,要么得自己写脚本,或者安装一堆复杂的工具并配置半天,体验并不友好。
直到我在 GitHub 上发现了 UpSnap 这个开源项目,它将这个难题变得异常简单。

这个工具基于 SvelteKit + Go + PocketBase 构建,将 Wake-on-LAN 功能封装成了一个清爽直观的网页仪表板。部署完成后,你只需打开浏览器,点击按钮,就能轻松唤醒家中或办公室里处于关机状态的设备,为日常的 运维 & 测试 工作提供了极大的便利。
当然,UpSnap 的功能远不止“一键唤醒”。下面这三个特性,是它真正脱颖而出,将我们从繁琐的手动操作中解放出来的关键。
1. 清晰直观的一键唤醒面板
所有受控设备都以卡片形式清晰地展示在仪表板上,在线状态一目了然。唤醒操作只需点击对应的设备卡片即可完成,你完全不需要去记忆复杂的 MAC 地址,也无需打开任何终端。
在权限管理上,UpSnap 也设计得相当细致。管理员可以为不同用户分配设备级别的操作权限,控制谁能查看、谁能开关机、谁能编辑设备信息,实现了精细化的访问控制。

此外,界面还内置了35套主题,并支持包括中文在内的19种语言,确保日常使用体验舒适自然。

2. 强大的 Cron 定时任务
这是将自动化发挥到极致的功能。你可以设置定时任务,例如,让工作电脑每天早上8:55自动唤醒,这样当你到达办公室时,系统已经准备就绪。
或者,设置在凌晨网络负载较低时自动唤醒 NAS 执行备份任务,备份完成后再自动关机。这种将重复性操作完全托管出去的感觉,一旦用过就再也回不去了。

3. 网络扫描与自动发现
手动录入设备的 IP 和 MAC 地址既枯燥又容易出错。UpSnap 集成了网络扫描功能(依赖 nmap),只需指定一个 IP 范围,它就能自动扫描整个局域网,并将发现的设备列表展示出来。你只需选中想要管理的设备,即可一键添加,省时省力。

如何快速部署?
UpSnap 的安装过程非常简单,官方推荐使用 Docker 进行一键部署。只需要执行下面这一条命令即可:
docker run -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 正常工作,目标设备必须通过有线网络连接(绝大多数无线网卡不支持WoL),并且你需要在主板的 BIOS/UEFI 设置中,将 Wake-on-LAN 或类似选项启用。如果不熟悉 BIOS 操作,可以搜索你的主板型号加上“开启 Wake on LAN”关键词,通常都能找到教程。部署后若无法唤醒,十有八九是卡在了这一步。
第二,至关重要的网络安全边界。
UpSnap 的关机等功能底层是通过执行 shell 命令实现的。这意味着,如果有人能绕过身份验证访问到相关接口,就相当于在局域网内获得了一个具有高权限的 shell,风险极高。
因此,作者强烈建议不要将 UpSnap 的服务直接暴露在公网上。如果你确实需要从外部网络访问,正确的做法是先通过 VPN(如 WireGuard 或 OpenVPN)接入内网,然后再进行操作。这不是软件的 Bug,而是清晰的安全边界。了解并遵守这个边界,才能用得安心。
Wake-on-LAN 曾是一个相对冷门的 网络/系统 功能,很多人听说过,但很少真正成功配置并使用过。UpSnap 所做的工作,就是将这项技术的使用门槛降到了最低。一次部署,终生受益,通过简洁的网页界面,你将设备的开关控制权重新牢牢握在了自己手中。
项目地址: https://github.com/seriousm4x/UpSnap