
Ein schnelles Tool zum Abrufen von URLs aus HTML-Attributen durch Crawl-in.
__
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
Ein schnelles Tool zum Abrufen von URLs aus HTML-Attributen durch Crawlen. Inspiriert vom @omespino-Tweet, der es ermöglicht, src-, href-, url- und action-Werte durch die Auswertung von JavaScript über das Chrome DevTools-Protokoll zu extrahieren.
Die Installation ist einfach. Du kannst ein vorgefertigtes Binärpaket von der Releases-Seite herunterladen, entpacken und ausführen! Oder mit
▶ (sudo) curl -sSfL https://git.io/galer | sh -s -- -b /usr/local/bin
Wenn du einen go1.22+-Compiler installiert und konfiguriert hast:
▶ 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
Einfach gesagt, kann galer mit folgendem Befehl ausgeführt werden:
▶ galer -u "http://domain.tld"

Dies zeigt die Hilfe für das Tool an. Hier sind alle verfügbaren Optionen.
$ 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
Falls du es mit anderen Tools verketten möchtest:
▶ subfinder -d domain.tld -silent | httpx -silent | galer
Du kannst galer als Bibliothek verwenden.
▶ go get github.com/dwisiswant0/galer/pkg/galer@latest
Zum Beispiel:
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)
}
}
Wenn du noch verwirrt bist oder einen Fehler gefunden hast, öffne bitte ein Issue. Alle Fehlerberichte werden geschätzt, einige Funktionen wurden aufgrund von Zeitmangel noch nicht getestet.
[!CAUTION] galer hat noch nicht 1.0 erreicht. Daher wird diese Bibliothek derzeit nicht unterstützt und bietet keine stabile API; Verwendung auf eigene Gefahr.
Es gibt keine Garantie für Stabilität der APIs in dieser Bibliothek, und obwohl keine drastischen Änderungen erwartet werden, können API-Anpassungen und Fehlerbehebungen auftreten.
id_ID • /gäˈlər/ — Wenn es stinkt, nicht dran riechen, gleich Hände waschen, Dummkopf!
sebel wird von @dwisiswant0 unter der MIT-Lizenz veröffentlicht. Siehe LICENSE.