IP Tools Telegram Bot:用 Telegram 查询 IPPure 与 BGP 路由图
IP Tools Telegram Bot 是一个自托管 IP 查询图片机器人,私聊发送 IPv4 或域名后,自动返回 IPPure 官方结果图和 bgp.tools BGP 路由图。
查 IP 质量、ASN、BGP 路由可见性这类信息,本身并不复杂,但入口通常比较分散:IPPure 看画像,bgp.tools 看路由图,域名还要先解析 A 记录。
IP Tools Telegram Bot 的想法很简单:把这些步骤放进 Telegram。你只需要给 Bot 发一个 IPv4 或域名,它就自动返回两张图。
项目地址:https://github.com/shuijiao1/IP-Tools-Telegram-Bot
它会返回什么
Bot 收到输入后,会按顺序发送:
- IPPure 官方结果图;
- bgp.tools BGP 路由图。
如果输入的是域名,Bot 会先解析 A 记录,拿到 IPv4 后再查询。
例如你可以发送:
1.1.1.1
example.com
https://example.com/path
它会自动提取可以查询的目标,不需要手动打开网页、截图、保存、再转发。
为什么是图片结果
很多 IP 查询信息用文字当然也能展示,但图片有几个好处:
- Telegram 里预览直观;
- 方便转发给别人;
- 不容易因为长文本刷屏;
- BGP 路由图本来就适合用图看。
这个 Bot 的目标不是把每个字段都解析成结构化文本,而是快速得到一眼能看的结果。
尤其是 BGP 图,直接看 ASN 路径、上游和可见性,比纯文字更容易判断问题。
IPPure:使用官方图片
IPPure 这部分不是手工重绘页面,而是尽量使用 ippure.com 页面自带的截图 / 相机按钮导出的官方 PNG。
这样做的好处是:
- 样式和官网一致;
- 信息展示完整;
- 避免自己重绘时漏字段;
- 适合直接作为 Telegram 图片发送。
对于「给别人看一下这个 IP 大概怎么样」的场景,官方图比一大段文字更省事。
BGP:使用 bgp.tools 路由图
BGP 部分使用 bgp.tools 的 path image。
它适合看:
- 这个 IP / 前缀是否有路由可见性;
- ASN 路径大概是什么样;
- 上游和路由关系;
- 是否出现异常路径。
需要注意的是,bgp.tools 偶尔可能返回占位图、暂无路径数据,或者服务临时抽风。这种情况通常重试一次就好。
私聊和群聊怎么用
私聊里直接发目标即可:
1.1.1.1
example.com
群聊里为了避免刷屏,默认需要带 Bot 用户名:
@YourBotName 1.1.1.1
@YourBotName example.com
这个设计比较适合把 Bot 放进小群里,但不希望别人随便发个 IP 就触发查询。
部署方式
项目支持 Docker / Docker Compose,也提供一键脚本。
一键脚本:
bash <(curl -Ls https://github.com/shuijiao1/IP-Tools-Telegram-Bot/raw/main/deploy.sh)
Docker Compose 手动部署时,核心配置是 .env:
BOT_TOKEN=123456:your_bot_token_here
OWNER_ID=123456789
PUBLIC_ACCESS=false
默认是白名单模式。除非你明确设置:
PUBLIC_ACCESS=true
否则不会开放给所有人使用。
完整部署说明见 README:https://github.com/shuijiao1/IP-Tools-Telegram-Bot
为什么默认不公开
IP 查询 Bot 看起来不像服务器管理工具那么敏感,但仍然建议默认私有:
- 避免被陌生人拿来刷查询;
- 避免第三方服务访问频率过高;
- 避免群聊里无意义刷图;
- 避免暴露你的 Bot 使用习惯。
所以项目默认需要配置 OWNER_ID 或允许用户列表。
如果你真的要做公开 Bot,建议至少加上速率限制、日志清理和错误处理策略。
适合哪些场景
这个 Bot 比较适合:
- 买 VPS 前后快速看 IP;
- 排查某个 IP 的 BGP 可见性;
- 给朋友转发 IPPure / BGP 图片;
- 在 Telegram 群里快速查域名解析后的 IP 路由;
- 自己做一个私有 IP 查询工具入口。
如果你只偶尔查一次,直接打开网页也可以。但如果你经常查,Telegram Bot 会顺手很多。
小结
IP Tools Telegram Bot 做的事情很窄:输入 IP / 域名,输出 IPPure 和 BGP 两张图。
也正因为它很窄,所以用起来直接,不需要复杂面板,也不需要记多个网站入口。