具有CLI命令和Web界面的WOL

在这里插入图片描述

简介

什么是 wol ?

wol 是一个命令行工具,用于发送唤醒网络上设备的 Wake-On-LANWOL)魔法包。具有命令行界面和网页界面两种功能。本文只介绍了网页界面。

主要特点

  • 功能:通过发送 Wake-On-LANWOL)魔法包来唤醒网络上的设备。
  • 界面:提供命令行界面(CLI)和网页界面,用户可以通过这两种方式轻松唤醒设备。
  • 配置:支持配置多个设备,用户可以为每台设备指定名称以便于访问,并可以列出已配置的设备。
  • Docker 支持:可以通过 Docker 运行,方便部署和管理。
  • 跨平台:支持多种操作系统,包括 LinuxmacOSWindows

用户可以通过此工具在本地网络中快速唤醒关闭的设备,适用于需要远程管理或访问的环境。过年外出的时候,可能会用上的。

准备

需要准备一个配置文件 config.yaml,示例如下:

machines:
  - name: desktop
    mac: "00:11:22:33:44:55"
    ip: "192.168.1.100" # Optional, for status checking
  - name: server
    mac: "AA:BB:CC:DD:EE:FF"
    ip: "192.168.1.101" # Optional, for status checking

server:
  listen: ":7777" # Optional, defaults to :7777

设备配置

machines 是一个列表,包含多个设备的配置信息。

  • 每个设备的键值对:

    • name: 设备的名称,用于在命令行或网页界面中轻松识别和唤醒设备。
    • mac: 设备的 MAC 地址,必须是唯一的,格式为六组十六进制数字(如 “00:11:22:33:44:55”)。这是发送 WOL 魔法包时所需的关键标识符。
    • ip: (可选)设备的 IP 地址,用于状态检查。如果提供,系统可以监控该设备的在线状态。

服务器配置

server 定义了 WOL 服务的运行设置。

  • listen: 指定服务器监听的端口。默认情况下是 7777。该端口用于接收来自客户端的请求,例如通过网页界面唤醒设备。

安装

在群晖上以 Docker 方式安装。

默认运行 serve 命令,启用 Web 界面

docker cli 安装

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

# 新建文件夹 wol
mkdir -p /volume1/docker/wol

# 进入 wol 目录
cd /volume1/docker/wol

# 将 config.yaml 放入当前目录

# 运行容器
docker run -d \
   --restart unless-stopped \
   --network host \
   --name wol \
   -v $(pwd)/config.yaml:/etc/wol/config.yaml \
   ghcr.io/trugamr/wol:latest \
   serve

使用主机网络,以便局域网唤醒数据包在本地网络上正常工作

docker-compose 安装

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

version: '3'

services:
  wol:
    image: ghcr.io/trugamr/wol:latest
    restart: unless-stopped
    network_mode: "host"
    volumes:
      - ./config.yaml:/etc/wol/config.yaml
    command: serve  # To start the web interface

使用主机网络,以便局域网唤醒数据包在本地网络上正常工作

然后执行下面的命令

# 新建文件夹 wol
mkdir -p /volume1/docker/wol

# 进入 wol 目录
cd /volume1/docker/wol

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:7777 就能看到主界面

直接点 WAKE 按钮,就可以远程唤醒 config.yaml 中设置的机器了

参考文档

Trugamr/wol: 🦭 Wake up your devices with a single command or click. A Wake-On-LAN tool that works via CLI and web interface.
地址:https://github.com/Trugamr/wol

wol 🦭, a lightweight self-hosted tool to send Wake-On-LAN packets. : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1i6eiw3/wol_a_lightweight_selfhosted_tool_to_send/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/958523.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue2:使用sortablejs实现el-table中行拖拽调整顺序

