maurosoria/dirsearch

Web path scanner

Python

14,943

2,903 commits

updated Oct 7, 2026

See the code

README

dirsearch logo (light) dirsearch logo (dark)

dirsearch - Web Path Discovery

Build License Stars Release Sponsors Discord Twitter

An advanced web path brute-forcer

dirsearch is being actively developed by @maurosoria and @shelld3v.

Join the Discord server to communicate with the team.

Quick Start

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.

Documentation

The full documentation now lives in docs/:

  • Installation: supported platforms, Python install, release artifacts, 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.ini reference.
  • Sessions: save, list, and resume scan sessions.
  • Python API: importable API examples.
  • Building: PyInstaller, portable builds, Docker images, and GitHub Actions.
  • References: external tutorials and articles.

Minimal Examples

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 common options or python3 dirsearch.py -hh for the complete CLI help.

Python API

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.

Contributing

Pull requests and feature requests are welcome. See CONTRIBUTORS.md for the people who have helped improve dirsearch.

License

Copyright (C) Mauro Soria (maurosoria@gmail.com)

License: GNU General Public License, version 2.

appsec
brute
bug-bounty
bugbounty
dirsearch
enumeration
fuzzer
fuzzing
hacking
hacking-tool
infosec
penetration-testing
pentesting
pentest-tool
python
redteam
red-teaming
scanner
security
wordlist

maurosoria/dirsearch

Web path scanner

Python

14,943

2,903 commits

updated Oct 7, 2026

See the code

README

dirsearch logo (light) dirsearch logo (dark)

dirsearch - Web Path Discovery

Build License Stars Release Sponsors Discord Twitter

An advanced web path brute-forcer

dirsearch is being actively developed by @maurosoria and @shelld3v.

Join the Discord server to communicate with the team.

Quick Start

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.

Documentation

The full documentation now lives in docs/:

  • Installation: supported platforms, Python install, release artifacts, 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.ini reference.
  • Sessions: save, list, and resume scan sessions.
  • Python API: importable API examples.
  • Building: PyInstaller, portable builds, Docker images, and GitHub Actions.
  • References: external tutorials and articles.

Minimal Examples

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 common options or python3 dirsearch.py -hh for the complete CLI help.

Python API

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.

Contributing

Pull requests and feature requests are welcome. See CONTRIBUTORS.md for the people who have helped improve dirsearch.

License

Copyright (C) Mauro Soria (maurosoria@gmail.com)

License: GNU General Public License, version 2.

appsec
brute
bug-bounty
bugbounty
dirsearch
enumeration
fuzzer
fuzzing
hacking
hacking-tool
infosec
penetration-testing
pentesting
pentest-tool
python
redteam
red-teaming
scanner
security
wordlist

Project health

Overall

4.5/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Latest release

0.5.0 · Aug 19, 2026

Releases this year

1

Significant stargazers

(top 24 of 43)

btea

309 followers · starred May 2024

Peter Thaleikis

749 followers · starred Mar 2023

Kacper Łukawski

108 followers · starred Mar 2021