SolverNA/bt-lock-guard

GitHub: SolverNA/bt-lock-guard

通过蓝牙信号强度监测实现 KDE 桌面自动锁屏,防止设备无人值守时的物理访问攻击。

Stars: 0 | Forks: 0

# bt-lock-guard 当您的蓝牙设备(手机/手表)离开范围时锁定您的 KDE 屏幕。 显示带有**系统托盘图标**、实时信号图、切换开关和阈值滑块的托盘图标。 ``` Phone moves away → RSSI drops below threshold ↓ bt-lock-daemon detects N consecutive misses ↓ Screen locks (qdbus / loginctl) ↓ Phone returns → unlock → grace period → monitoring resumes ``` ## 功能 - 系统托盘图标(位于 KDE 面板的 Wi-Fi/时钟附近) - 点击 → 弹出窗口包含: - **切换开关** — 立即启用/禁用守护 - **阈值滑块** — 设置锁定距离(-100 到 -30 dBm) - **实时 RSSI 图表** — 带有 dBm 值的 60 秒历史记录 - 每次会话配置 — 更改立即生效 - 解锁后的宽限期(允许蓝牙在重新激活前重新连接) - 适用于任何蓝牙设备:手机、手表、标签 ## 安装 ### 一键安装 (Debian / Kali / Ubuntu) ``` curl -fsSL https://raw.githubusercontent.com/SolVerNA/bt-lock-guard/master/install.sh | sudo bash ``` 安装程序在设置期间会要求输入目标蓝牙 MAC 地址。 ### 从源码安装 ``` git clone https://github.com/SolVerNA/bt-lock-guard cd bt-lock-guard sudo make install MAC=AA:BB:CC:DD:EE:FF ``` `make install` 现在会自动安装所需的 Debian 软件包(`bluez`、`python3-pyqt5`、`python3-dbus`)。 ### 托盘窗口中的设备选择 目前托盘弹出窗口中**没有设备选择器**。 弹出窗口显示状态和控制(启用/禁用 + 阈值),而设备绑定在安装/设置期间通过 MAC 进行配置。 ## 系统要求 - `bluez` (`bluetoothctl`、`l2ping`、`hcitool`) - `python3-pyqt5` - `python3-dbus` - systemd + KDE Plasma (X11) ## 阈值指南 | dBm | 距离(大约) | 使用场景 | |-----|-------------------|----------| | -40 | ~1m(同一房间) | 非常严格 — 仅限桌面 | | -60 | ~3–5m | 同一房间 | | -70 | ~5–10m | 离开房间 | | -80 | ~10–15m | 离开公寓 | | -90 | ~20m+ | 离开建筑 | ## 日志 ``` # Daemon journalctl --user -u bt-lock-daemon@AA:BB:CC:DD:EE:FF -f # 托盘 journalctl --user -u bt-lock-tray -f ``` ## 卸载 ``` git clone https://github.com/SolVerNA/bt-lock-guard cd bt-lock-guard sudo make uninstall ``` 配置文件保留在 `~/.config/bt-lock-guard/config.json`。 ## 许可证 MIT — SolVerNA
标签:KDE, KDE Plasma, Linux桌面安全, PyQt5, Python, Systemd, 个人安全, 信号强度, 屏幕保护, 无后门, 智能手表, 物理安全, 物理访问控制, 系统托盘, 蓝牙, 蓝牙信号, 蓝牙工具, 蓝牙锁定, 设备防丢, 距离检测, 逆向工具