可疑来电筛查:PhoneInfoga 一次并行 5 路数据源扫完一个号码
【免费下载链接】phoneinfogaInformation gathering framework for phone numbers项目地址: https://gitcode.com/GitHub_Trending/ph/phoneinfoga
客服团队每天接到几十条诈骗投诉,逐个号码去多个平台手动核实并不现实。PhoneInfoga 是一个电话号码 OSINT 信息聚合工具:给一个国际号码,它会同时走内置解析、号码验证 API、搜索引擎、VoIP 号段等 5 路数据源,汇总成一份结果报告。
⚡PhoneInfoga 多源并行扫描:它到底怎么工作的
核心是扫描器模块里的Library:所有扫描器注册进同一个库,注册时先过过滤规则的名字匹配,命中过滤规则的扫描器直接被剔除,对应命令行的--disable参数。内置的 5 路数据源是:Local(格式标准化、国家识别,零配置)、Numverify(运营商与线路类型,需密钥)、Googlesearch(生成网络足迹检索链接,零配置)、Googlecse(可编程搜索自动抓取,需两个密钥)、OVH(欧洲 VoIP 号段识别,零配置)。每次扫描前还会先跑DryRun判断当前环境是否满足执行条件,没配 API 密钥的扫描器会被静默跳过,所以工具零配置也能开箱跑。
真正执行时是纯并发:每个扫描器跑在独立 goroutine 里,WaitGroup等全部完成。某个源 panic 会被recover兜住记成错误,不影响其余结果;最后结果和错误分别落到两个 map 一起返回。下面是精简后的并行调度逻辑:
for _, s := range r.scanners { wg.Add(1) go func(s Scanner) { defer wg.Done() if d, err := s.Run(*n, opts); err == nil { r.addResult(s.Name(), d) } }(s) }🔧PhoneInfoga 3 步跑起来:零配置最短路径
第一步,拿到源码:git clone https://gitcode.com/GitHub_Trending/ph/phoneinfoga
第二步,构建并执行首次扫描,零配置即可用,Local 与 Googlesearch 默认生效:
cd phoneinfoga && go build -o phoneinfoga . ./phoneinfoga scan -n "+33 06 12 34 56 78"第三步,需要 Web 界面时执行phoneinfoga serve -p 8080,浏览器打开 localhost:8080 即可输入号码、勾选扫描器。
PhoneInfoga 容器化部署:生产环境怎么落地
部署时建议直接使用官方镜像sundowndev/phoneinfoga。仓库自带两份 docker-compose 文件,其中 Traefik 版本是现成的网关编排,默认开启了 TLS 跳转、HSTS、CSP、frameDeny 等安全头,可以直接照抄。具体文件在docker配置目录。
密钥管理:所有扫描器凭据都走环境变量,目录下的.env会被自动加载,也可用--env-file指定别的文件。REST API 还支持按请求传凭据,且请求级取值会覆盖进程级环境变量。建议把密钥统一放进密钥管理系统注入,不要硬编码在 compose 文件里。
并发与性能:一次扫描会按扫描器数量扇出 goroutine,整体耗时取决于最慢的那个外部 API,不需要额外加并发层。PhoneInfoga 服务本身无状态、无持久化存储,可以放心水平扩容;只暴露 API 时加上--no-client,上线前记得设GIN_MODE=release。
踩过的坑与避坑建议
numverify 结果缺失现象:扫描输出只有 local、googlesearch 两段。 原因:未配置密钥的扫描器被静默跳过,日志里没有明显报错。 解法:把NUMVERIFY_API_KEY写进.env,各扫描器的环境变量清单见扫描器配置文档。
googlecse 报错现象:googlecse 源在扫描中返回限流错误。 原因:免费额度每天 100 次查询,约合 50 次扫描。 解法:在调用侧做限流,或在 API 控制台申请按量计费额度。
号码直接被判无效现象:scan 在输入阶段就拒绝了号码。 原因:国家码是必需的,纯本地格式的号码无法解析。 解法:用 E.164 格式传入,例如+33612345678。
一个二进制跑完从单个号码到五路交叉扫描的全流程,更多细节见使用指南。
【免费下载链接】phoneinfogaInformation gathering framework for phone numbers项目地址: https://gitcode.com/GitHub_Trending/ph/phoneinfoga
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考