4 个版本 (重大更新)
0.4.0 | 2019年9月11日 |
---|---|
0.3.1 | 2019年9月7日 |
0.2.0 | 2019年8月23日 |
0.1.0 | 2019年8月22日 |
#11 in #arp
39KB
829 行
🐀 家鼠 Rat
一个守护程序,监控来自已知设备的 DHCP 和 ARP 数据包的网络流量,并在这些设备连接或断开时通过 Telegram 发送通知。
🚀 使用方法
- 创建一个 Telegram 机器人 并保存其令牌。
- 使用包管理器安装
- Arch Linux: AUR,例如
yay -S houserat
- Cargo:
cargo install houserat
(注意您需要手动安装服务和配置文件)
- Arch Linux: AUR,例如
- 在
/etc/houserat/config.toml
中编辑配置,包含机器人令牌、设备和用户信息(示例)。 - 启用并启动服务:
systemctl enable --now houserat
。
🤖 机器人配置
一旦您有了您的机器人令牌,您需要获取每个订阅通知的用户聊天 ID。最简单的方法是
- 让用户与机器人开始对话或向其发送任何消息。
- 在浏览器中打开
https://api.telegram.org/bot<token>/getUpdates
(将<token>
替换为您的机器人令牌)并查找聊天 ID,它应该在message.chat.id
中,位于result
数组中。 - 将找到的聊天 ID 放入
config.toml
中该用户的chat_id
字段。 - 可选地通过返回 Telegram 的
getUpdates
API 方法并添加?offset=<update_id+1>
来清除更新列表,其中update_id
在结果中找到。这将使在重复此过程时查找其他聊天 ID 更容易。
💫 工作原理
Houserat 在设备发送 DHCP 请求数据包时检测连接到网络中的设备。然后,它会通知该设备的订阅者并开始轮询该设备以检测它何时断开连接。由于手机不总是响应 PING 数据包,Houserat 使用所有设备都必须响应的 ARP 请求。
当多个 ARP 请求没有收到响应时,设备被视为断开连接,并向订阅者发送通知。
💤 反垃圾邮件
Houserat 有几个旨在减少通知垃圾邮件的功能
- 可配置的 冷却时间,在此期间不发送新的通知,例如,如果设备在初始连接后不久重新连接,则只发送一条通知。
- 可配置的 静默期,在此期间发送消息而不发出声音通知。这可以用来避免在夜间发出嘈杂的 Telegram 通知。
依赖项
~25–36MB
~638K SLoC