Il s'agit d'un outil puissant pour extraire des sources JavaScript à partir d'URL et de pages Web/réponses HTTP. Il offre une interface de ligne de commande (CLI) pour un traitement simple des URL et une interface de package pour des intégrations personnalisées, ce qui le rend idéal pour les pentesters, les chasseurs de bugs et les développeurs ayant besoin d'extraire efficacement les sources JS.
Installation
Utilisation de la CLI
Possibilités
Exemples
Utilisation du package
Importation de l'extracteur
Exemple
Informations sur la version
Contribuer
Licence
Pour installer getJS
, utilisez la commande suivante :
go install github.com/003random/getJS/v2@latest
getJS
propose plusieurs options de ligne de commande pour personnaliser son comportement :
-url string
: L'URL à partir de laquelle les sources JavaScript doivent être extraites.
-input string
: fichiers d'entrée d'URL facultatifs. Chaque URL doit figurer sur une nouvelle ligne au format texte brut. Peut être utilisé plusieurs fois.
-output string
: fichier de sortie facultatif dans lequel les résultats sont écrits. Peut être utilisé plusieurs fois.
-complete
: Compléter/remplir automatiquement les URL relatives en ajoutant l'origine actuelle.
-resolve
: Résout les fichiers JavaScript. Ne peut être utilisé qu'en combinaison avec --complete
.
-threads int
: Le nombre de threads de traitement à générer (par défaut : 2).
-verbose
: affiche les informations d'exécution détaillées et les erreurs.
-method string
: La méthode de requête utilisée pour récupérer le contenu distant (par défaut : "GET").
-header string
: en-têtes de requête facultatifs à ajouter aux requêtes. Peut être utilisé plusieurs fois.
-timeout duration
: Le délai d'expiration de la requête lors de la récupération du contenu distant (par défaut : 5 s).
getJS -url https://destroy.ai
ou
curl https://destroy.ai | getJS
getJS -url "http://example.com" -header "User-Agent: foo bar" -method POST --timeout=15s
getJS -input foo.txt -input bar.txt
getJS -url "http://example.com" -output results.txt
Pour utiliser getJS
en tant que package, vous devez importer le package extractor
et utiliser ses fonctions directement.
package mainimport ("fmt""log""net/http""net/url""github.com/003random/getJS/extractor")func main() {baseURL, err := url.Parse("https:// google.com")if (err != nil) {log.Fatalf("Erreur d'analyse de l'URL de base : %v", err) }resp, err := extractor.FetchResponse(baseURL.String(), "GET", http.Header{})if (err != nil) {log.Fatalf("Erreur lors de la récupération de la réponse : %v", err) }defer resp.Body.Close()// Points d'extraction personnalisés (facultatif).extractionPoints := map[string][]string{"script": {"src", "data-src"},"a": { "href"}, }sources, err := extractor.ExtractSources(resp.Body, extractionPoints)if (err != nil) {log.Fatalf("Erreur lors de l'extraction des sources : %v", err) }// Filtrage et extension des sources extraites.filtered, err := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("Erreur de filtrage des sources : %v", euh) }pour la source := plage filtrée {fmt.Println(source.String()) } }
Il s'agit de la version v2 de getJS
. La version originale se trouve sous la balise v1.
Les contributions sont les bienvenues ! Veuillez ouvrir un problème ou soumettre une demande d'extraction pour tout bug, demande de fonctionnalité ou amélioration.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.