DIRSEARCH(1)
π DIRSEARCH(1) π
okay bestie, sit down, hydrate, and let me tell you about dirsearch β she's an advanced command-line tool designed to brute force directories and files in webservers. that's it. that's the girl. she's giving main character energy and she is coming for your hidden paths β¨
π NAME π
dirsearch β an advanced command-line tool designed to brute force directories and files in webservers. no cap, that's literally what she does and she does it beautifully π
πΈ SYNOPSIS πΈ
dirsearch.py [-u|--url] target [-e|--extensions] extensions [options]
that's the whole vibe right there. give her a target, maybe some extensions, and she goes π¦
β¨ OPTIONS β¨
π the basics first
--versionβ show program's version number and exit. she'll tell you who she is and then dip π-h,--helpβ show this help message and exit. the classic "wait what do i do" button π«Ά
π Mandatory:
okay so these ones are lowkey the whole point. you need a target, bestie.
-u URL,--url=URLβ Target URL π―-l FILE,--url-list=FILEβ Target URL list file. a whole file of targets?? yes, she's ambitious π--stdinβ Target URL list from STDIN. pipe it in, we love a flexible queen π--cidr=CIDRβ Target CIDR. network ranges, she's doing the most (respectfully) π--raw=FILEβ Load raw HTTP request from file (use--schemeflag to set the scheme). fyi you gotta pair her with--scheme, don't forget or it's giving chaos π-e EXTENSIONS,--extensions=EXTENSIONSβ Extension list separated by commas (Example:php,asp) π-X EXTENSIONS,--exclude-extensions=EXTENSIONSβ Exclude extension list separated by commas (Example:asp,jsp) π«-f,--force-extensionsβ Add extensions to every wordlist entry. By default dirsearch only replaces the%EXT%keyword with extensions. so yeah,-fis the "no thoughts, just extensions everywhere" mode β¨
π Dictionary Settings:
this is where she plays dress-up with your wordlist π
-w WORDLIST,--wordlists=WORDLISTβ Customize wordlists (separated by commas) π--prefixes=PREFIXESβ Add custom prefixes to all wordlist entries (separated by commas) π--suffixes=SUFFIXESβ Add custom suffixes to all wordlist entries, ignore directories (separated by commas) π--only-selectedβ Remove paths have different extensions from selected ones via-e(keep entries don't have extensions) βοΈ--remove-extensionsβ Remove extensions in all paths (Example:admin.php->admin) π§-U,--uppercaseβ Uppercase wordlist. LOUD MODE π₯-L,--lowercaseβ Lowercase wordlist. soft mode πΈ-C,--capitalβ Capital wordlist. Title Case Bestie Mode π
βοΈ General Settings:
the knobs and dials, the whole control room β¨
-t THREADS,--threads=THREADSβ Number of threads. more threads = more zoomies πββοΈπ¨-r,--recursiveβ Brute-force recursively. she goes deeper. that's the tweet π--deep-recursiveβ Perform recursive scan on every directory depth (Example:api/users->api/) π³οΈ--force-recursiveβ Do recursive brute-force for every found path, not only paths end with slash πͺ-R DEPTH,--recursion-depth=DEPTHβ Maximum recursion depth. set a limit or she'll spiral (relatable) π--recursion-status=CODESβ Valid status codes to perform recursive scan, support ranges (separated by commas) π--subdirs=SUBDIRSβ Scan sub-directories of the given URL[s] (separated by commas) ποΈ--exclude-subdirs=SUBDIRSβ Exclude the following subdirectories during recursive scan (separated by commas) π«-i CODES,--include-status=CODESβ Include status codes, separated by commas, support ranges (Example:200,300-399) β-x CODES,--exclude-status=CODESβ Exclude status codes, separated by commas, support ranges (Example:301,500-599) β--exclude-sizes=SIZESβ Exclude responses by sizes, separated by commas (Example:123B,4KB) π--exclude-texts=TEXTSβ Exclude responses by texts, separated by commas (Example:'Not found','Error') π--exclude-regexps=REGEXPSβ Exclude responses by regexps, separated by commas (Example:'Not foun[a-z]{1}','^Error$') π§--exclude-redirects=REGEXPSβ Exclude responses by redirect regexps or texts, separated by commas (Example:'https://okta.com/*') π--exclude-response=PATHβ Exclude responses by response of this page (path as input) πͺ--skip-on-status=CODESβ Skip target whenever hit one of these status codes, separated by commas, support ranges βοΈ--minimal=LENGTHβ Minimal response length π--maximal=LENGTHβ Maximal response length π--max-time=SECONDSβ Maximal runtime for the scan. a lil timer, we love boundaries β°-q,--quiet-modeβ Quiet mode. she's shy (she is not) π€«--full-urlβ Full URLs in the output (enabled automatically in quiet mode) π--no-colorβ No colored output. for the monochrome minimalists π€
π Request Settings:
how she knocks on the door πͺ
-m METHOD,--http-method=METHODβ HTTP method (default:GET) π οΈ-d DATA,--data=DATAβ HTTP request data π¦-H HEADERS,--header=HEADERSβ HTTP request header, support multiple flags (Example:-H 'Referer: example.com') π¨--header-list=FILEβ File contains HTTP request headers π-F,--follow-redirectsβ Follow HTTP redirects π§--random-agentβ Choose a random User-Agent for each request. she's in disguise, nobody knows her π₯Έ--auth-type=TYPEβ Authentication type (basic,digest,bearer,ntlm) π--auth=CREDENTIALβ Authentication credential (user:passwordor bearer token) ποΈ--user-agent=USERAGENTβ (no description given, she just lets you set your own vibe) π¦--cookie=COOKIEβ (no description given either, but you know what a cookie is bestie) πͺ
π Connection Settings:
the plumbing. the infrastructure. the β¨networkβ¨ π«Ά
--timeout=TIMEOUTβ Connection timeout β³-s DELAY,--delay=DELAYβ Delay between requests. breathe, girl π§ββοΈ--proxy=PROXYβ Proxy URL, support HTTP and SOCKS proxies (Example:localhost:8080,socks5://localhost:8088) π--proxy-list=FILEβ File contains proxy servers π--replay-proxy=PROXYβ Proxy to replay with found paths π--scheme=SCHEMEβ Default scheme (for raw request or if there is no scheme in the URL) π§¬--max-rate=RATEβ Max requests per second π¦--retries=RETRIESβ Number of retries for failed requests π-b,--request-by-hostnameβ By default dirsearch requests by IP for speed. This will force dirsearch to request by hostname π·οΈ--ip=IPβ Server IP address π--exit-on-errorβ Exit whenever an error occurs. dramatic exit, love that for her πͺπ¨
π Reports:
receipts, bestie. always keep the receipts π§Ύ
-o FILE,--output=FILEβ Output file πΎ--format=FORMATβ Report format (Available:simple,plain,json,xml,md,csv,html) π¨
You can change the dirsearch default configurations (default extensions, timeout, wordlist location, ...) by editing the "/etc/dirsearch/default.conf" file. More information at https://github.com/maurosoria/dirsearch.
so yeah, if you wanna make her act different by default, that's the file to go touch. and if you want the full lore, that github link is right there π
π SEE ALSO π
The full documentation for dirsearch is maintained as a Texinfo manual. If the info and dirsearch programs are properly installed at your site, the command
info dirsearch
should give you access to the complete manual.
iykyk β that's your one-stop shop for the full manual, no cap πβ¨
and that's the whole page, bestie. this was dirsearch v0.4.2, brought to you from September 2021 β an icon, a legend, and she is the moment ππ π¦
π¦ where this page comes from
- debian bookworm: dirsearch 0.4.2+ds-3 Β· GPL-2.0-or-later
- debian trixie: dirsearch 0.4.3-1 Β· GPL-2.0-or-later
- ubuntu jammy: dirsearch 0.4.2+ds-3 Β· GPL-2.0-or-later
- ubuntu noble: dirsearch 0.4.3-1 Β· GPL-2.0-or-later
- ubuntu questing: dirsearch 0.4.3-1
- ubuntu resolute: dirsearch 0.4.3-1build1 Β· GPL-2.0-or-later
- ubuntu stonking: dirsearch 0.4.4-2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms