id = "gau" name = "gau" homepage = "https://github.com/lc/gau" description = "Fetch known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, and Common Crawl." executables = ["gau"] [dotfiles] # https://github.com/lc/gau/blob/master/README.md — gau automatically reads # ~/.gau.toml (and the equivalent Windows user-profile spelling); --config can # override it. paths = ["~/.gau.toml", "%USERPROFILE%/.gau.toml"] secret = [] side_effect = false [commands] format = 1 label = "Fetch known URLs" description = "Fetch known URLs for one or more domains from archive providers, with filters. Reading domains from standard input is not covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "readme" kind = "manual" url = "https://github.com/lc/gau/blob/master/README.md" revision = "master 2026-10" evidence = """ |`--blacklist`| list of extensions to skip | gau --blacklist ttf,woff,svg,png| |`--fc`| list of status codes to filter | gau --fc 404,302 | |`--from`| fetch urls from date (format: YYYYMM) | gau --from 202101 | |`--fp`| remove different parameters of the same endpoint | gau --fp| |`--json`| output as json | gau --json | |`--mc`| list of status codes to match | gau --mc 200,500 | |`--o`| filename to write results to | gau --o out.txt | |`--providers`| list of providers to use (wayback,commoncrawl,otx,urlscan) | gau --providers wayback| |`--subs`| include subdomains of target domain | gau example.com --subs | |`--threads`| number of workers to spawn | gau example.com --threads | |`--to`| fetch urls to date (format: YYYYMM) | gau example.com --to 202101 | |`--verbose`| show verbose output | gau --verbose example.com | """ [[commands.field]] id = "domains" label = "Domains" type = "string" position = 0 multiple = true min = 0 sources = ["readme"] [[commands.field]] id = "providers" label = "Providers" description = "Comma-separated list." type = "string" option = ["--providers"] suggestions = [{ value = "wayback", label = "Wayback" }, { value = "commoncrawl", label = "Common Crawl" }, { value = "otx", label = "OTX" }, { value = "urlscan", label = "urlscan" }, { value = "wayback,commoncrawl,otx,urlscan", label = "All" }] sources = ["readme"] [[commands.field]] id = "subs" label = "Include subdomains" type = "boolean" option = ["--subs"] sources = ["readme"] [[commands.field]] id = "blacklist" label = "Skip extensions" description = "Comma-separated, e.g. ttf,woff,svg,png." type = "string" option = ["--blacklist"] sources = ["readme"] [[commands.field]] id = "from" label = "From date (YYYYMM)" type = "string" option = ["--from"] sources = ["readme"] [[commands.field]] id = "to" label = "To date (YYYYMM)" type = "string" option = ["--to"] sources = ["readme"] [[commands.field]] id = "mc" label = "Match status codes" type = "string" option = ["--mc"] sources = ["readme"] [[commands.field]] id = "fc" label = "Filter status codes" type = "string" option = ["--fc"] sources = ["readme"] [[commands.field]] id = "fp" label = "Remove duplicate parameters" type = "boolean" option = ["--fp"] sources = ["readme"] [[commands.field]] id = "threads" label = "Threads" type = "integer" option = ["--threads"] sources = ["readme"] [[commands.field]] id = "json" label = "JSON output" type = "boolean" option = ["--json"] sources = ["readme"] [[commands.field]] id = "output" label = "Output file" type = "path" option = ["--o"] path = { kind = "file", role = "output" } effect = "overwrite" sources = ["readme"] [[commands.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["--verbose"] sources = ["readme"] [[commands.task]] id = "fetch" label = "Fetch URLs" fields = ["domains", "providers", "subs", "blacklist", "output"] required = ["domains"] [[commands.task]] id = "range" label = "Fetch within a date range" fields = ["domains", "from", "to", "subs", "blacklist", "output"] required = ["domains"] [[commands.group]] id = "basic" label = "Basic" fields = ["domains", "providers", "subs", "blacklist", "output"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["from", "to", "mc", "fc", "fp", "threads", "json", "verbose"]