An advanced web path brute-forcer
dirsearch is being actively developed by @maurosoria and @shelld3v.
Join the Discord server to communicate with the team.
dirsearch requires Python 3.11 or higher.
git clone https://github.com/maurosoria/dirsearch.git --depth 1
cd dirsearch
python3 dirsearch.py -u https://example.com -e php,html,jsYou can also install it from PyPI:
pip3 install dirsearch
dirsearch -u https://example.com -e php,html,jsPre-built standalone binaries are available on the Releases page.
The full documentation now lives in docs/:
- Installation: supported platforms, Python install, standalone binaries, and Docker.
- Usage Guide: common scans, recursion, filters, proxies, raw requests, reports, and tips.
- Wordlists:
%EXT%, categories, templates, prefixes, suffixes, and transformations. - CLI Options: complete command-line reference.
- Configuration:
config.inireference. - Sessions: save, list, and resume scan sessions.
- Python API: importable API examples.
- Building: PyInstaller, standalone builds, and GitHub Actions.
- References: external tutorials and articles.
python3 dirsearch.py -u https://target
python3 dirsearch.py -u https://target -e php,html,js
python3 dirsearch.py -u https://target -e php,html,js -w /path/to/wordlist
python3 dirsearch.py -u https://target -r --max-recursion-depth 3Use python3 dirsearch.py -h for the full CLI help.
dirsearch can also be used from Python code for local automation, MCP servers,
REST wrappers, and agent-controlled scans. The importable API keeps its
configuration in FuzzerConfig, so callers do not need to parse CLI flags or
mutate CLI globals.
See Python API for examples covering templates, custom wordlists, callbacks, authenticated sessions, and agent-oriented scan recipes.
Pull requests and feature requests are welcome. See CONTRIBUTORS.md for the people who have helped improve dirsearch.
Copyright (C) Mauro Soria (maurosoria@gmail.com)
License: GNU General Public License, version 2.

