ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

wifit3 贡献指南:从代码风格到 ruff lint 的新手 PR 完整路径

wifit3 贡献指南:从代码风格到 ruff lint 的新手 PR 完整路径 wifit3 贡献指南从代码风格到 ruff lint 的新手 PR 完整路径【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3wifit3 是一款跨平台Linux / Windows / macOS的USB Wi-Fi 审计工具它绕过操作系统自带的无线驱动用纯 Python 在用户态直接通过 PyUSB 驱动 USB 无线网卡实现扫描、握手捕获、WPS/PBK 与 WEP 等审计功能。本文将带你走通一条新手友好的贡献路径搭环境、懂代码风格、跑测试、过 ruff lint最终提交一个规范的 PR。为什么 wifit3 适合新手参与这个项目的贡献面非常宽芯片驱动、攻击功能、UI/UX、文档、Bug 修复都欢迎见 CONTRIBUTING.md。对新手最友好的是——跑测试不需要任何硬件所有 USB 交互都被 mock 掉了uv sync --group dev # 安装依赖可编辑模式 dev 依赖 uv run pytest # 全部测试无需硬件项目统一用uv管理环境系统python没有项目依赖所有命令都通过uv run执行。第一步理解代码风格规范wifit3 的风格守则很简单好名字胜过注释。核心规则集中在 docs/porting/CODE-STYLE.md命名要精确、表意device而不是radiosink而不是picture注释是小而封闭的集合只写 docstring、指针/魔数说明、阶段地标不写我们遍历一遍 AP这类复述控制流的噪音不要为了更清晰而重命名移植代码要保留内核 C 源里的原始名字名字本身就是交叉引用。另外还有一条项目自定义的风格守卫测试核心代码中禁止使用 em-dash—由 tests/test_style.py 自动检查。第二步ruff lint 配置解读重要这是新手最容易踩的坑 ️——只运行ruff check永远不要运行ruff format。uv run ruff check src/ # ✅ lint 检查 # ruff format # ❌ 严禁执行原因写在 pyproject.toml 里这个代码库是手工格式化的约 99 列、允许多元素同行集合并不是ruff format默认 88 列风格的产物。跑一次 format 会把整棵代码树重排让 diff 变成大海捞针。当前启用的 lint 规则只锁定 pyflakes 核心 pycodestyleselect [E4, E7, E9, F]—— 语法错误、未定义名等硬伤scripts/**豁免E402脚本在 import 前先拼sys.path属故意行为。第三步写代码前先找到入口项目的架构速查在 AGENTS.md 里几个关键目录目录职责src/wifit3/chips/每颗芯片一个 Python 微驱动移植自内核 C 代码src/wifit3/campaigns/各类攻击流程Deauth、PMKID、WPS、WEP、EvilTwinsrc/wifit3/ui/Textual 终端 UISplash → Scanner → Focussrc/wifit3/wlan/802.11 帧解析与通道跳频抽象改 bug 类 PR 建议从已登记的清单入手docs/planning/BUGS.md已知 Bug和 docs/planning/FEATURES.md功能待办。如果你要移植新芯片完整方法论在 docs/porting/METHODOLOGY.md常见陷阱在 docs/porting/GOTCHAS.md。第四步提交信息与 PR 规范官方对 commit 和 PR 的要求来自 CONTRIBUTING.md可以浓缩为四条Conventional Commit scopefix(8822bu): …、docs(porting): …、feat(attacks): …一个 commit 只装一个逻辑变更PR 正文写清 what why驱动类 PR 要附上芯片参考文档链接并说明哪些在真机上测过、哪些仅 pcap 验证严禁泄漏真实网络标识SSID、BSSID、MAC、主机名要泛化被测 WPA2 AP或打码成aa:bb:cc:**:**:**许可证提交即代表贡献以GPL-2.0-only授权chips/chip/assets/下的固件 blob 不属 GPL需按 docs/FIRMWARE.md 记录来源。⚠️ 特别提醒本项目只写 RAM/寄存器绝不烧写 EFUSE/EEPROM。任何包含 fuse 写入的 PR 都会被直接拒绝。提交前自检清单 ✅把下面这套命令在本地跑绿你的 PR 就基本合格了uv run pytest # 测试全绿USB 已 mock无需硬件 uv run ruff check src/ # lint 无告警命名表意精确注释无噪音没有运行ruff formatdiff 干净核心代码无—字符commit 带 scope 前缀一 commit 一变更无真实 SSID/MAC 等网络标识涉及固件时已记录来源与再分发条款小结wifit3 的贡献门槛并不高uv 搭环境、pytest 免硬件验证、ruff check 守风格、规范 commit 收尾。先从一个文档型或 UI 型小 PR 练手读一读 docs/planning/BUGS.md 挑一个你看得懂的 Bug你的第一个 PR 就水到渠成了。祝你顺利合入【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表