photon
Crawler web rapide conçu pour l'OSINT. Extrait URLs, e-mails, profils de réseaux sociaux, fichiers, clés secrètes, endpoints JavaScript et domaines liés depuis les sites cibles. Fast web crawler designed for OSINT. Extracts URLs, emails, social media profiles, files, secret keys, JavaScript endpoints, and linked domains from target websites.
↗ https://github.com/s0md3v/PhotonOverview
Photon is an OSINT-focused web crawler that extracts useful intelligence from websites: URLs, email addresses, social media links, JavaScript files, secret keys/tokens, file downloads, and external domains. Much faster than manual browsing and more OSINT-aware than generic crawlers.
Installation
git clone https://github.com/s0md3v/Photon
cd Photon
pip3 install -r requirements.txt
Basic Usage
Crawl a website
python3 photon.py -u https://example.com
Crawl with custom depth
python3 photon.py -u https://example.com -l 3
Crawl with threads
python3 photon.py -u https://example.com -t 10
Save output to directory
python3 photon.py -u https://example.com -o ./output/
What Photon Finds
# URLs discovered (all linked pages)
# Email addresses on the site
# Social media profile links
# JavaScript files (for JS analysis)
# Intel (secret keys, API tokens in source)
# Linked external domains
# Files (PDF, DOC, ZIP, etc.)
# Internal endpoints from JS code
Show all discovered data
python3 photon.py -u https://example.com --keys --dns
Key Extraction
Extract API keys, tokens, and secrets from JS
python3 photon.py -u https://example.com --keys
# Common patterns it finds:
# AWS_ACCESS_KEY, API_KEY, SECRET, TOKEN, PASSWORD
# firebase configurations
# Stripe/Twilio/Sendgrid keys
Domain Discovery
Find linked external domains
python3 photon.py -u https://example.com --dns
# Includes CDNs, tracking services, third-party APIs
# Reveals technology stack and business relationships
Crawling Options
Set cookie for authenticated crawling
python3 photon.py -u https://example.com --cookie "sessionid=abc123"
Custom headers
python3 photon.py -u https://example.com --headers '{"Authorization": "Bearer TOKEN"}'
Crawl without following redirects
python3 photon.py -u https://example.com --timeout 5
Filter by regex
python3 photon.py -u https://example.com --regex ".*admin.*"
Exclude specific URLs
python3 photon.py -u https://example.com --exclude logout,signout
Tips
- Start with
--keysto quickly find exposed secrets in JavaScript - Use
--dnsto map the target’s technology ecosystem - Crawl JS files specifically — modern SPAs put API endpoints in JS bundles
- Combine with subfinder/amass: crawl each subdomain separately
- Use
--seedsto seed the crawler with known URLs and expand coverage
Help / Man page
photon.py [options]
-u URL Target URL
-l N Crawl depth (default: 2)
-t N Threads (default: 2)
-o DIR Output directory
--keys Extract secret keys/tokens
--dns Extract linked domains
--regex R Filter URLs by regex
--cookie C Set cookies
--headers H Custom headers (JSON)
--exclude E Comma-separated exclusions
--timeout N Request timeout in seconds
--seeds F Seed URLs file
Vue d’ensemble
Photon est un crawler web axé OSINT qui extrait des renseignements utiles depuis des sites web : URLs, adresses e-mail, liens vers les réseaux sociaux, fichiers JavaScript, clés/tokens secrets, fichiers téléchargeables et domaines externes. Bien plus rapide qu’une navigation manuelle et plus orienté OSINT que les crawlers génériques.
Installation
git clone https://github.com/s0md3v/Photon
cd Photon
pip3 install -r requirements.txt
Utilisation de base
# Crawler un site web
python3 photon.py -u https://example.com
# Crawler avec une profondeur personnalisée
python3 photon.py -u https://example.com -l 3
# Crawler avec plusieurs threads
python3 photon.py -u https://example.com -t 10
# Sauvegarder la sortie dans un répertoire
python3 photon.py -u https://example.com -o ./output/
Ce que Photon trouve
# URLs découvertes (toutes les pages liées)
# Adresses e-mail présentes sur le site
# Liens vers des profils de réseaux sociaux
# Fichiers JavaScript (pour analyse JS)
# Intel (clés secrètes, tokens API dans le code source)
# Domaines externes liés
# Fichiers (PDF, DOC, ZIP, etc.)
# Endpoints internes issus du code JS
Afficher toutes les données découvertes
python3 photon.py -u https://example.com --keys --dns
Extraction de clés
Extraire les clés API, tokens et secrets depuis le JS
python3 photon.py -u https://example.com --keys
# Motifs courants détectés :
# AWS_ACCESS_KEY, API_KEY, SECRET, TOKEN, PASSWORD
# configurations firebase
# clés Stripe/Twilio/Sendgrid
Découverte de domaines
Trouver les domaines externes liés
python3 photon.py -u https://example.com --dns
# Inclut les CDN, services de tracking, APIs tierces
# Révèle la stack technologique et les relations commerciales
Options de crawl
# Définir un cookie pour un crawl authentifié
python3 photon.py -u https://example.com --cookie "sessionid=abc123"
# En-têtes personnalisés
python3 photon.py -u https://example.com --headers '{"Authorization": "Bearer TOKEN"}'
# Crawler sans suivre les redirections
python3 photon.py -u https://example.com --timeout 5
# Filtrer par regex
python3 photon.py -u https://example.com --regex ".*admin.*"
# Exclure des URLs spécifiques
python3 photon.py -u https://example.com --exclude logout,signout
Conseils
- Commencer par
--keyspour repérer rapidement les secrets exposés dans le JavaScript - Utiliser
--dnspour cartographier l’écosystème technologique de la cible - Crawler spécifiquement les fichiers JS : les SPA modernes placent les endpoints API dans les bundles JS
- Combiner avec subfinder/amass : crawler chaque sous-domaine séparément
- Utiliser
--seedspour amorcer le crawler avec des URLs connues et étendre la couverture
Aide / Page de manuel
photon.py [options]
-u URL Target URL
-l N Crawl depth (default: 2)
-t N Threads (default: 2)
-o DIR Output directory
--keys Extract secret keys/tokens
--dns Extract linked domains
--regex R Filter URLs by regex
--cookie C Set cookies
--headers H Custom headers (JSON)
--exclude E Comma-separated exclusions
--timeout N Request timeout in seconds
--seeds F Seed URLs file