Normal view

There are new articles available, click to refresh the page.
Before yesterdayBOXKS

Go4WOL 唤醒局域网设备的新方式

By: Kaiyuan
23 September 2025 at 22:48

Go4WOL我以前是使用 Nodejs 开发的唤醒局域网设备办法在群晖环境下配置起来比较麻烦,然后现在以来 AI 就无需我自己去学习太多也能开发一个简单易用的工具了,然后我喊 Claude 开发了一个 Go 语言实现的有前端页面的工具。

直接告诉 Claude 我的需求,然后三四次修改,从 1.0 的纯接收 Post 发送 wol 命令到 2.0 直接在网页就能发送命令。

AI 写代码的重点是尽可能描述详尽,特别是细节上的描述,描述得越详细 AI 的结果就越接近所想。

代码已经在 Github 开源了。

Docker Compose 部署

version: '3.8'

services:
  go4wol:
    build: .
    container_name: go4wol
    restart: unless-stopped
    network_mode: host  # 使用host网络模式,确保能够发送广播包
    # 注意:使用host网络模式时,ports映射会被忽略
    ports:
      - "52133:52133"  # 在host网络模式下这行会被忽略,但保留以备切换到bridge模式
    environment:
      - PORT=52133
      - ADMIN_PASSWORD=your_secure_password  # 请修改为安全的密码
      - TZ=Asia/Shanghai
    volumes:
      - ./data:/data:rw  # 挂载数据目录到宿主机,确保读写权限
    user: "1000:1000"  # 使用与容器内相同的用户ID
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.go4wol.rule=Host(`go4wol.local`)"
      - "traefik.http.services.go4wol.loadbalancer.server.port=52133"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

    image: kaiyuan/go4wol:latest

部署后最好加一层 ssl 转发,然后打开网页,可以作为 PWA 应用安装,这样就能像原生应用一样使用了。 go4wol_screenshot

也可以使用 iOS 捷径 Post MAC 开机。

{
    "mac": "AA:BB:CC:DD:EE:FF",        // 必需:目标设备的MAC地址
    "broadcast": "192.168.1.255",      // 可选:广播地址,默认255.255.255.255
    "port": 9                          // 可选:端口号,默认9
}

❌
❌