
Web path scanner
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,js
You can also install the latest Python stack directly from GitHub with pip:
pip3 install git+https://github.com/maurosoria/dirsearch.git
dirsearch -u https://example.com -e php,html,js
The Rust native backend is opt-in for source installs; see Installation for the native build steps.
Pre-built PyInstaller binaries and portable folder archives are available on the Releases page.
The full documentation now lives in docs/:
%EXT%, categories, templates, prefixes, suffixes, and transformations.config.ini reference.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 3
Use 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 ([email protected])
License: GNU General Public License, version 2.