UpSnap 是一款开源、轻量的 Wake-on-LAN (WOL) 网页应用,旨在让用户通过直观的界面轻松管理、唤醒和控制网络设备。该项目基于现代化的技术栈构建,支持跨平台部署,兼顾易用性与扩展性,适用于家庭、小型办公场景或个人开发者远程管理设备的需求。

一、项目核心信息
- 开源协议:MIT License(自由使用、修改和分发,无商业限制)
- 核心定位:跨平台 WOL 设备管理工具,支持设备唤醒、关机、定时任务、权限控制等全流程管理
二、技术栈
UpSnap 采用前后端分离架构,技术选型聚焦轻量、高性能和易维护:
1.前端
- 框架:SvelteKit + TypeScript(轻量、无虚拟 DOM,渲染性能优异)
- 样式:TailwindCSS + daisyUI(原子化 CSS,快速构建响应式界面)
- 国际化:Inlang 多语言支持(内置英、意、保加利亚等多语种,可扩展)
- 构建工具:Vite(极速热更新,优化构建流程)
2.后端
- 语言:Go(编译型语言,跨平台、低资源占用)
- 核心依赖:PocketBase(轻量的后端 BaaS,内置数据库、认证、API)
- 网络:基于
mdlayher/wol实现魔法包发送,支持多端口/广播地址优化
三、核心功能
1. 灵活的设备唤醒(WOL)

- 标准 WOL 魔法包发送:支持自定义 SecureON 密码(仅 0/4/6 位字符,符合硬件规范)
- 多端口/广播优化:自动向多个端口(7/9)和广播地址发送魔法包,提升唤醒成功率
- 自定义唤醒命令:支持替换默认 WOL 逻辑,适配特殊设备场景
2. 全维度设备管理

- 基础信息配置:IP、MAC、子网掩码、描述、分组管理(按场景归类设备)
- 状态检测:自定义 ping 命令(支持任意 Shell 命令,通过退出码判断设备在线状态)、端口开放检测
- 关机控制:配置自定义关机命令(支持 Windows
net rpc、Linuxsshpass等,Docker 环境内置依赖) - 网络扫描:基于 nmap 自动扫描局域网设备,支持批量添加、未知设备筛选
3. 定时任务与自动化
- Cron 表达式配置:支持定时唤醒、定时关机(遵循标准 Cron 语法,默认每 3 秒检测设备状态)
- 懒加载 Ping:可选「仅当用户访问页面时检测设备状态」,降低资源占用

4. 权限与用户管理
- 角色控制:管理员/普通用户分级,普通用户仅可操作授权设备
- 细粒度权限:针对单设备配置「唤醒/关机」权限,避免误操作

5. 个性化与易用性
- 主题切换:自动适配系统深色/浅色模式,支持自定义主题
- 自定义配置:网站标题、favicon、Ping 检测间隔等均可自定义
- 友好提示:操作反馈(Toast 提示)、表单校验、多语言界面

四、部署方式
UpSnap 支持多种部署方式,适配不同场景:
仅 10MB 开源工具,一键远程唤醒关机电脑!
五、适用场景
- 家庭用户:唤醒 NAS、客厅电脑、智能家居设备
- 小型办公:批量管理办公电脑/服务器,定时开机/关机降低能耗
- 个人开发者:远程唤醒开发服务器、测试设备,无需物理接触
六、优势
- 轻量无依赖:Go 后端编译后单二进制文件,PocketBase 内置数据库,无需额外部署 MySQL/Redis
- 跨平台兼容:支持 x86/ARM 架构(如树莓派),Windows/macOS/Linux/FreeBSD 全覆盖
- 开源免费:无付费功能、无广告,项目明确声明「任何收费提供 UpSnap 的行为均为诈骗」
- 易扩展:前后端代码结构清晰,支持自定义命令、多语言扩展、第三方认证
七、总结
UpSnap 以「轻量、易用、可扩展」为核心,解决了传统 WOL 工具操作复杂、跨平台兼容差的问题,同时通过定时任务、权限控制、网络扫描等功能,实现了设备管理的全流程覆盖。无论是家庭用户快速唤醒设备,还是小型团队管理多台设备,UpSnap 都是一款开箱即用的优质开源工具。