Skip to content

项目简介

PowerControlClient 是一款专为终端设备设计的轻量级远程电源管理客户端。它作为后台服务运行在需要被控制的计算机上(如家庭 NASHomeLab 服务器、实验室主机、办公电脑),时刻监听来自网络的控制指令,并精准执行关机重启等操作。

定位说明

虽然名称中包含 "Client",但它实际上作为一个常驻系统服务运行在您的设备上。它是您远程运维工具箱中不可或缺的电源管理代理

应用场景

PowerControlClient 致力于解决局域网内设备的电源控制难题,广泛适用于以下场景:

🏠 个人与家庭

  • 家庭实验室 (HomeLab): 统一管理家中的 NAS (Synology/TrueNAS/Unraid)、软路由 (OpenWrt)、下载机等设备的电源,配合 WOL 实现完全的远程开关机闭环。
  • 智能家居: 接入 Home AssistantNode-RED,结合智能插座功率检测,实现“电脑关机后自动切断电源”的自动化流程。

🏢 企业与办公

  • 企业/网吧管理: 批量关闭局域网内的闲置计算机,实现绿色办公,显著节约能源成本。
  • 远程维护: 配合 TeamViewerAnyDeskRDP 远程桌面软件使用。当系统卡死或需要冷重启时,提供独立于操作系统的电源操作能力。
  • 自动化运维 (DevOps): 无缝集成到 JenkinsAnsibleGitLab CI 等自动化构建工具中,在构建任务完成后自动关闭构建节点,释放资源。

🏛️ 展厅与多媒体集成

  • 展厅中控对接: 完美支持 TCP Socket 协议,可与 Crestron (快思聪)AMX 等专业中控系统无缝集成。实现展厅内几十台多媒体播放主机的一键开馆/闭馆
  • 广告机管理: 为商场、电梯间的广告机或查询终端提供远程重启接口,无需人工现场维护。

⚡ 自动化任务

  • 定时开关机: 配合简单的脚本或定时任务,实现特定时间(如凌晨 3 点)自动重启服务器,释放内存,保持系统流畅。

核心功能

1. 多协议支持 (HTTP/TCP/UDP)

为了适应不同的控制场景,PowerControlClient 同时监听三种网络协议,提供最大的灵活性:

  • HTTP (42000): 提供标准的 RESTful APIWeb 控制页面,适合浏览器访问、Curl 脚本调用或 Home Assistant 集成。
  • TCP (42001): 提供可靠的长连接控制接口,适合开发专门的 PC 端或移动端管理软件。
  • UDP (42002): 专用于设备发现和广播控制,支持无需知道 IP 地址的盲操作。

2. 内置 Web 控制台

无需安装任何额外的控制端软件,PowerControlClient 内置了一个现代化的 Web 管理界面。只需在浏览器中访问 http://设备IP:42000/control,即可看到直观的控制面板。

  • 响应式设计: 完美适配手机、平板和桌面浏览器。
  • 一键操作: 点击按钮即可执行关机重启,并带有二次确认防止误触。

3. 智能设备发现

忘记了设备的 IP 地址?没关系。PowerControlClient 支持基于 UDP 广播 的自动发现协议。控制端只需发送广播包,局域网内的所有运行 PowerControlClient 的设备都会自动响应其 IP 地址MAC 地址,实现零配置管理。

4. 安全机制

  • MAC 地址绑定: 每个控制指令都必须携带目标设备的 MAC 地址(或使用 all 广播)。客户端会严格校验指令中的 MAC 地址是否与本机网卡匹配,有效防止误操作其他设备。
  • 日志审计: 所有的操作请求、执行结果都会详细记录在本地日志文件中,支持按天轮转,方便事后追溯和安全审计。

5. 系统级集成

  • Windows 服务: 提供一键安装功能,将程序注册为 Windows 原生服务,支持开机自启、后台静默运行和故障自动重启。
  • Linux 守护进程: 提供标准的 Systemd 单元文件和安装脚本,完美融入 Linux 系统管理体系,支持 systemctl 管理。

Released under the MIT License.