如图,实现拖拽表格中的行来调整行顺序,但是其中的编号仍然是1、2、3、4的顺序,不跟着变化。 实现如下: 一、导入sortablejs import Sortable from "sortablejs";export default { components: {Sortable},data() {return {//数据中的id很重要,拖拽行重新排序…

分布式光纤应变监测是一种高精度、分布式的监测技术

一、土木工程领域 桥梁结构健康监测 主跨应变监测:在大跨度桥梁的主跨部分,如悬索桥的主缆、斜拉桥的斜拉索和主梁,分布式光纤应变传感器可以沿着这些关键结构部件进行铺设。通过实时监测应变情况,能够精确捕捉到车辆荷载、风荷…

智能手机“混战”2025:谁将倒下而谁又将突围?

【潮汐商业评论原创】 “去年做手机比较艰难,几乎每个品牌都在调价、压货,像华为这种以前都不给我们分货的厂商,也开始成为我的主要库存。不过今年开头比较好,20号国补一开始,店里的人流和手机销量就明显涨了不少&…

OpenCV文字绘制支持中文显示

OpenCV版本:4.4 IDE:VS2019 功能描述 OpenCV绘制文本的函数putText()不支持中文的显示,网上很多方法推荐的都是使用FreeType来支持,FreeType是什么呢?FreeType的官网上有介绍 FreeType官网 https://www.freetype.or…

MyBatis-Plus的条件构造器和常用接口

一、wrapper介绍 Wrapper : 条件构造抽象类,最顶端父类 ​ AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 ​ QueryWrapper : 查询条件封装 ​ UpdateWrapper : Update 条件封装 ​ Abst…

结合实例分析A2DP SBC帧结构和编解码算法

SBC也就是Sub band codec,俗称子带编码,是蓝牙A2DP必须支持的唯一编码。下面结合实例看看SBC编码数据在蓝牙传输中帧结构以及SBC的编解码算法流程: AVDTP Frame 首先AVDTP Frame是基于L2CAP协议,所以会包含有4个字节的L2CAP头部&…

接口(3)

大家好,今天我们接着上一篇的内容继续往下来看看,了解一下如何实现多个接口,与继承父类不同,一个类可以实现接口,那么话不多说,来看。 2.5实现多个接口. 在Java中,类和类之间是单继承的,一个类只能有一个…

MATLAB提供的颜色映射表colormap——伪彩色

图像处理领域的一个习惯:不是真实的颜色,一般用伪彩色。一是说明不是物体本身的颜色,二是彩色更容易分辨。 MATLAB陆续提供了16种颜色映射表colormap。 之前的都很丑,近5年新增的4种还可以。总的说来还是丑。 这是一种鸟的名字。…

网络安全 | 入侵检测系统(IDS)与入侵防御系统(IPS):如何识别并阻止威胁

网络安全 | 入侵检测系统(IDS)与入侵防御系统(IPS):如何识别并阻止威胁 一、前言二、入侵检测系统(IDS)2.1 IDS 的工作原理2.2 IDS 的技术类型2.3 IDS 的部署方式 三、入侵防御系统(…

工业“MCU+AI”

随着工业4.0的推进,传统工业设备正向智能化和自动化方向转型。这要求设备具备更高的算力、更强的实时处理能力以及支持AI算法的能力,以应对工业机器人、电机控制、预测性维护等复杂应用场景。 近年来越来越多的芯片厂商纷纷推出工业“MCUAI”产品&#…

【统计的思想】假设检验(二)

假设检验是根据人为设定的显著水平,对被测对象的总体质量特性进行统计推断的方法。 如果我们通过假设检验否定了零假设,只是说明在设定的显著水平下,零假设成立的概率比较小,并不是说零假设就肯定不成立。如果零假设事实上是成立…

[云讷科技]Kerloud Falcon四旋翼飞车虚拟仿真空间发布

虚拟仿真环境作为一个独立的专有软件包提供给我们的客户,用于帮助用户在实际测试之前验证自身的代码,并通过在仿真引擎中添加新的场景来探索新的飞行驾驶功能。 环境要求 由于环境依赖关系,虚拟仿真只能运行在装有Ubuntu 18.04的Intel-64位…

【数据结构】深入解析:构建父子节点树形数据结构并返回前端

树形数据结构列表 一、前言二、测试数据生成三、树形代码3.1、获取根节点3.2、遍历根节点,递归获取所有子节点3.3、排序3.4、完整代码 一、前言 返回前端VO对象中,有列情况列表展示需要带树形结构,例如基于RBAC权限模型中的菜单返回&#xf…

Versal - ChipScoPy + XSDB + Python CLI

目录 1. 简介 1.1 ChipScoPy 1.2 XSDB 1.3 Python CLI 2. 安装 ChipScoPy 2.1 Python 环境 2.2 设置虚拟环境 2.3 安装 ChipScoPy 2.4 安装依赖 2.5 安装示例 2.6 打开 JupyterLab 2.7 启动 hw/cs 服务 2.8 更新 ChipScoPy 2.9 参考资料 3. ChipScoPy 示例 3.1…

【优选算法】8----四数之和

有看过我上篇算法博客并且去做过的铁子们,对这道题的话应该就不会那么陌生了,因为这两道题 的解题思路有着异曲同工之妙~ -----------------------------------------begin------------------------------------- 题目解析: 跟三数之和就多了…

安卓日常问题杂谈(一)

背景 关于安卓开发中,有很多奇奇怪怪的问题,有时候这个控件闪一下,有时候这个页面移动一下,这些对于快速开发中,去查询,都是很耗费时间的,因此,本系列文章,旨在记录安卓…

Python3 OS模块中的文件/目录方法说明九

一. 简介 前面文章简单学习了 Python3 中 OS模块中的文件/目录的部分函数。 本文继续来学习 OS 模块中文件、目录的操作方法:os.pipe() 方法、os.popen() 方法。 二. Python3 OS模块中的文件/目录方法 1. os.pipe() 方法 os.pipe() 方法用于创建一个管道, 返回…

2025.1.20——四、[强网杯 2019]Upload1 文件上传|反序列化

题目来源:buuctf [强网杯 2019]Upload 1 目录 一、打开靶机,查看信息 二、解题思路 step 1:登陆进去看情况 step 2:大佬来支援——问题在cookie step 3:测试两个思路 1.目录穿越 2.目录扫描 step 4&#xff…

Go学习:iota枚举

iota注意事项: iota:常量自动生成器,每隔一行,自动累加iota给常量赋值使用iota 遇到 const,重置为 0可以只写一个iotaiota如果是同一行,值都一样 简单代码: package mainimport "fmt&qu…

2025 OWASP十大智能合约漏洞

随着去中心化金融(DeFi)和区块链技术的不断发展,智能合约安全的重要性愈发凸显。在此背景下,开放网络应用安全项目(OWASP)发布了备受期待的《2025年智能合约十大漏洞》报告。 这份最新报告反映了不断演变的…