stanislav-web/OpenDoor

GitHub: stanislav-web/OpenDoor

一款基于 Python 的 OWASP 兼容 Web 目录扫描器,用于自动化发现目录、Subdomain 与敏感资源。

Stars: 918 | Forks: 187

# OWASP WEB 目录扫描器 [![Twitter](https://img.shields.io/twitter/url/https/github.com/stanislav-web/OpenDoor.svg?style=social)](https://twitter.com/intent/tweet?text=Wow:&url=https://github.com/stanislav-web/OpenDoor) ![OpenDoor OWASP](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/df5b964f1c210850.png) | Python | Linux | macOS | Windows | |---|---|---|---| | 3.12 | [![CI Linux Python 3.12](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a357ddf42b210902.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py312.yml) | [![CI macOS Python 3.12](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a8e42ed8ce210909.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py312.yml) | [![CI Windows Python 3.12](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/4b0aa68aae210915.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py312.yml) | | 3.13 | [![CI Linux Python 3.13](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2c8e1a915f210922.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py313.yml) | [![CI macOS Python 3.13](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/77d41ce678210928.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py313.yml) | [![CI Windows Python 3.13](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/51f9316564210934.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py313.yml) | | 3.14 | [![CI Linux Python 3.14](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/0f5a14c524210945.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py314.yml) | [![CI macOS Python 3.14](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ae54f9fa91211011.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py314.yml) | [![CI Windows Python 3.14](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/beb3d9cbc9211018.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py314.yml) | **OpenDoor OWASP** 是一个多功能的控制台网站扫描器。 此应用程序查找可能的登录入口点、`Index of/` 目录、网络外壳、受限访问点、子域名、隐藏数据和大备份文件。 扫描使用内置字典和外部字典进行。 通过使用代理服务器提供匿名性和速度。 该软件仅用于信息目的,并在 GPL 许可证下作为开源产品发布。 该项目是 [BlackArch Linux](https://blackarch.org/webapp.html) 的一部分,并由社区维护和支持。 ![Maintainer](https://img.shields.io/badge/maintainer-stanislav_web-blue) [![Contributors](https://img.shields.io/github/contributors/stanislav-web/Opendoor)](https://github.com/stanislav-web/OpenDoor/graphs/contributors) [![PyPI version](https://badge.fury.io/py/opendoor.svg)](https://badge.fury.io/py/opendoor) [![Python 3.12+](https://img.shields.io/badge/python-3.12%20%2B-green.svg)](https://www.python.org/) [![codecov](https://codecov.io/github/stanislav-web/OpenDoor/graph/badge.svg?token=dyBxutYBso)](https://codecov.io/github/stanislav-web/OpenDoor) [![Documentation Status](https://app.readthedocs.org/projects/opendoor/badge/?version=latest)](https://opendoor.readthedocs.io/en/latest/) [![Codacy Security Scan](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/47c04d5fc5211025.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/codacy.yml) [![Dependency Review](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/959ac43a43211030.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/dependency-review.yml) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/83113884f6211035.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/github-code-scanning/codeql) [Read The Docs](https://opendoor.readthedocs.io/) * *Current 5.1.0 (20.04.2026)* - 目录:110977 - 子域名:255359 #### [更新日志](CHANGELOG.md) (最近更改) ## v5.1.0 (20.04.2026) - (功能)[#35](https://github.com/stanislav-web/OpenDoor/issues/35) 在导出的 `txt`、`html` 和 `json` 报告中添加响应大小。 - (功能)[#39](https://github.com/stanislav-web/OpenDoor/issues/39) 功能请求:输出响应代码 - (功能) 通过添加新的唯一路径 +27965 来填充目录 - (错误修复) 报告插件现在能正确创建嵌套目标目录,例如 `reports/example.com` 而不是 `reportsexample.com`。 - (错误修复) 修复了辅助工具中的 BOM 解码行为,并与修正后的实现对齐了测试。 - (优化) 重构了 `FileSystem.readline()` 以批处理加载行,显著降低峰值内存使用。 - (优化) 通过预计算处理参数并减少重复的字符串格式化工作,优化了 `Reader.get_lines()` 热路径。 - (优化) 使用已提交任务跟踪优化了 `ThreadPool.add()` 的提交端会计逻辑。 - (优化) 在基准测试验证后,保持 `Reader` 扩展过滤器在快速内存路径上。 - (优化) 更新了基准测试工作流程文档和项目维护流程。 - (优化) 修复了批处理 `readline()` 处理的基准测试回调计数问题。 - (优化) 改进了终端、颜色、日志异常和彩虹日志在测试下的兼容性。 - (测试) 测试套件扩展到 400+ 个测试。 - (测试) 添加了回归测试和边缘情况覆盖,用于报告大小传播。 - (测试) 在核心、HTTP、报告器、浏览器、代理、套接字、日志、终端、颜色和文件系统模块上添加了广泛的单元测试覆盖。 #### 主要功能 - ✅ 目录扫描器 - ✅ 子域名扫描器 - ✅ 多线程控制 - ✅ 扫描报告 - ✅ HTTP(S) (端口) 支持 - ✅ 长连接保持活动 - ✅ 无效证书扫描 - ✅ HTTP(S)/SOCKS 代理 - ✅ 动态请求头 - ✅ 自定义单词列表前缀 - ✅ 自定义单词列表、代理、忽略列表 - ✅ 调试级别 (1-3) - ✅ 扩展过滤器 - ✅ 自定义报告目录 - ✅ 自定义配置向导(使用随机技术) - ✅ 分析技术: * 检测重定向 * 检测 `Index of/` Apache * 检测大文件 * 跳过 200 OK 重定向 * 跳过空页面 * 启发式检测无效页面 * 空白成功页面过滤器 * 证书必需页面 - ✅ 随机化技术: * 每个请求随机用户代理 * 每个请求随机代理 * 单词列表洗牌 * 单词列表过滤器 #### 通过 PIP 安装 ``` python3 -m ensurepip --upgrade python3 -m pip install --upgrade pip ``` #### 从 PyPI 全局安装 如果您希望将该包作为正常的 Python CLI 工具使用,请使用此方法。 ##### Linux / macOS ``` python3 -m pip install --upgrade opendoor opendoor --host http://www.example.com ``` ##### Windows (PowerShell) ``` winget install Python.Python.3.14 py -m pip install --upgrade pip py -m pip install --upgrade opendoor opendoor --host http://www.example.com ``` #### 使用 pipx 全局安装(推荐给终端用户) ##### macOS / Homebrew ``` brew install pipx pipx ensurepath pipx install opendoor opendoor --host http://www.example.com ``` ##### Linux / 通用环境 安装 `pipx`,使用系统包管理器或首选 Python 工具,然后执行: ``` pipx ensurepath pipx install opendoor opendoor --host http://www.example.com ``` ##### Windows (PowerShell) ``` winget install Python.Python.3.14 py -m pip install --user pipx py -m pipx ensurepath # 重新打开 PowerShell 确保路径 pipx install opendoor opendoor --host http://www.example.com ``` `pipx` 是在不手动管理项目虚拟环境的情况下进行隔离 CLI 安装的首选选项。 #### 本地安装并运行 如果您希望直接从仓库运行 OpenDoor 而不全局安装,请使用此模式。 ##### Linux / macOS ``` git clone https://github.com/stanislav-web/OpenDoor.git cd OpenDoor/ python3 -m pip install -r requirements.txt chmod +x opendoor.py python3 opendoor.py --host http://www.example.com ``` ##### Windows (PowerShell) ``` git clone https://github.com/stanislav-web/OpenDoor.git cd OpenDoor py -m pip install -r requirements.txt py opendoor.py --host http://www.example.com ``` #### 本地开发安装 如果您正在开发、测试或修改项目,请使用此模式。 ##### Linux / macOS ``` git clone https://github.com/stanislav-web/OpenDoor.git cd OpenDoor/ python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip setuptools wheel python -m pip install -r requirements-dev.txt python -m pip install -e . opendoor --host http://www.example.com ``` ##### Windows (PowerShell) #### 从源代码安装以供操作系统发行版 / 维护者使用 此流程适用于 Linux 发行版、打包维护者和发布流水线。 ##### Linux / macOS ``` git clone https://github.com/stanislav-web/OpenDoor.git cd OpenDoor/ python3 -m pip install --upgrade build python3 -m build ``` ##### Windows (PowerShell) ``` git clone https://github.com/stanislav-web/OpenDoor.git cd OpenDoor py -m pip install --upgrade build py -m build ``` 生成的构件: ``` dist/opendoor-5.0.1.tar.gz dist/opendoor-5.0.1-py3-none-any.whl ``` 此流程更适用于 Linux 发行版和打包维护者,因为: - 源代码包和 wheel 通过标准 Python 构建后端生成 - 安装可由发行包管理器管理 - 更新可与操作系统更新一起交付 - 无需传统的 `setup.py install` 流程 该软件包已包含在 BlackArch Linux 中,此构建布局旨在使为其他 Linux 发行版打包更加容易。 #### 手动安装已构建的 wheel ##### Linux / macOS ``` python3 -m pip install dist/opendoor-5.0.1-py3-none-any.whl opendoor --host http://www.example.com ``` ##### Windows (PowerShell) ``` py -m pip install dist/opendoor-5.0.1-py3-none-any.whl opendoor --host http://www.example.com ``` #### 更新 ##### PyPI 安装 Linux / macOS: ``` python3 -m pip install --upgrade opendoor ``` Windows: ``` py -m pip install --upgrade opendoor ``` ##### pipx 安装 ``` pipx upgrade opendoor ``` ##### 源代码检出 Linux / macOS: ``` git pull python3 -m pip install -e . ``` Windows: ``` git pull py -m pip install -e . ``` #### 帮助 ``` usage: opendoor [-h] [--host HOST] [-p PORT] [-m METHOD] [-t THREADS] [-d DELAY] [--timeout TIMEOUT] [-r RETRIES] [--keep-alive] [--accept-cookies] [--debug DEBUG] [--tor] [--torlist TORLIST] [--proxy PROXY] [-s SCAN] [-w WORDLIST] [--reports REPORTS] [--reports-dir REPORTS_DIR] [--random-agent] [--random-list] [--prefix PREFIX] [-e EXTENSIONS] [-i IGNORE_EXTENSIONS] [--sniff SNIFF] [--update] [--version] [--examples] [--docs] [--wizard [WIZARD]] options: -h, --help show this help message and exit required named options: --host HOST Target host; example: --host http://example.com Application tools: --update Show package update instructions --version Show current version --examples Show usage examples --docs Open documentation --wizard [WIZARD] Run scanner wizard from your config Debug tools: --debug DEBUG Debug level -1 (silent), 1 - 3 Reports tools: --reports REPORTS Scan reports (json,std,txt,html) --reports-dir REPORTS_DIR Path to custom reports directory Request tools: -p PORT, --port PORT Custom port (default 80) -m METHOD, --method METHOD Request method (HEAD by default) -d DELAY, --delay DELAY Delay between threaded requests --timeout TIMEOUT Request timeout (30 sec default) -r RETRIES, --retries RETRIES Maximum reconnect retries (default 3) --keep-alive Use keep-alive connection --accept-cookies Accept and route cookies from responses --tor Use built-in proxy list --torlist TORLIST Path to custom proxy list --proxy PROXY Custom permanent proxy server --random-agent Randomize user-agent per request Sniff tools: --sniff SNIFF Response sniff plugins (indexof,collation,file,skipempty,skipsizes=NUM:NUM...) Stream tools: -t THREADS, --threads THREADS Allowed threads Wordlist tools: -s SCAN, --scan SCAN Scan type: directories or subdomains -w WORDLIST, --wordlist WORDLIST Path to custom wordlist --random-list Shuffle scan list --prefix PREFIX Append path prefix to scan host -e EXTENSIONS, --extensions EXTENSIONS Force selected extensions for scan session, e.g. php,json -i IGNORE_EXTENSIONS, --ignore-extensions IGNORE_EXTENSIONS Ignore selected extensions for the scan session, e.g. aspx,jsp ``` #### 维护者 - @stanislav-web (开发者) ### 测试 ``` python3 -m pip install -r requirements-dev.txt python3 -m unittest ``` ### 构建 ``` python3 -m pip install -r requirements-dev.txt python3 -m build ``` ### 代码规范 ``` python3 -m pip install -r requirements-dev.txt ruff check . ``` ### 贡献者 如果您愿意为项目的发展做出贡献,欢迎提交拉取请求。 您也可以提出想法并在我的清单中创建任务。 [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/stanislav-web/OpenDoor) [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0) ### 文档 - [Read The Docs](https://opendoor.readthedocs.io/) - [Opendoor OWASP 烹饪书](https://github.com/stanislav-web/OpenDoor/wiki) - [问题](https://github.com/stanislav-web/OpenDoor/issues) - [PyPI 软件包](https://pypi.org/project/opendoor/)
标签:CI, Python, Python CLI, SEO, Web 安全, Web 探测, 关键词检索, 大数据, 开源框架, 持续集成, 文件枚举, 无后门, 目录扫描, 目录枚举, 目录爆破, 目录遍历漏洞, 移动安全, 路径遍历, 逆向工具