
Un tool veloce per estrarre URL da attributi HTML tramite crawl-in.
__
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
Uno strumento veloce per ottenere URL dagli attributi HTML tramite crawling. Ispirato dal tweet di @omespino, che permette di estrarre i valori di src, href, url e action valutando JavaScript attraverso il protocollo Chrome DevTools.
L'installazione è semplice. Puoi scaricare un binario precompilato dalla pagina delle release, decomprimere ed eseguire! oppure con
▶ (sudo) curl -sSfL https://git.io/galer | sh -s -- -b /usr/local/bin
Se hai il compilatore go1.22+ installato e configurato:
▶ 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
Semplicemente, galer può essere eseguito con:
▶ galer -u "http://domain.tld"

Questo mostrerà l'aiuto per lo strumento. Qui ci sono tutte le opzioni supportate.
$ 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
Nel caso si voglia concatenare con altri strumenti:
▶ subfinder -d domain.tld -silent | httpx -silent | galer
Puoi usare galer come libreria.
▶ go get github.com/dwisiswant0/galer/pkg/galer@latest
Ad esempio:
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)
}
}
Se sei ancora confuso o hai trovato un bug, per favore apri un problema. Tutte le segnalazioni di bug sono apprezzate, alcune funzionalità non sono state ancora testate a causa della mancanza di tempo libero.
[!CAUTION] galer non ha ancora raggiunto la versione 1.0. Pertanto, questa libreria al momento non è supportata e non offre un'API stabile; usala a tuo rischio.
Non ci sono garanzie di stabilità per le API in questa libreria, e anche se non ci si aspetta che cambino drasticamente, potrebbero verificarsi modifiche alle API e correzioni di bug.
id_ID • /gäˈlər/ — se galer non odorarlo, lavati subito le mani, sciocco!
sebel è rilasciato da @dwisiswant0 sotto licenza MIT. Vedi LICENSE.