GoSpider Documentation

repository·master·Indexed 25 days ago

https://github.com/jaeles-project/gospider

GoSpider is a fast web crawler written in Go designed for reconnaissance workflows. It supports parallel crawling, 3rd party URL retrieval from sources like Archive.org, CommonCrawl.org, VirusTotal.com, and AlienVault.com, and integration with Burp Suite inputs. Key features include configurable recursion depth, concurrency control, custom HTTP headers/cookies, and the ability to filter results by response length or URL regex.

Tokens
2K
Snippets
10
Records
16
Agent score
34%

What's inside GoSpider

  1. Install GoSpider via Docker

    master

    To run GoSpider using Docker, clone the repository, build the container, and then run it.

    # Clone the repo
    git clone https://github.com/jaeles-project/gospider.git
    # Build the container
    docker build -t gospider:latest gospider
    # Run the container
    docker run -t gospider -h
  2. Use custom headers and cookies

    master

    Pass custom HTTP headers and cookies to the crawler, or load them directly from a Burp Suite raw request.

    # Using manual headers and cookies
    gospider -s "https://google.com/" -o output -c 10 -d 1 --other-source -H "Accept: */*" -H "Test: test" --cookie "testA=a; testB=b"
    
    # Using Burp raw request file
    gospider -s "https://google.com/" -o output -c 10 -d 1 --other-source --burp burp_req.txt
    gospider -s "https://google.com/" -o output -c 10 -d 1 --other-source -H "Accept: */*" -H "Test: test" --cookie "testA=a; testB=b"
    
    # Using Burp raw request file
    gospider -s "https://google.com/" -o output -c 10 -d 1 --other-source --burp burp_req.txt
  3. Blacklist specific URL patterns or extensions

    master

    Exclude specific file extensions or URL patterns from the crawl using a regex. Note that GoSpider blacklists common media/style extensions by default.

    gospider -s "https://google.com/" -o output -c 10 -d 1 --blacklist ".(woff|pdf)"
  4. GoSpider CLI Flags Reference

    master

    GoSpider is a fast web spider with the following CLI flags:

    FlagShortDescription
    --site-sSite to crawl
    --sites-SSite list to crawl
    --proxy-pProxy (Ex: http://127.0.0.1:8080)
    --output-oOutput folder
    --user-agent-uUser Agent to use (web: random web, mobi: random mobile, or custom string)
    --cookieCookie to use (e.g., testA=a; testB=b)
    --header-HHeader to use (use multiple flags for multiple headers)
    --burpLoad headers and cookie from Burp raw HTTP request
    --blacklistBlacklist URL Regex
    --whitelistWhitelist URL Regex
    --whitelist-domainWhitelist Domain
    --threads-tNumber of threads (Run sites in parallel) (default 1)
    --concurrent-cMax allowed concurrent requests of matching domains (default 5)
    --depth-dMaxDepth limits recursion depth (0 for infinite) (default 1)
    --delay-kDelay in seconds before new request (default 0)
    --random-delay-KExtra randomized duration added to Delay (seconds)
    --timeout-mRequest timeout in seconds (default 10)
    --base-BDisable all and only use HTML content
    --jsEnable linkfinder in javascript file (default true)
    --subsInclude subdomains
    --sitemapTry to crawl sitemap.xml
    --robotsTry to crawl robots.txt (default true)
    --other-source-aFind URLs from 3rd party (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com)
    --include-subs-wInclude subdomains crawled from 3rd party (default: main domain)
    --include-other-source-rAlso include other-source's urls (still crawl and request)
    --debugTurn on debug mode
    --jsonEnable JSON output
    --verbose-vTurn on verbose
    --length-lTurn on length
    --filter-length-LTurn on length filter
    --raw-RTurn on raw
    --quiet-qSuppress all output and only show URL
    --no-redirectDisable redirect
    --versionCheck version
    --help-hhelp for gospider
  5. Configure GoSpider HTTP headers and authentication

    master

    Customize the HTTP requests made by the spider:

    • -p, --proxy: Set a proxy (e.g., http://127.0.0.1:8080).
    • -u, --user-agent: Set the User Agent. Options: web (random web user-agent), mobi (random mobile user-agent), or a custom string.
    • --cookie: Provide cookies to use (e.g., testA=a; testB=b).
    • -H, --header: Set custom headers. Use this flag multiple times to set multiple headers.
    • --burp: Load headers and cookies directly from a Burp Suite raw HTTP request.
  6. Configure GoSpider filtering and scope

    master

    Limit the scope of the crawl using regex or domain matching:

    • --blacklist: URL Regex to exclude.
    • --whitelist: URL Regex to include.
    • --whitelist-domain: Domain name to include.
    • -L, --filter-length: Enable length filtering.
    • --no-redirect: Disable following redirects.