MrIncognito7/OSINT-Master
GitHub: MrIncognito7/OSINT-Master
将多个无 API 依赖的 OSINT 工具整合为统一命令行界面,实现邮箱与用户名的自动化跨平台查询和结果合并。
Stars: 3 | Forks: 0
# OSINT CLI
格式化的 README
一个统一的命令行界面,将多个 OSINT 工具整合在一个一致的接口之后。每个工具都是一个独立的模块,无论是子进程调用、Python 库,还是(未来的)API 封装,都能以相同的标准化格式报告结果。
此版本特意**仅包含非 API 工具**,范围限定于 **email** 和 **username** 查询——这里的所有功能都可以在无需注册、无需密钥、无需计费的情况下运行。更多类别和基于 API 的工具(Shodan、Censys、Hunter.io 等)将设计为在日后以相同的模式无缝集成,无需重构任何内容。
## 包含的工具(无需 API key)
| 工具 | 类别 | 功能 |
|---|---|---|
|`userscan` | email | 本地目标扫描和交叉比对,以从 email 中查找匹配的资料 |
| `holehe` | email | 检查 email 注册了哪些平台(基于公开的账户存在信号,而非访问私人账户) |
| `sherlock` | username | 跨社交平台搜索 username |
| `maigret` | username | 更深度的 username 搜索 + 资料提取 |
```
original repos of tools used -
userscan - https://github.com/kaifcodec/user-scanner
holehe - https://github.com/megadose/holehe
sherlock - https://github.com/sherlock-project/sherlock
```
## 即将推出的功能
```
Google OSiNT
PhoneNumber OSiNT
(Maybe an AI compiler to compile all the results for all round information of the target)
Stay Tuned!
```
## 结构
```
osint_cli/
├── cli.py # entrypoint — auto-discovers all modules
├── core/
│ ├── base_module.py # BaseModule interface + ModuleResult
│ ├── config.py # loads API keys (unused for now, ready for later)
│ └── output.py # table / json / csv rendering
├── modules/
│ ├── email/
│ │ └── holehe_module.py
│ └── username/
│ ├── sherlock_module.py
│ └── maigret_module.py
├── requirements.txt
├── .env.example
└── README.md
```
## 设置
```
pip install -r requirements.txt
```
某些模块还需要在 PATH 中包含系统二进制文件(已在 `requirements.txt` 中逐行注明):
- `holehe`、`sherlock`、`maigret` —— 当你 `pip install` 它们时,会作为 CLI 入口点自动安装
## 用法
```
# 查看每个 tool、其 category 以及它是否已准备好运行
python cli.py list-tools
# 运行 lookup - 你只需指定你拥有的信息,而不是指定运行哪个 tool
python cli.py lookup -e someone@example.com # runs holehe + userscanner
python cli.py lookup -u johnsmith # runs sherlock + maigret
python cli.py lookup -e someone@example.com --format json
```
`-e`/`--email` 和 `-u`/`--username` 是互斥的 - 每次运行只能选择一个。
在后台,`-e` 会运行 `EMAIL_TOOLS` 中列出的每个工具,而 `-u` 会运行 `USERNAME_TOOLS` 中列出的每个工具(两者均在 `cli.py` 顶部附近定义),将它们的所有结果合并为一个单一的组合输出。
## 添加新的非 API 工具
1. 在正确的类别下创建一个文件,例如 `modules/email/emailrep_module.py`
2. 继承 `BaseModule`:
```
from core.base_module import BaseModule, ModuleResult
class NewToolModule(BaseModule):
name = "newtool"
category = "email"
requires_api_key = False
description = "What this tool does"
def run(self, target: str, options: dict = None) -> ModuleResult:
try:
# ... your logic ...
return ModuleResult(tool=self.name, target=target, status="success", data={...})
except Exception as e:
return ModuleResult(tool=self.name, target=target, status="error", error=str(e))
```
3. 完成 —— `cli.py` 会在下次运行时自动发现它,并且它会出现在 `list-tools` 中。要让它在 `-e` 或 `-u` 下实际运行,请将其 `name` 字符串添加到 `cli.py` 顶部附近的 `EMAIL_TOOLS` 或 `USERNAME_TOOLS` 中。
## ⚠️ 法律/道德声明
仅扫描、查询或探测您拥有或获得明确授权进行测试的系统和账户。未经授权的扫描或数据收集可能违反计算机欺诈法律(例如美国的 CFAA、英国的 Computer Misuse Act)以及这些工具所查询平台的服务条款。本项目汇总了公开可用的开源工具,仅供教育和授权的安全研究使用。
标签:ESC4, OSINT, Python, 反射式DLL注入, 实时处理, 情报搜集, 文档结构分析, 无后门, 聚合工具, 逆向工具