本文档解释了 Sherlock 如何维护和更新其支持的用户名搜索网站列表。Sherlock 的强大之处在于其庞大的受支持站点数据库,这需要系统化的管理、验证和文档方法。本页面涵盖了维护站点数据和生成最新文档的自动化机制。
有关站点数据如何构建以及在用户名搜索中如何使用的详细信息,请参阅站点数据系统。
Sherlock 站点列表管理的基础是 data.json 文件,它包含了所有受支持网站的配置信息。该文件是系统中所有与站点相关信息的唯一真实来源。
data.json 文件存储了每个受支持站点的详细配置,包括:
来源:sherlock_project/resources/data.json1-4647
该文件包含数百个站点配置,每个都具有特定的检测方法。站点按字母顺序组织以保持整洁。
当 data.json 中支持的站点发生更改时,Sherlock 会通过 GitHub Actions 工作流自动更新其文档。
来源:.github/workflows/update-site-list.yml1-47 devel/site-list.py1-40
这种自动化确保文档始终与实际受支持的站点同步,从而消除了手动维护并减少了错误。
更新过程实现为 GitHub Actions 工作流,该工作流:
来源:.github/workflows/update-site-list.yml1-11
site-list.py 脚本执行多项关键功能:
该脚本生成一个格式精美的 Markdown 文件,其中包含:
Sherlock 中的站点从添加开始,到可能的移除,都会经历一个明确的生命周期。
来源:docs/removed-sites.md1-1537 sherlock_project/resources/data.json1-4647
当站点需要从 Sherlock 中移除时,它们会在 removed-sites.md 文件中记录并附带解释。常见原因包括:
| 原因 | 描述 | 示例 |
|---|---|---|
| 误报 | 站点错误地报告所有用户名都存在 | PayPal, Pinterest |
| 反机器人措施 | 站点实施了 CAPTCHA 或其他反机器人技术 | Creative Market, AllTrails |
| 服务关闭 | 站点不再存在或已关闭 | Google Plus, Mixer |
| 响应问题 | 站点经常超时或存在其他响应问题 | GDProfiles, TripAdvisor |
| 需要认证 | 站点要求登录才能检查用户名 | Kali Community, PCPartPicker |
来源:docs/removed-sites.md1-1537
站点列表管理系统与 Sherlock 的其他组件集成:
来源:sherlock_project/resources/data.json1-4647 .github/workflows/update-site-list.yml1-47 devel/site-list.py1-40 docs/removed-sites.md1-1537
这种集成确保随着支持的站点列表的演进,核心搜索功能和面向用户的文档都保持同步。
在维护站点列表时,开发人员应遵循以下准则:
Sherlock 中的站点列表管理系统提供了一个强大的框架,用于维护一个最新的受支持网站数据库。通过 GitHub Actions 的自动化以及清晰的文档实践,该项目确保用户始终能够访问关于可搜索站点的最新信息。
该系统对于 Sherlock 的持续维护和发展至关重要,它使项目能够适应网站认证方法的变化或新流行平台的出现。