
Una herramienta rápida para obtener URLs de atributos HTML mediante rastreo.
__
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
Una herramienta rápida para obtener URLs de atributos HTML mediante rastreo. Inspirada en el tweet de @omespino, que permite extraer valores src, href, url y action evaluando JavaScript a través del Protocolo Chrome DevTools.
La instalación es sencilla. Puedes descargar un binario precompilado desde la página de lanzamientos, descomprimirlo y ejecutarlo. O con
▶ (sudo) curl -sSfL https://git.io/galer | sh -s -- -b /usr/local/bin
Si tienes el compilador go1.22+ instalado y configurado:
▶ 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
Simplemente, galer se puede ejecutar con:
▶ galer -u "http://domain.tld"

Esto mostrará la ayuda de la herramienta. Aquí están todas las opciones que soporta.
$ galer -h
__ v0.2.0
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
A fast tool to fetch URLs from HTML attributes by crawl-in
Usage:
galer -u [URL|URLs.txt] -o [output.txt]
Options:
-u, --url <URL/FILE> Target to fetches (single target URL or list)
-e, --extension <EXT> Show only certain extensions (comma-separated, e.g. js,php)
-c, --concurrency <N> Concurrency level (default: 50)
-w, --wait <N> Wait N seconds before evaluate (default: 1)
-d, --depth <N> Max. depth for crawling (levels of links to follow)
--same-host Same host only
--same-root Same root (eTLD+1) only (takes precedence over --same-host)
-o, --output <FILE> Save fetched URLs output into file
-T, --template <string> Format for output template (e.g., "{{scheme}}://{{host}}{{path}}")
Valid variables are: "raw_url", "scheme", "user", "username",
"password", "host", "hostname", "port", "path", "raw_path",
"escaped_path", "raw_query", "fragment", "raw_fragment".
-t, --timeout <N> Max. time (seconds) allowed for connection (default: 60)
-s, --silent Silent mode (suppress an errors)
-v, --verbose Verbose mode show error details unless you weren't use silent
-h, --help Display its helps
▶ galer -u "http://domain.tld"
▶ galer -u /path/to/urls.txt
▶ cat urls.txt | galer
En caso de que quieras encadenarlo con otras herramientas:
▶ subfinder -d domain.tld -silent | httpx -silent | galer
Puedes usar galer como librería.
▶ go get github.com/dwisiswant0/galer/pkg/galer@latest
Por ejemplo:
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)
}
}
Si aún tienes dudas o encuentras un error, por favor abre un issue. Todos los reportes de errores son apreciados, algunas funcionalidades no han sido probadas aún debido a falta de tiempo libre.
[!CAUTION] galer aún NO ha alcanzado la versión 1.0. Por lo tanto, esta librería actualmente no tiene soporte y no ofrece una API estable; úsala bajo tu propio riesgo.
No hay garantías de estabilidad para las APIs de esta librería, y aunque no se espera que cambien drásticamente, pueden ocurrir ajustes en la API y correcciones de errores.
id_ID • /gäˈlər/ — kalau galer jangan dicium baunya, langsung cuci tangan, bego!
sebel es liberado por @dwisiswant0 bajo la licencia MIT. Ver LICENSE.