菜单

开发与贡献

相关源文件

本页面为希望为HackingTool项目做出贡献的开发者提供了全面的指南。它涵盖了项目架构、开发环境设置、贡献工作流程以及添加新组件的最佳实践。

有关在框架内实现新工具的具体说明,请参阅添加新工具。有关项目自动化测试和部署流程的详细信息,请参阅CI/CD流水线

贡献者项目架构

在为HackingTool项目做出贡献之前,理解核心架构至关重要。该系统遵循模块化方法,具有清晰定义的基类和分层结构。

类层次结构

来源: hackingtool.py9 generate_readme.py3-4

工具组织

来源: hackingtool.py10-27 hackingtool.py44-63 hackingtool.py66-72

开发环境设置

先决条件

要为HackingTool项目做出贡献,您需要

  • Python 3.x
  • Git
  • 基于Linux的系统(最好是Debian系)
  • 对渗透测试工具有基本的了解

设置本地环境

  1. 在 GitHub 上 Fork 仓库
  2. 克隆您的fork
    git clone https://github.com/YOUR-USERNAME/hackingtool.git
    cd hackingtool
    
  3. 安装依赖项
    pip install -r requirements.txt
    
  4. 运行工具以验证设置
    python hackingtool.py
    

贡献工作流程

HackingTool项目遵循标准的GitHub贡献工作流程。以下是该过程的可视化表示

来源: .github/workflows/lint_python.yml1-32

代码质量标准

项目通过自动化检查来维护代码质量。您的贡献应符合这些标准。

自动化代码质量检查

工具目的配置
RuffLinting和代码分析配置用于检查Python最佳实践
Black代码格式化标准配置
Codespell拼写检查扫描所有项目文件
Mypy类型检查基本配置
Safety安全漏洞扫描检查依赖项

来源: .github/workflows/lint_python.yml11-31

本地运行代码质量检查

在提交拉取请求之前,请在本地运行代码质量检查

pip install ruff black codespell mypy safety
ruff .
black --check .
codespell
mypy .
safety check

贡献新工具

如果您想为HackingTool框架添加新工具,请遵循以下过程

来源: hackingtool.py44-63 generate_readme.py36-47

工具实现清单

  • 工具扩展了HackingTool基类
  • 定义了必需的属性(TITLE, DESCRIPTION等)
  • 安装命令已正确配置
  • 运行命令已正确配置
  • 工具已添加到相应的类别
  • README已使用generate_readme.py重新生成

文档更新

贡献时,请务必更新相关文档

  1. 如果添加新工具,请通过运行以下命令更新README
    python generate_readme.py
    
  2. 在代码中包含清晰的注释
  3. 更新任何相关的Wiki页面

来源: generate_readme.py1-51

问题报告和功能请求

项目维护有用于报告问题和请求功能的模板。

Bug 报告

报告 Bug 时,请包含:

  • 问题的清晰描述
  • 重现步骤
  • 预期行为与实际行为
  • 环境详情(操作系统、Python版本)
  • 截图(如果适用)

来源: .github/ISSUE_TEMPLATE/bug_report.md1-39

功能请求

当建议新功能时,请包含

  • 该功能要解决的问题
  • 拟议解决方案的描述
  • 考虑过的替代方案
  • 任何其他背景信息

来源: .github/ISSUE_TEMPLATE/feature_request.md1-21

拉取请求指南

提交拉取请求时

  1. 引用任何相关问题
  2. 提供清晰的更改描述
  3. 确保所有自动化检查都通过
  4. 对评审意见保持响应

拉取请求审查流程

来源: .github/workflows/lint_python.yml1-32

结论

为HackingTool项目做出贡献是提高您的技能和帮助社区的绝佳方式。通过遵循这些指南,您可以确保您的贡献高质量并符合项目的目标。

请记住,HackingTool仅用于教育和合法的安全测试目的。所有贡献都应保持这一道德焦点。