本文档提供了为 Sherlock 项目提交有效错误报告的指南。妥善记录的错误报告有助于维护人员高效地理解、重现和修复问题。本指南解释了如何报告错误、应包含哪些信息以及确保您的错误报告可操作的最佳实践。
有关项目一般贡献的信息,请参阅贡献指南。有关可能有助于将您的错误报告定向给正确人员的所有权信息,请参阅代码所有权。
Sherlock 中的错误是指在使用软件时,与所记录的功能不符的任何意外行为、错误或故障。这可能包括
来源:.github/ISSUE_TEMPLATE/bug-report.yml32-46
所有 Sherlock 的错误报告都应作为 GitHub 仓库上的议题提交。该项目使用标准化的议题模板,以确保收集所有必要信息。
来源:.github/ISSUE_TEMPLATE/bug-report.yml1-72
在提交错误报告之前,请执行以下准备步骤
pip install --upgrade sherlock-project 或通过您的安装方法更新| 问题类型 | 可能原因 | 故障排除步骤 |
|---|---|---|
| 假阴性 | 限流 | 稍候再试或使用 VPN |
| 连接错误 | 网络限制 | 检查防火墙设置或尝试其他网络 |
| 站点错误 | 最近的站点更改 | 检查站点是否更改了其布局或 API |
| 未找到用户名 | 格式限制 | 验证用户名是否符合站点要求 |
| 安装错误 | 环境问题 | 检查 Python 版本和依赖项 |
来源:.github/ISSUE_TEMPLATE/bug-report.yml32-46
Sherlock 使用标准化的错误报告模板。以下是如何有效地填写每个部分
从下拉菜单中选择您用于安装 Sherlock 的方法
此字段很重要,因为错误可能特定于某些安装方法,并且某些软件包由社区而非 Sherlock 项目团队维护。
来源:.github/ISSUE_TEMPLATE/bug-report.yml5-21
通过运行以下命令报告您正在使用的 Sherlock 的确切版本
sherlock --version
在指定字段中包含完整的版本号。这有助于维护人员确定该错误是否已在新版本中修复。
来源:.github/ISSUE_TEMPLATE/bug-report.yml22-30
一个好的描述应清楚地解释
遵循建议的格式
When doing {action}, the expected result should be {expected result}.
When doing {action}, however, the actual result was {actual result}.
This is undesirable because {reason}.
来源:.github/ISSUE_TEMPLATE/bug-report.yml31-46
列出重现该错误所需的精确步骤,包括
示例
1. Install Sherlock via pip: `pip install sherlock-project`
2. Run the command: `sherlock username123 --timeout 10`
3. Observe the error when checking site X
来源:.github/ISSUE_TEMPLATE/bug-report.yml47-56
包括任何其他相关详细信息,例如
来源:.github/ISSUE_TEMPLATE/bug-report.yml57-63
在提交之前,您必须勾选提供的方框,表示同意遵守项目的行为准则。
来源:.github/ISSUE_TEMPLATE/bug-report.yml64-71
来源:.github/ISSUE_TEMPLATE/bug-report.yml1-72
Installation method: PyPI (via pip)
Package version: 0.14.2
Description:
When searching for a username that contains special characters like "user@name", the expected result should be proper URL encoding of the special characters in the requests. However, the actual result was HTTP 400 errors for sites that don't handle unencoded special characters. This is undesirable because it produces false negatives in the search results.
Steps to reproduce:
1. Install Sherlock via pip: `pip install sherlock-project`
2. Run the command: `sherlock user@name`
3. Observe the error logs for sites returning HTTP 400
Additional information:
- OS: Ubuntu 20.04
- Python: 3.8.10
- The error occurs consistently for sites X, Y, and Z
- The following error appears in the output: [error log details]
Installation method: Select one
Package version: latest
Description:
Sherlock doesn't work properly.
Steps to reproduce:
I tried to search for a username and it didn't work right.
Additional information:
Please fix this.
来源:.github/ISSUE_TEMPLATE/bug-report.yml1-72
在报告错误之前,请考虑以下常见问题
许多社交媒体网站限制单个 IP 地址的请求数量。这可能导致 Sherlock 错误地报告用户名不存在。请稍候再试或使用不同的网络连接。
防火墙、VPN 或网络策略可能会阻止对某些站点的请求。尝试从不同的网络运行 Sherlock,以确认这是否是问题所在。
网站经常更新其布局和 API,这可能会暂时破坏 Sherlock 的检测方法。检查问题是否仅限于某个特定站点,因为这可能表明该站点已更改其结构。
某些站点有特定的用户名要求。如果用户名违反了这些要求,您可能会遇到看似错误的假阴性结果,但实际上是预期行为。