← retour aux outils back to tools

# gospider

Spider web rapide écrit en Go. Explore les sites pour découvrir des URLs, fichiers JavaScript, paramètres de formulaires, endpoints, et plus. Supporte le spidering parallèle de plusieurs cibles. Fast web spider written in Go. Crawls websites to discover URLs, JavaScript files, form parameters, endpoints, and more. Supports parallel spidering of multiple targets.

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

## Overview

gospider is a fast web crawler written in Go. It discovers URLs, JS files, endpoints, and subdomains by crawling web content, parsing JavaScript, and following links. Supports Burp output, robots.txt parsing, and sitemap.xml for comprehensive surface discovery.

## Basic Usage

Crawl a single site

    gospider -s https://example.com

Crawl with depth

    gospider -s https://example.com -d 3

Save output to directory

    gospider -s https://example.com -o output/

Use cookies (for authenticated crawling)

    gospider -s https://example.com -c "session=abc123"

Set user agent

    gospider -s https://example.com -a "Mozilla/5.0"

Crawl multiple sites from file

    gospider -S sites.txt -o output/

## Discovery Options

Include subdomains in crawl

    gospider -s https://example.com --include-subs

Parse robots.txt and sitemap.xml

    gospider -s https://example.com --robots --sitemap

Parse JavaScript for additional URLs

    gospider -s https://example.com --js

Include URLs outside of scope

    gospider -s https://example.com --include-other-source

Follow redirects

    gospider -s https://example.com --no-redirect=false

Set request timeout

    gospider -s https://example.com --timeout 15

## Performance Tuning

Number of concurrent requests per site

    gospider -s https://example.com -t 20

Number of sites to crawl in parallel (with -S)

    gospider -S sites.txt -c 5

Delay between requests (milliseconds)

    gospider -s https://example.com --delay 200

Max number of URLs to crawl

    gospider -s https://example.com --max-length 100000

## Output Filtering

Filter by regex pattern in URL

    gospider -s https://example.com --filter-length 0

Show only specific status codes

    gospider -s https://example.com | grep "\[200\]"

Extract all JS files

    gospider -s https://example.com | grep "\.js"

Extract all URLs with parameters

    gospider -s https://example.com | grep "?"

Extract API endpoints

    gospider -s https://example.com | grep -E "/api/"

## Integration with Other Tools

Pipe to gf for pattern matching

    gospider -s https://example.com -q | gf xss | qsreplace '"><img src=x onerror=alert(1)>'

Find endpoints for nuclei scanning

    gospider -s https://example.com -q | httpx -silent | nuclei -t

Discover JS files for further analysis

    gospider -s https://example.com -q | grep "\.js$" | sort -u > jsfiles.txt

## Tips

- Use `--js` to parse JavaScript files — often reveals hidden endpoints and API keys
- Combine with `subjs` or `LinkFinder` to extract more from JS files
- Set cookies with `-c` for authenticated crawling after login
- Use `-q` for quiet mode (URLs only) to pipe cleanly into other tools

Help / Man page

    gospider [flags]

    -s URL          Site to crawl
    -S FILE         File with list of sites
    -d DEPTH        Crawl depth (default: 1)
    -c N            Concurrent sites (for -S)
    -t N            Threads per site (default: 5)
    -o DIR          Output directory
    -a AGENT        User agent
    -c COOKIES      Cookies string
    -H HEADER       Additional headers
    -w              Blacklist extensions
    --js            Parse JS for additional URLs
    --sitemap       Parse sitemap.xml
    --robots        Parse robots.txt
    --include-subs  Include subdomains
    --timeout N     Request timeout seconds
    --delay N       Delay ms between requests
    -q              Quiet mode (only URLs)

## Vue d’ensemble

gospider est un crawler web rapide écrit en Go. Il découvre des URLs, fichiers JS, endpoints et sous-domaines en explorant le contenu web, en parsant le JavaScript et en suivant les liens. Supporte la sortie Burp, le parsing de robots.txt et de sitemap.xml pour une découverte de surface complète.

## Utilisation de base

    # Explorer un seul site
    gospider -s https://example.com

    # Explorer avec une profondeur donnée
    gospider -s https://example.com -d 3

    # Sauvegarder la sortie dans un répertoire
    gospider -s https://example.com -o output/

    # Utiliser des cookies (pour un crawl authentifié)
    gospider -s https://example.com -c "session=abc123"

    # Définir le user agent
    gospider -s https://example.com -a "Mozilla/5.0"

    # Explorer plusieurs sites depuis un fichier
    gospider -S sites.txt -o output/

## Options de découverte

    # Inclure les sous-domaines dans le crawl
    gospider -s https://example.com --include-subs

    # Parser robots.txt et sitemap.xml
    gospider -s https://example.com --robots --sitemap

    # Parser le JavaScript pour des URLs supplémentaires
    gospider -s https://example.com --js

    # Inclure les URLs hors périmètre
    gospider -s https://example.com --include-other-source

    # Suivre les redirections
    gospider -s https://example.com --no-redirect=false

    # Définir le timeout de requête
    gospider -s https://example.com --timeout 15

## Réglage des performances

    # Nombre de requêtes concurrentes par site
    gospider -s https://example.com -t 20

    # Nombre de sites à explorer en parallèle (avec -S)
    gospider -S sites.txt -c 5

    # Délai entre les requêtes (millisecondes)
    gospider -s https://example.com --delay 200

    # Nombre max d'URLs à explorer
    gospider -s https://example.com --max-length 100000

## Filtrage de la sortie

    # Filtrer par pattern regex dans l'URL
    gospider -s https://example.com --filter-length 0

    # Afficher uniquement certains codes de statut
    gospider -s https://example.com | grep "\[200\]"

    # Extraire tous les fichiers JS
    gospider -s https://example.com | grep "\.js"

    # Extraire toutes les URLs avec paramètres
    gospider -s https://example.com | grep "?"

    # Extraire les endpoints d'API
    gospider -s https://example.com | grep -E "/api/"

## Intégration avec d’autres outils

    # Pipe vers gf pour le pattern matching
    gospider -s https://example.com -q | gf xss | qsreplace '"><img src=x onerror=alert(1)>'

    # Trouver des endpoints pour un scan nuclei
    gospider -s https://example.com -q | httpx -silent | nuclei -t

    # Découvrir des fichiers JS pour analyse ultérieure
    gospider -s https://example.com -q | grep "\.js$" | sort -u > jsfiles.txt

## Conseils

- Utiliser `--js` pour parser les fichiers JavaScript : révèle souvent des endpoints cachés et des clés d’API
- Combiner avec `subjs` ou `LinkFinder` pour extraire davantage des fichiers JS
- Définir des cookies avec `-c` pour un crawl authentifié après connexion
- Utiliser `-q` pour le mode silencieux (URLs uniquement) afin de piper proprement vers d’autres outils

Aide / Page de manuel

    gospider [flags]

    -s URL          Site to crawl
    -S FILE         File with list of sites
    -d DEPTH        Crawl depth (default: 1)
    -c N            Concurrent sites (for -S)
    -t N            Threads per site (default: 5)
    -o DIR          Output directory
    -a AGENT        User agent
    -c COOKIES      Cookies string
    -H HEADER       Additional headers
    -w              Blacklist extensions
    --js            Parse JS for additional URLs
    --sitemap       Parse sitemap.xml
    --robots        Parse robots.txt
    --include-subs  Include subdomains
    --timeout N     Request timeout seconds
    --delay N       Delay ms between requests
    -q              Quiet mode (only URLs)