局域网唤醒工具UpSnap
什么是 UpSnap ?
UpSnap是使用SvelteKit、Go、PocketBase和nmap编写的简单局域网唤醒应用程序。
v3 更新日志:
⚙️ 后端:
- 用
Go重写。之前的版本是Python写的; - 不再支持不同的数据库。后端现在使用基于
SQLite的PocketBase; - 添加了使用密码唤醒事件的选项。如果您的网卡支持,您可以在
BIOS中找到它,称为SecureOn或smiliar; PocketBase提供了一个API。可以登录localhost:8090/_/,点击右上角的API reviewP·
- 用
🎨 前端:
- 从
Svelte转换为SvelteKit,并且几乎重写了所有内容; - 摆脱了模式。页面应该更加用户友好;
- 设备卡上更好的徽章以显示
cron事件和密码保护;
- 从
通用:
- 大大减少资源需求;
- 单个二进制文件即可运行所有内容
- 反向代理不再需要自定义路由;
安装
在群晖上以 Docker 方式安装。
镜像下载
官方的镜像发布在 ghcr.io,
地址:https://github.com/seriousm4x/UpSnap/pkgs/container/upsnap

用 SSH 客户端登录到群晖后,依次执行下面的命令
1 | # 新建文件夹 upsnap 和子目录 |
如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤
1 | # 如果拉不动的话加个代理 |
下载完成后,可以在 映像 中找到

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 upsnap 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
这是完整的官方版本
1 | version: "3" |
然后执行下面的命令
1 | # 新建文件夹 upsnap 和 子目录 |
运行
在浏览器中输入 http://群晖IP:8090 就能看到主界面

添加设备
进设置里添加设备

添加完成之后,回到首页会出现设备卡片

点①可以直接网络唤醒

唤醒之后,开关按钮会变绿

点②则显示该设备的详细信息

尝试再添加个端口,比如 SSH 使用的22

设备卡片上会增加

网络扫描
如果觉得一台一台添加麻烦,也可以直接用网络扫描

速度还是比较快的,但存在缺漏

点设备后面的 Add +,返回首页

API
PocketBase 提供了 API ,浏览器中打开 http://群晖IP:8090/_/

注册账号之后,进入主界面

右上角 API Preview

日志

最后来一张官网的图

参考文档
seriousm4x/UpSnap: A simple wake on lan app written with SvelteKit, Go, PocketBase and nmap
地址:https://github.com/seriousm4x/UpSnapUpSnap v3 is out and rewritten in Go : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/10rz7jc/upsnap_v3_is_out_and_rewritten_in_go/