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/gospiderOverview
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
--jsto parse JavaScript files — often reveals hidden endpoints and API keys - Combine with
subjsorLinkFinderto extract more from JS files - Set cookies with
-cfor authenticated crawling after login - Use
-qfor 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
--jspour parser les fichiers JavaScript : révèle souvent des endpoints cachés et des clés d’API - Combiner avec
subjsouLinkFinderpour extraire davantage des fichiers JS - Définir des cookies avec
-cpour un crawl authentifié après connexion - Utiliser
-qpour 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)