局域网唤醒工具UpSnap

在这里插入图片描述

什么是 UpSnap ?

UpSnap 是使用 SvelteKitGoPocketBasenmap 编写的简单局域网唤醒应用程序。

v3 更新日志:

  • ⚙️ 后端:

    • Go 重写。之前的版本是 Python 写的;
    • 不再支持不同的数据库。后端现在使用基于 SQLitePocketBase
    • 添加了使用密码唤醒事件的选项。如果您的网卡支持,您可以在 BIOS中找到它,称为 SecureOnsmiliar
    • PocketBase 提供了一个 API。可以登录 localhost:8090/_/,点击右上角的 API reviewP·
  • 🎨 前端:

    • Svelte 转换为 SvelteKit,并且几乎重写了所有内容;
    • 摆脱了模式。页面应该更加用户友好;
    • 设备卡上更好的徽章以显示 cron 事件和密码保护;
  • 通用:

    • 大大减少资源需求;
    • 单个二进制文件即可运行所有内容
    • 反向代理不再需要自定义路由;

安装

在群晖上以 Docker 方式安装。

镜像下载

官方的镜像发布在 ghcr.io
地址:https://github.com/seriousm4x/UpSnap/pkgs/container/upsnap

SSH 客户端登录到群晖后,依次执行下面的命令

# 新建文件夹 upsnap 和子目录 
mkdir -p /volume2/docker/upsnap/data

# 进入 upsnap 目录
cd /volume2/docker/upsnap

# 拉取镜像
## 需要注意:官方没有 latest ,所以需要自己去查最新的版本
docker pull ghcr.io/seriousm4x/upsnap:3.0.3

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/seriousm4x/upsnap:3.0.3

# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/seriousm4x/upsnap:3.0.3 ghcr.io/seriousm4x/upsnap:3.0.3

# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/seriousm4x/upsnap:3.0.3

下载完成后,可以在 映像 中找到

在这里插入图片描述

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 upsnap 和 子目录
mkdir -p /volume2/docker/upsnap/data

# 进入 upsnap 目录
cd /volume2/docker/upsnap

# 运行容器
docker run -d \
   --restart unless-stopped \
   --network host \
   --name upsnap \
   -v $(pwd)/data:/app/pb_data \
   ghcr.io/seriousm4x/upsnap:3.0.3

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

这是完整的官方版本

version: "3"

services:
  upsnap:
    image: ghcr.io/seriousm4x/upsnap:3.0.3
    container_name: upsnap
    network_mode: host
    restart: unless-stopped
    volumes:
      - ./data:/app/pb_data
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1
      interval: 1m
      timeout: 10s
      retries: 3
    # environment:
    #   - TZ=Europe/Berlin # Set container timezone for cron schedules
    #   - UPSNAP_INTERVAL=@every 10s # Sets the interval in which the devices are pinged
    #   - UPSNAP_SCAN_RANGE=192.168.1.0/24 # Scan range is used for device discovery on local network
    #   - UPSNAP_WEBSITE_TITLE=Custom name # Custom website title
    # command: ["./upsnap", "serve", "--http", "0.0.0.0:8090"] # Uncomment this if you want to change the port for example

然后执行下面的命令

# 新建文件夹 upsnap 和 子目录
mkdir -p /volume2/docker/upsnap/data

# 进入 upsnap 目录
cd /volume2/docker/upsnap

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 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/UpSnap

UpSnap v3 is out and rewritten in Go : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/10rz7jc/upsnap_v3_is_out_and_rewritten_in_go/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值