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)