Esta é uma ferramenta poderosa para extrair fontes JavaScript de URLs e páginas da web/respostas HTTP. Ele oferece uma interface de linha de comando (CLI) para processamento direto de URL e uma interface de pacote para integrações personalizadas, tornando-o ideal para pentesters, caçadores de recompensas de bugs e desenvolvedores que precisam extrair fontes JS com eficiência.
Instalação
Uso CLI
Opções
Exemplos
Uso do pacote
Importando o Extrator
Exemplo
Informações da versão
Contribuindo
Licença
Para instalar getJS
, use o seguinte comando:
go install github.com/003random/getJS/v2@latest
getJS
fornece diversas opções de linha de comando para personalizar seu comportamento:
-url string
: o URL do qual as fontes JavaScript devem ser extraídas.
-input string
: arquivos de entrada de URLs opcionais. Cada URL deve estar em uma nova linha em formato de texto simples. Pode ser usado várias vezes.
-output string
: arquivo de saída opcional onde os resultados são gravados. Pode ser usado várias vezes.
-complete
: completa/preenche automaticamente URLs relativos adicionando a origem atual.
-resolve
: Resolva os arquivos JavaScript. Só pode ser usado em combinação com --complete
.
-threads int
: O número de threads de processamento a serem gerados (padrão: 2).
-verbose
: Imprime informações detalhadas e erros de tempo de execução.
-method string
: O método de solicitação usado para buscar conteúdo remoto (padrão: "GET").
-header string
: cabeçalhos de solicitação opcionais para adicionar às solicitações. Pode ser usado várias vezes.
-timeout duration
: o tempo limite da solicitação ao buscar conteúdo remoto (padrão: 5s).
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
Para usar getJS
como um pacote, você precisa importar o pacote extractor
e utilizar suas funções diretamente.
pacote 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("Erro ao analisar URL base: %v", err) }resp, err := extractor.FetchResponse(baseURL.String(), "GET", http.Header{})if (err != nil) {log.Fatalf("Erro ao buscar resposta: %v", err) }defer resp.Body.Close()// Pontos de extração personalizados (opcional).extractionPoints := map[string][]string{"script": {"src", "data-src"},"a": { "href"}, }fontes, err := extractor.ExtractSources(resp.Body, extractPoints)if (err != nil) {log.Fatalf("Erro ao extrair fontes: %v", err) }// Filtrando e estendendo fontes extraídas.filtered, err := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("Erro ao filtrar fontes: %v", err) }para fonte:= intervalo filtrado {fmt.Println(source.String()) } }
Esta é a versão v2 do getJS
. A versão original pode ser encontrada na tag v1.
Contribuições são bem-vindas! Abra um problema ou envie uma solicitação pull para quaisquer bugs, solicitações de recursos ou melhorias.
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes.