Esta es una poderosa herramienta para extraer fuentes de JavaScript de URL y páginas web/respuestas HTTP. Ofrece una interfaz de línea de comandos (CLI) para un procesamiento de URL sencillo y una interfaz de paquete para integraciones personalizadas, lo que lo hace ideal para pentesters, cazadores de recompensas de errores y desarrolladores que necesitan extraer fuentes JS de manera eficiente.
Instalación
Uso de CLI
Opciones
Ejemplos
Uso del paquete
Importando el extractor
Ejemplo
Información de versión
Contribuyendo
Licencia
Para instalar getJS
, use el siguiente comando:
go install github.com/003random/getJS/v2@latest
getJS
proporciona varias opciones de línea de comandos para personalizar su comportamiento:
-url string
: la URL de la que se deben extraer las fuentes de JavaScript.
-input string
: archivos de entrada de URL opcionales. Cada URL debe estar en una nueva línea en formato de texto sin formato. Se puede utilizar varias veces.
-output string
: archivo de salida opcional donde se escriben los resultados. Se puede utilizar varias veces.
-complete
: Completar/Autocompletar URL relativas agregando el origen actual.
-resolve
: resuelve los archivos JavaScript. Sólo se puede utilizar en combinación con --complete
.
-threads int
: el número de subprocesos de procesamiento que se generarán (predeterminado: 2).
-verbose
: imprime información detallada sobre el tiempo de ejecución y errores.
-method string
: el método de solicitud utilizado para recuperar contenidos remotos (predeterminado: "GET").
-header string
: encabezados de solicitud opcionales para agregar a las solicitudes. Se puede utilizar varias veces.
-timeout duration
: el tiempo de espera de la solicitud mientras se recuperan contenidos remotos (predeterminado: 5 segundos).
getJS -url https://destroy.ai
o
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
Para utilizar getJS
como paquete, debe importar el paquete extractor
y utilizar sus funciones directamente.
paquete 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("Error al analizar la URL base: %v", err) }resp, err := extractor.FetchResponse(baseURL.String(), "GET", http.Header{})if (err != nil) {log.Fatalf("Error al recuperar la respuesta: %v", err) }defer resp.Body.Close()// Puntos de extracción personalizados (opcional).extractionPoints := map[string][]string{"script": {"src", "data-src"},"a": { "href"}, }fuentes, err := extractor.ExtractSources(resp.Body, extractPoints)if (err!= nil) {log.Fatalf("Error al extraer fuentes: %v", err) }// Filtrado y extensión de fuentes extraídas.filtered, err := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("Error al filtrar fuentes: %v", errar) }para fuente := rango filtrado {fmt.Println(source.String()) } }
Esta es la versión v2 de getJS
. La versión original se puede encontrar bajo la etiqueta v1.
¡Las contribuciones son bienvenidas! Abra un problema o envíe una solicitud de extracción para detectar errores, solicitudes de funciones o mejoras.
Este proyecto está bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más detalles.