これは、URL および Web ページ/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": { "href"}, }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"、エラー) }ソースの場合:= フィルタリングされた範囲 {fmt.Println(source.String()) } }
これはgetJS
の v2 バージョンです。オリジナルのバージョンは、v1 タグの下にあります。
貢献は大歓迎です!バグ、機能リクエスト、改善については、問題を開くか、プル リクエストを送信してください。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。