gau Documentation

Fetch known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, and Common Crawl.

5,132 stars Go Go 1 file ยท ~1,204 tokens #alienvault#gau#hacktoberfest#security#wayback-machine
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy gau on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name gau --restart always lc/gau:latest

Technical Documentation: lc/gau

โ„น๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference

Overview (`README.md`)

getallurls (gau)

getallurls (gau) fetches known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, Common Crawl, and URLScan for any given domain. Inspired by Tomnomnom's waybackurls.

Resources

Usage:

Examples:

bash
$ printf example.com | gau
$ cat domains.txt | gau --threads 5
$ gau example.com google.com
$ gau --o example-urls.txt example.com
$ gau --blacklist png,jpg,gif example.com

To display the help for the tool use the -h flag:

bash
$ gau -h
Flag Description Example
--blacklist list of extensions to skip gau --blacklist ttf,woff,svg,png
--config Use alternate configuration file (default $HOME/config.toml or %USERPROFILE%\.gau.toml) gau --config $HOME/.config/gau.toml
--fc list of status codes to filter gau --fc 404,302
--from fetch urls from date (format: YYYYMM) gau --from 202101
--ft list of mime-types to filter gau --ft text/plain
--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
--mt list of mime-types to match gau --mt text/html,application/json
--o filename to write results to gau --o out.txt
--providers list of providers to use (wayback,commoncrawl,otx,urlscan) gau --providers wayback
--proxy http proxy to use (socks5:// or http:// gau --proxy http://proxy.example.com:8080
--retries retries for HTTP client gau --retries 10
--timeout timeout (in seconds) for HTTP client gau --timeout 60
--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
--version show gau version gau --version

Configuration Files

gau automatically looks for a configuration file at $HOME/.gau.toml or%USERPROFILE%\.gau.toml. You can point to a different configuration file using the --config flag. If the configuration file is not found, gau will still run with a default configuration, but will output a message to stderr.

You can specify options and they will be used for every subsequent run of gau. Any options provided via command line flags will override options set in the configuration file.

An example configuration file can be found here

Installation:

From source:

text
$ go install github.com/lc/gau/v2/cmd/gau@latest

From github :

text
git clone https://github.com/lc/gau.git; \
cd gau/cmd/gau; \
go build; \
sudo mv gau /usr/local/bin/; \
gau --version;

From binary:

You can download the pre-built binaries from the releases page and then move them into your $PATH.

bash
$ tar xvf gau_2.0.6_linux_amd64.tar.gz
$ mv gau /usr/bin/gau

From Docker:

You can run gau via docker like so:

bash
docker run --rm sxcurity/gau:latest --help

You can also build a docker image with the following command

bash
docker build -t gau .

and then run it

bash
docker run gau example.com

Bear in mind that piping command (echo "example.com" | gau) will not work with the docker container

ohmyzsh note:

ohmyzsh's git plugin has an alias which maps gau to the git add --update command. This is problematic, causing a binary conflict between this tool "gau" and the zsh plugin alias "gau" (git add --update). There is currently a few workarounds which can be found in this Github issue.

Useful?

Donate to CommonCrawl
Donate to the InternetArchive


--- METRICS ---