Это мощный инструмент для извлечения источников JavaScript из URL-адресов и веб-страниц/ответов HTTP. Он предлагает интерфейс командной строки (CLI) для простой обработки URL-адресов и пакетный интерфейс для индивидуальной интеграции, что делает его идеальным для пентестеров, охотников за ошибками и разработчиков, которым необходимо эффективно извлекать исходные коды JS.
Установка
Использование интерфейса командной строки
Параметры
Примеры
Использование пакета
Импорт экстрактора
Пример
Информация о версии
Содействие
Лицензия
Чтобы установить getJS
, используйте следующую команду:
go install github.com/003random/getJS/v2@latest
getJS
предоставляет несколько параметров командной строки для настройки своего поведения:
-url string
: URL-адрес, из которого следует извлечь источники JavaScript.
-input string
: дополнительные входные файлы URL. Каждый URL-адрес должен находиться на новой строке в текстовом формате. Можно использовать несколько раз.
-output string
: дополнительный выходной файл, в который записываются результаты. Можно использовать несколько раз.
-complete
: завершить/автозаполнить относительные URL-адреса, добавив текущий источник.
-resolve
: разрешить файлы JavaScript. Может использоваться только в сочетании с --complete
.
-threads int
: количество создаваемых потоков обработки (по умолчанию: 2).
-verbose
: вывести подробную информацию о времени выполнения и ошибках.
-method string
: метод запроса, используемый для получения удаленного содержимого (по умолчанию: «GET»).
-header string
: дополнительные заголовки запросов, добавляемые к запросам. Можно использовать несколько раз.
-timeout duration
: тайм-аут запроса при получении удаленного содержимого (по умолчанию: 5 с).
getJS -url https://destroy.ai
или
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
Чтобы использовать getJS
в качестве пакета, вам необходимо импортировать пакет extractor
и напрямую использовать его функции.
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("Ошибка анализа базового URL: %v", err) }resp, err := экстрактор.FetchResponse(baseURL.String(), "GET", http.Header{})if (err != nil) {log.Fatalf("Ошибка получения ответа: %v", err) }defer resp.Body.Close()// Пользовательские точки извлечения (необязательно).extractionPoints := map[string][]string{"script": {"src", "data-src"},"a": { "href"}, }sources, err := Extractor.ExtractSources(resp.Body, ExtractPoints)if (err != nil) {log.Fatalf("Ошибка извлечения источников: %v", err) }// Фильтрация и расширение извлеченных источников.filtered, err := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("Ошибка источников фильтрации: %v", ошибка) } для источника: = фильтрация диапазона {fmt.Println(source.String()) } }
Это версия getJS
v2. Оригинальную версию можно найти под тегом v1.
Вклады приветствуются! Пожалуйста, откройте проблему или отправьте запрос на включение любых ошибок, запросов на добавление функций или улучшений.
Этот проект лицензируется по лицензии MIT. Подробности смотрите в файле ЛИЦЕНЗИИ.