这是一个强大的工具,用于从 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 许可证获得许可。有关详细信息,请参阅许可证文件。