wol-sleep-pc

🖥️ 安全可靠的局域网远程电源管理

🥥32总安装量 14评分人数 20
100% 的用户推荐

基于 Python 标准库的局域网设备远程唤醒工具,零依赖架构与本地配置隔离确保网络安全,为家庭办公场景提供可靠的电源管理方案。

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 代码无危险函数调用,未使用 eval/exec/system/subprocess 等高风险接口
  • ✅ 零第三方依赖,仅使用 Python 标准库,无供应链攻击风险
  • ✅ 数据完全本地处理,无网络上传行为,敏感信息不上云
  • ✅ 配置与代码分离,通过 .gitignore 确保本地敏感配置不进入版本控制
  • ⚠️ MAC 地址和广播地址的输入格式验证可进一步加强,建议添加正则校验

使用说明

wol-sleep-pc 是一个专注于局域网设备电源管理的实用技能,通过发送 Wake-on-LAN(WOL)魔法包和 Sleep-on-LAN(SOL)倒序 MAC 包,实现对本地网络计算机的远程唤醒与休眠控制。该技能提供两个核心 Python 脚本,分别处理唤醒和休眠指令,均基于标准库 socket 实现 UDP 广播通信,无需安装任何第三方依赖。

核心用法十分直观:用户可通过命令行参数直接调用脚本,指定目标 MAC 地址和广播地址;更推荐的方式是在 ~/.config/wol-sleep-pc/config.json 创建本地配置文件,持久化存储设备 MAC 地址、倒序休眠 MAC 及网络广播地址。脚本执行时会自动加载配置,并允许命令行参数覆盖,实现灵活的配置管理。典型场景包括深夜远程唤醒 NAS 进行数据同步,或定时休眠闲置工作站以节省能源。

该技能的显著优点体现在其安全优先的设计哲学。首先,代码仅依赖 Python 标准库(argparse、json、os、socket),完全避免了供应链攻击风险。其次,默认配置采用零值填充,强制用户主动配置敏感信息,配合 .gitignore 规则确保本地配置文件不会意外进入版本控制,有效防止 MAC 地址等网络敏感信息泄露。此外,脚本运行在用户态,无需 root 权限(仅需 UDP 广播权限),降低了权限提升风险。

然而,该技能也存在一定局限性。功能上严格限定于同一二层网络(L2),若需跨网段操作必须依赖 VPN 或路由器端口转发配置,无法直接用于互联网远程管理。输入验证方面,虽然使用了 argparse 进行参数解析,但对 MAC 地址格式和广播地址范围的校验较为宽松,错误的地址格式可能导致数据包发送失败或网络异常。此外,倒序 MAC 计算需用户手动完成,对不熟悉网络协议的用户存在一定使用门槛。

该技能特别适合家庭实验室用户、小型办公网络管理员以及需要自动化电源管理的 DevOps 工程师。对于拥有多台设备的家庭用户,可通过 Home Assistant 等自动化平台集成,实现语音控制电脑开关机;对于企业机房运维人员,可将其纳入 Ansible 或 Shell 脚本工作流,在非工作时段自动休眠闲置服务器,降低能耗成本。

使用过程中的常规风险主要集中在网络配置和隐私保护层面。首先,WOL 功能依赖目标网卡的硬件支持及 BIOS/UEFI 设置,若目标设备未开启相关功能或处于完全断电状态(而非休眠),魔法包将无法生效。其次,虽然脚本本身不传输数据至外部,但 UDP 广播包在局域网内可见,若网络环境不可信,MAC 地址等硬件标识可能被嗅探。建议用户在受信任的家庭或企业内网使用,避免在公共 Wi-Fi 环境下暴露设备硬件信息。最后,配置文件存储于用户主目录,若多用户共享系统,需注意文件权限设置(建议 600),防止其他本地用户读取敏感网络配置。

wol-sleep-pc 内容

文件夹图标scripts文件夹
手动下载zip · 4.0 kB
send_sleep.pytext/plain
请选择文件