Holehe 部署与使用教程

Holehe 是一款用于检查邮箱在哪些网站上注册过的开源情报(OSINT)工具,支持检测 Twitter、Instagram 等超过 120 个平台。

本文将介绍三种部署方式及基本用法,你可以根据自己的需求选择最合适的一种。

准备工作

无论选择哪种方式,都请确保:

  1. 拥有一个用于测试的邮箱地址:这是工具运行的必要输入。
  2. 知晓使用边界:该工具主要用于教育目的,请确保在获得授权或用于自查等合法合规的场景下使用。

方式一:使用 pip 安装(推荐)

这是最简单快捷的方式,适合大部分用户。通过 Python 的包管理工具 pip 进行全局安装。

  1. 打开终端(Windows 系统为命令提示符或 PowerShell)。

  2. 执行安装命令

    1
    pip3 install holehe
  3. 验证安装:安装完成后,可以输入以下命令检查是否成功:

    1
    holehe --help

方式二:从源码安装

这种方式适合想要使用最新特性或需要阅读源码的开发者。

  1. 克隆项目仓库

    1
    git clone https://github.com/megadose/holehe.git
  2. 进入项目目录

    1
    cd holehe/
  3. 执行安装脚本

    1
    python3 setup.py install

方式三:使用 Docker 部署

如果希望运行环境与宿主机隔离,避免依赖冲突,Docker 是理想选择。

  1. 构建 Docker 镜像:在项目根目录(即包含 Dockerfile 的目录)下运行:

    1
    docker build . -t my-holehe-image
  2. 运行容器并执行检查

    1
    docker run my-holehe-image holehe test@gmail.com

    test@gmail.com 替换为你要查询的邮箱地址。


基本使用方法

成功安装后,便可以通过命令行或将其嵌入 Python 代码来使用。

1. 命令行(CLI)模式

这是最直接的使用方式。在终端中运行以下命令即可:

1
holehe 你要查询的邮箱@example.com

常用参数:

  • 只显示成功的检测结果:过滤掉未注册的站点,让结果更清晰。

    1
    holehe 邮箱@example.com --only-success
  • 指定检测模块:只检测特定的平台,例如只检查 Twitter 和 Facebook。

    1
    holehe 邮箱@example.com --modules twitter facebook
  • 保存结果到文件:便于后续分析查看。

    1
    holehe 邮箱@example.com --output result.txt

2. 嵌入 Python 代码

Holehe 的核心功能也可以作为 Python 库,集成到你的自动化脚本或应用中。以下是一个检测 Snapchat 的异步代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
import trio
import httpx
from holehe.modules.social_media.snapchat import snapchat

async def main():
email = "test@gmail.com" # 替换为目标邮箱
out = []
client = httpx.AsyncClient()
await snapchat(email, client, out) # 调用特定模块
print(out)
await client.aclose()

trio.run(main)

输出结果解读

检测完成后,每个模块都会返回一个结构化的字典,关键字段解释如下:

字段 含义
name 模块名称(即对应的网站或服务)。
exists 核心结果True 表示该邮箱在此网站注册过;False 则表示未注册。
rateLimit 是否触发了网站的请求频率限制。若为 True,该结果可能不准确。
emailrecovery 部分平台会返回脱敏后的关联恢复邮箱(例如 ex****e@gmail.com)。
phoneNumber 部分平台会返回脱敏后的关联恢复手机号(例如 0*******78)。
others 其他附加信息。

请始终注意合法合规地使用此类工具,尊重他人隐私。