自托管的告警平台,覆盖指标、日志和 SQL 数据源,内置 AI 助手与 MCP 服务。
quyxishi/whitebox
一个 Prometheus 导出器,通过多种 VPN 协议探测外部服务的可用性并输出指标。
- Star
- 162
- Fork
- 14
- 未关闭 Issue
- 1
- 最近提交
- 6天前
这是什么?
whitebox 是一个 Prometheus 导出器,用于检测外部 VPN 服务是否可以连通、能否正常工作。传入一个 VPN 连接 URI 和目标地址后,它会通过该 VPN 建立隧道访问目标,并以 Prometheus 指标的形式返回成功与否、HTTP 状态码、分阶段耗时和响应大小等结果。
支持的协议包括 VMESS、VLESS、Trojan、WireGuard、AmneziaWG、Shadowsocks 和 Hysteria2。探测既可以通过 REST 接口按需触发,也可以由 Prometheus 以多目标导出器模式定时抓取,或用 curl 配合 cron 执行。YAML 配置文件可定义命名的 scope、超时、请求体、自定义请求头和 fail_if 校验规则,并支持通过 SIGHUP 热加载。
导出器会在多次探测之间复用已启动的 xray 实例以控制内存占用,并在 /metrics 中暴露缓存统计。项目提供 Docker 镜像,示例目录包含 Prometheus、blackbox_exporter 和 Grafana 的完整部署。
核心功能
- 01支持通过 VMESS、VLESS、Trojan、WireGuard、AmneziaWG、Shadowsocks 和 Hysteria2 建立隧道进行探测。
- 02以 Prometheus 指标输出探测结果,包括成功状态、HTTP 状态码和分阶段耗时。
- 03提供 REST 的 /probe 接口,可按需或定时调用。
- 04支持 YAML 配置的 scope,可设置超时、请求体、请求头和响应校验规则。
- 05收到 SIGHUP 信号后可热加载配置,无需重启。
- 06跨探测复用 xray 实例,并暴露缓存相关指标。
适用场景
- 在 Prometheus 和 Grafana 中监控自建或第三方 VPN 节点的可用性。
- 对一批 VPN 连接 URI 定时执行连通性检查。
- 临时测试某个 VPN 连接能否访问指定网址。
快速上手
- 1
运行预构建的 Docker 镜像
docker run --rm -d --name whitebox -p 9116:9116 rxyvea/whitebox:latest - 2
通过 VPN 连接 URI 探测目标
curl -sG http://localhost:9116/probe --data-urlencode 'ctx=vless://c9f5228c-8870-47bd-a92f-9b38c7c02b08@1.2.3.4:443?type=tcp&encryption=none&security=reality&pbk=DF-3KL2W4RuNB2HgsEDmLqHLvvTTN4_QfwUCUn8Uhy0&fp=firefox&sni=ce-cdn.icloud-content.com&sid=620352b7&spx=%2F&flow=xtls-rprx-vision' --data-urlencode 'target=https://google.com'
使用前须知
- 探测需要每个目标提供可用的 VPN 连接 URI,因此必须自备 VPN 服务器信息。
- 若未启用 xray 实例缓存或未为容器设置内存上限,内存占用可能无限增长。
标签
常见问题
- whitebox 是什么?
- 一个 Prometheus 导出器,通过多种 VPN 协议探测外部服务的可用性并输出指标。 whitebox 是一个 Prometheus 导出器,用于检测外部 VPN 服务是否可以连通、能否正常工作。传入一个 VPN 连接 URI 和目标地址后,它会通过该 VPN 建立隧道访问目标,并以 Prometheus 指标的形式返回成功与否、HTTP 状态码、分阶段耗时和响应大小等结果。
- whitebox 可以免费使用吗?用的什么许可证?
- whitebox 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- whitebox 还在维护吗?
- 活跃维护中。whitebox 最近一次提交是在 2026年10月14日。
- whitebox 适合用来做什么?
- 在 Prometheus 和 Grafana 中监控自建或第三方 VPN 节点的可用性。 对一批 VPN 连接 URI 定时执行连通性检查。 临时测试某个 VPN 连接能否访问指定网址。
- whitebox 怎么安装和运行?
- 运行预构建的 Docker 镜像: docker run --rm -d --name whitebox -p 9116:9116 rxyvea/whitebox:latest 通过 VPN 连接 URI 探测目标: curl -sG http://localhost:9116/probe --data-urlencode 'ctx=vless://c9f5228c-8870-47bd-a92f-9b38c7c02b08@1.2.3.4:443?type=tcp&encryption=none&security=reality&pbk=DF-3KL2W4RuNB2HgsEDmLqHLvvTTN4_QfwUCUn8Uhy0&fp=firefox&sni=ce-cdn.icloud-content.com&sid=620352b7&spx=%2F&flow=xtls-rprx-vision' --data-urlencode 'target=https://google.com'
- 在哪里获取 whitebox?
- 源代码和安装说明在 GitHub 上:https://github.com/quyxishi/whitebox
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
自托管的网络测速分析工具,定时测速并按可配置的保留周期保存结果。
一款命令行网站监控工具,可跟踪运行时间、响应时间和 SSL 证书有效期,并支持告警通知。
为常见服务和基础设施自动生成并管理 Grafana 仪表盘与预置告警,无需手写查询。
自托管的安全远程访问平台,整合 WireGuard VPN、身份管理、多因素认证与网络访问控制。
endlessh SSH 蜜罐的 Go 实现,导出 Prometheus 指标并配有 Grafana 仪表盘,用于查看攻击来源统计。