这是一个自动化脚本
- ✅ 自动验证码识别:使用 DdddOcr 进行图形验证码识别
- ✅ 邮箱自动验证:通过临时邮箱服务获取验证码并自动激活账号
- ✅ 批量注册:支持一次性注册多个账号
- ✅ 智能重试:验证码错误时自动重试(最多5次)
- ✅ 通知服务:可集成通知系统发送成功/失败消息
- ✅ 账号记录:自动将成功注册的账号保存到
fofa_mail.txt
- Python 3.6+
pip install curl-cffi
pip install ddddocrnotify.py:通知服务模块(可选,用于发送通知)
在脚本顶部修改 mm 列表来指定使用的临时邮箱域名:
mm = ['qabq.com', 'nqmo.com', 'end.tw', '6n9.net']修改 default_password 变量来设置密码策略:
default_password = '' # 留空则使用随机密码两种模式:
- 固定密码:设置具体值,如
default_password = 'MyPassword123',所有账号使用此密码 - 随机密码:留空
default_password = '',每次运行自动生成随机密码
随机密码规则:
- 长度 12 位
- 包含大写字母、小写字母和数字
- 示例:
Kp7mXn2aQ4bR
如需更新 User-Agent 或其他 HTTP 请求头,修改 headers 字典。
如果项目目录中存在 notify.py 文件,脚本会自动加载并在账号注册成功时发送通知。
python fofa.py 5这将注册 5 个账号。
python fofa.py程序会提示输入要注册的账号数量,直接回车默认注册 1 个。
生成随机邮箱地址。
- 返回:
(用户名, 完整邮箱地址)元组 - 示例:
('ls123456', 'ls123456@qabq.com')
从临时邮箱服务获取验证码。
- 参数:
mail:邮箱地址max_retries:最大重试次数(默认5次)retry_interval:重试间隔秒数(默认5秒)
- 返回:验证码字符串,失败返回
None
获取并识别注册页面的图形验证码。
- 返回:识别结果字符串
从注册页面获取 CSRF Token。
- 返回:Token 字符串
确认邮箱激活账号。
- 返回:
True成功,False失败
执行注册流程,包含验证码重试逻辑。
- 返回:
True成功,False失败
批量注册指定数量的账号。
- 参数:
count:要注册的账号数量 - 特性:每个账号注册间隔 1-20 秒随机延迟
当看到以下消息时,表示账号注册成功:
账号: xxx@qabq.com
密码: Kp7mXn2aQ4bR
[激活成功的相关消息]
同时,账号信息会被保存到 fofa_mail.txt 文件中,格式为:
邮箱地址 密码
xxx@qabq.com Kp7mXn2aQ4bR
原因:临时邮箱服务响应缓慢或邮件未及时到达
解决:
- 检查网络连接
- 修改
get_verification_code()中的retry_interval参数增加等待时间 - 尝试换其他邮箱域名
原因:OCR 识别准确度不足
解决:
- 更新 ddddocr 库版本
- 增加
nosecusers()中的max_retries参数
原因:通知模块有错误或格式不对
解决:检查 notify.py 文件语法,或删除该文件禁用通知功能
原因:网络错误或服务器限流
解决:
- 检查网络
- 增加
register_accounts()中账号间隔延迟时间 - 分次注册而非一次性大量注册
脚本会在控制台输出以下信息:
| 消息内容 | 含义 |
|---|---|
正在获取邮件 (尝试 X/5)... |
等待邮箱验证码 |
邮件未到达,5秒后重试... |
邮件尚未收到 |
验证码识别结果: XXXX |
验证码识别完成 |
注册请求已发送,正在等待邮件确认... |
注册请求成功发送 |
注册遇到错误,跳过此账号 |
注册失败需跳过 |
- 此脚本仅供学习研究使用,请遵守相关服务条款
- 大量批量注册可能触发服务防护机制,导致 IP 被限制
- 脚本中包含会话 Cookie,如过期需手动更新
- 使用了
verify=False关闭 SSL 验证,生产环境应启用
- 格式:TSV(制表符分隔)
- 内容:成功注册的账号和密码
- 示例:
ls123456@qabq.com Kp7mXn2aQ4bR
ls789012@nqmo.com R3xYm8pLq5nK
本工具仅供教育和研究目的使用。使用者应自行承担因使用本工具产生的一切后果,作者不承担任何责任。