
Un outil rapide pour récupérer des URLs à partir des attributs HTML par crawl-in.
__
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
Un outil rapide pour récupérer les URL à partir d'attributs HTML par crawl-in. Inspiré du Tweet de @omespino, qui permet d'extraire les valeurs src, href, url et action en évaluant JavaScript via le protocole Chrome DevTools.
L'installation est simple. Vous pouvez télécharger un binaire précompilé depuis la page des versions, le décompresser et l'exécuter ! Ou avec
▶ (sudo) curl -sSfL https://git.io/galer | sh -s -- -b /usr/local/bin
Si vous avez un compilateur go1.22+ installé et configuré :
▶ 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
Simplement, galer peut être exécuté avec :
▶ galer -u "http://domain.tld"

Ceci affiche l'aide de l'outil. Voici toutes les options qu'il supporte.
$ galer -h
__ v0.2.0
__ _ _(_ ) __ _ __
/'_ '\/'_' )| | /'__'( '__)
( (_) ( (_| || |( ___| |
'\__ '\__,_(___'\____(_)
( )_) |
\___/' @dwisiswant0
Un outil rapide pour récupérer les URL à partir d'attributs HTML par crawl-in
Utilisation :
galer -u [URL|URLs.txt] -o [output.txt]
Options :
-u, --url <URL/FICHIER> Cible à récupérer (URL unique ou liste)
-e, --extension <EXT> Afficher uniquement certaines extensions (séparées par des virgules, ex. js,php)
-c, --concurrency <N> Niveau de concurrence (défaut : 50)
-w, --wait <N> Attendre N secondes avant d'évaluer (défaut : 1)
-d, --depth <N> Profondeur max. pour le crawling (niveaux de liens à suivre)
--same-host Même hôte uniquement
--same-root Même racine (eTLD+1) uniquement (prioritaire sur --same-host)
-o, --output <FICHIER> Sauvegarder les URL récupérées dans un fichier
-T, --template <chaîne> Format pour le modèle de sortie (ex., "{{scheme}}://{{host}}{{path}}")
Variables valides : "raw_url", "scheme", "user", "username",
"password", "host", "hostname", "port", "path", "raw_path",
"escaped_path", "raw_query", "fragment", "raw_fragment".
-t, --timeout <N> Temps max. (secondes) autorisé pour la connexion (défaut : 60)
-s, --silent Mode silencieux (supprime les erreurs)
-v, --verbose Mode verbeux affiche les détails des erreurs sauf si le mode silencieux est utilisé
-h, --help Affiche cette aide
▶ galer -u "http://domain.tld"
▶ galer -u /path/to/urls.txt
▶ cat urls.txt | galer
Si vous souhaitez l'enchaîner avec d'autres outils :
▶ subfinder -d domain.tld -silent | httpx -silent | galer
Vous pouvez utiliser galer comme bibliothèque.
▶ go get github.com/dwisiswant0/galer/pkg/galer@latest
Par exemple :
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 vous êtes encore confus ou avez trouvé un bug, veuillez ouvrir un ticket. Tous les rapports de bugs sont appréciés, certaines fonctionnalités n'ont pas encore été testées par manque de temps libre.
[!CAUTION] galer n'a PAS encore atteint la version 1.0. Par conséquent, cette bibliothèque n'est actuellement pas prise en charge et n'offre pas d'API stable ; utilisez-la à vos risques et périls.
Il n'y a aucune garantie de stabilité pour les API de cette bibliothèque, et bien qu'elles ne devraient pas changer de manière radicale, des ajustements d'API et des corrections de bugs peuvent survenir.
id_ID • /gäˈlər/ — si galer ne le sentez pas, lavez-vous directement les mains, bego !
sebel est publié par @dwisiswant0 sous licence MIT. Voir LICENSE.