這是一個強大的工具,用於從 URL 和網頁/HTTP 回應中提取 JavaScript 來源。它提供了直接 URL 處理的命令列介面 (CLI) 和用於自訂整合的套件介面,使其成為滲透測試人員、錯誤賞金獵人和需要高效提取 JS 來源的開發人員的理想選擇。
安裝
CLI 用法
選項
範例
套餐用途
導入提取器
例子
版本資訊
貢獻
執照
若要安裝getJS
,請使用以下命令:
go install github.com/003random/getJS/v2@latest
getJS
提供了幾個命令列選項來自訂其行為:
-url string
:應從中提取 JavaScript 來源的 URL。
-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 := extractor.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" : { “參考”}, }sources, err := extractor.ExtractSources(resp.Body, extractPoints)if (err != nil) {log.Fatalf("提取來源時發生錯誤:%v", err) }// 過濾並擴展提取的sources.filtered, err := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("過濾源時出錯: %v”,錯誤) }for source := 範圍篩選 {fmt.Println(source.String()) } }
這是getJS
的 v2 版本。原始版本可以在標籤 v1 下找到。
歡迎貢獻!請針對任何錯誤、功能請求或改進提出問題或提交拉取請求。
該專案根據 MIT 許可證獲得許可。有關詳細信息,請參閱許可證文件。