__
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
一个通过爬取 HTML 属性快速获取 URL 的工具。灵感来源于 @omespino 的推文,该推文展示了通过 Chrome DevTools 协议执行 JavaScript 来提取 src、href、url 和 action 值的可能性。
安装很简单。你可以从 发布页面 下载预编译的二进制文件,解压后即可运行!或者使用:
▶ (sudo) curl -sSfL https://git.io/galer | sh -s -- -b /usr/local/bin
如果你已安装并配置好 go1.22+ 编译器:
▶ go install -v github.com/dwisiswant0/galer@latest
▶ git clone https://github.com/dwisiswant0/galer
▶ cd galer
▶ go build .
▶ (sudo) install galer /usr/local/bin
简单用法,运行 galer:
▶ galer -u "http://domain.tld"

这将显示工具帮助信息。以下是它支持的所有选项。
$ galer -h
__ v0.2.0
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
通过爬取 HTML 属性快速获取 URL 的工具
用法:
galer -u [URL|URLs.txt] -o [output.txt]
选项:
-u, --url <URL/文件> 目标(单个目标 URL 或列表)
-e, --extension <扩展名> 仅显示特定扩展名(逗号分隔,例如 js,php)
-c, --concurrency <N> 并发级别(默认:50)
-w, --wait <N> 评估前等待 N 秒(默认:1)
-d, --depth <N> 最大爬取深度(要跟踪的链接层级)
--same-host 仅同主机
--same-root 仅同根域 (eTLD+1)(优先级高于 --same-host)
-o, --output <文件> 将获取的 URL 输出保存到文件
-T, --template <字符串> 输出模板格式(例如 "{{scheme}}://{{host}}{{path}}")
有效变量为:"raw_url", "scheme", "user", "username",
"password", "host", "hostname", "port", "path", "raw_path",
"escaped_path", "raw_query", "fragment", "raw_fragment"。
-t, --timeout <N> 连接允许的最大时间(秒)(默认:60)
-s, --silent 静默模式(抑制错误输出)
-v, --verbose 详细模式,显示错误详情(除非使用了静默模式)
-h, --help 显示帮助
▶ galer -u "http://domain.tld"
▶ galer -u /path/to/urls.txt
▶ cat urls.txt | galer
如果你想与其他工具链式使用:
▶ subfinder -d domain.tld -silent | httpx -silent | galer
你可以将 galer 作为库使用。
▶ go get github.com/dwisiswant0/galer/pkg/galer@latest
例如:
package main
import (
"fmt"
"github.com/dwisiswant0/galer/pkg/galer"
)
func main() {
cfg := &galer.Config{
Timeout: 60,
}
cfg = galer.New(cfg)
run, err := cfg.Crawl("https://twitter.com")
if err != nil {
panic(err)
}
for _, url := range run {
fmt.Println(url)
}
}
如果你仍然感到困惑或发现了 Bug,请 提交 issue。所有 Bug 报告都将受到欢迎,由于缺乏空闲时间,某些功能尚未经过充分测试。
[!CAUTION] galer 尚未达到 1.0 版本。因此,该库目前不受支持,也不提供稳定的 API;使用风险自负。
本库中的 API 没有稳定性保证,虽然预计不会有重大变化,但 API 调整和 Bug 修复可能会发生。
id_ID • /gäˈlər/ — 如果 galer 不要闻它的气味,直接洗手,笨蛋!
sebel 由 @dwisiswant0 根据 MIT 许可证发布。详见 LICENSE。