ahmadvahidi/NameScout

GitHub: ahmadvahidi/NameScout

NameScout 通过姓名或用户名跨七大社交平台并行搜索并聚合公开账号信息,帮助用户快速完成跨站身份关联与数据导出。

Stars: 0 | Forks: 0

# NameScout 🔍 [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) 基于 [kiryano](https://github.com/kiryano) 的 [Scout](https://github.com/kiryano/Scout) 开发。 ## 功能 NameScout 接收一个人的**全名**(或精确用户名),并同时跨 7 个以上的平台进行搜索: - **按姓名** — 生成可能的用户名变体(`firstlast`、`first_last`、`first.last` 等)并全部进行尝试,此外还会使用搜索 API 对 GitHub、YouTube 和 Twitch 进行搜索 - **按用户名** — 在所有平台上并行搜索该精确账号 - **导出** — 将结果保存至 CSV - **信息丰富** — 通过 SMTP 验证邮箱(可选) ## 安装 ``` git clone https://github.com/ahmadvahidi/NameScout.git cd NameScout pip install -r requirements.txt cp .env.example .env ``` 或者作为包安装: ``` pip install -e . ``` ## 用法 ### 按姓名搜索 ``` python -m namescout "Elon Musk" ``` 生成用户名变体(`elonmusk`、`elon_musk`、`elon.musk` 等)并搜索所有平台。 ### 按精确用户名搜索 ``` python -m namescout --username elonmusk ``` 在所有平台上并行搜索 `@elonmusk`。 ### 筛选平台 ``` python -m namescout "Ahmad Vahidi" --platform instagram,github,youtube ``` 别名:`ig`、`tt`、`gh`、`yt`、`tw`、`pin`、`lt` ### 导出至 CSV ``` python -m namescout "John Doe" --export results.csv ``` ### 启用邮箱信息丰富 ``` python -m namescout "Jane Smith" --enrich ``` 通过 SMTP 验证找到的邮箱,并对置信度进行评分。 ### 详细模式 ``` python -m namescout "Mark Zuckerberg" --verbose ``` ## 支持的平台 | 平台 | 按姓名搜索 | 按用户名搜索 | 需要授权 | |-----------|:---:|:---:|:---:| | Instagram | ✅(变体) | ✅ | 无 | | TikTok | ✅(变体) | ✅ | 无 | | GitHub | ✅(API 搜索) | ✅ | 无(60 次请求/小时) | | YouTube | ✅(搜索抓取) | ✅ | 无 | | Twitch | ✅(搜索抓取) | ✅ | 无 | | Pinterest | ✅(变体) | ✅ | 无 | | Linktree | ✅(变体) | ✅ | 无 | | LinkedIn | ❌ | ✅ | 需要 Cookie | ## 工作原理 ### 姓名搜索(2 个阶段) **阶段 1 — 搜索 API:** 使用其原生搜索功能,通过此人的全名搜索 GitHub、YouTube 和 Twitch。抓取靠前的结果以获取个人资料详情。 **阶段 2 — 用户名变体:** 对于 Instagram、TikTok、Pinterest 和 Linktree,NameScout 会根据姓名生成 15 个以上的用户名变体并逐一尝试。保留第一个包含有效数据的匹配项。 ### 用户名搜索 所有 7 个平台都将使用该精确用户名进行并行查询。结果将在获取后立即显示。 ## 配置 (.env) ``` # LinkedIn cookie(用于 LinkedIn 抓取) # LINKEDIN_COOKIE=your_li_at_cookie_value # Hunter.io API key(可选,用于 email enrichment) # HUNTER_API_KEY=your_hunter_api_key # Proxy(可选) # SCOUT_PROXY=http://user:pass@host:port # SCOUT_FREE_PROXY=true ``` ## 输出示例 ``` ============================================================ NameScout v1.0.0 — Name: "Ahmad Vahidi" Trying 14 username variants + search APIs Platforms: instagram, tiktok, github, youtube, twitch, pinterest, linktree ============================================================ [Phase 1] Searching by name... GitHub search: no results YouTube search: found 5 channels → @AhmadVahidi-f8h → @ahmadvahidi5025 Twitch search: no results [Phase 2] Trying username variants... ============================================================ RESULTS for "Ahmad Vahidi" ============================================================ ✅ Instagram Name: Ahmad Vahidi @ahmad_vahidi Followers: 135 ✅ TikTok Name: Ahmad Vahidi @ahmad.vahidi Followers: 59 ✅ Pinterest Name: Ahmad Vahidi @ahmad_vahidi ============================================================ Found 3 profile(s) across all platforms. ============================================================ ``` ## 限制 - **Instagram/TikTok** 可能需要重试,或者会根据地区/IP 提供 CAPTCHA - **GitHub API** 在无 token 的情况下限制为每小时 60 次请求 - **YouTube/Twitch 搜索** 采用了网页抓取技术——如果它们更改了 HTML 结构,可能会失效 - **LinkedIn** 需要 session cookie,且不包含在姓名搜索中 - **免费代理** 不太稳定;不使用代理可获得最佳效果 ## 致谢 - **抓取器** 改编自 [kiryano](https://github.com/kiryano) 的 [Scout](https://github.com/kiryano/Scout) - **NameScout** 由 [Ahmad Vahidi](https://github.com/ahmadvahidi) 开发 ## 许可证 MIT — 详见 [LICENSE](LICENSE)
标签:ESC4, ESC8, OSINT, Python, 多平台搜索, 无后门, 社会工程学, 网络足迹, 逆向工具