Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
urx — Extrait des URL d'archives OSINT pour des informations de sécurité | Kitploit
Outils/GitHubGitHub/hahwul/urx
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsSécurité WebCrawler
GitHubhahwul/urx

urx

Extrait des URL d'archives OSINT pour des informations de sécurité

Voir le dépôt
19020il y a 6 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web
Logo Urx

Extrait les URL des archives OSINT pour des informations de sécurité.

Urx est un outil en ligne de commande conçu pour collecter des URL à partir d'archives OSINT, comme la Wayback Machine et Common Crawl. Construit en Rust pour l'efficacité, il utilise le traitement asynchrone pour interroger rapidement plusieurs sources de données. Cet outil simplifie le processus de collecte d'informations sur les URL pour un domaine spécifié, fournissant un ensemble de données complet qui peut être utilisé à diverses fins, notamment les tests de sécurité et l'analyse.

Fonctionnalités

  • Récupérer les URL de plusieurs sources en parallèle (Wayback Machine, Common Crawl, OTX, Arquivo.pt)
  • Sans clé par défaut : Wayback, Common Crawl, OTX, Arquivo.pt et URLScan (anonyme) fonctionnent tous sans clé API
  • Prise en charge de la rotation des clés API pour les fournisseurs VirusTotal et URLScan afin d'atténuer les limites de débit
  • Filtrer les résultats par extensions de fichier, motifs ou préréglages prédéfinis (par exemple, "no-image" pour exclure les images)
  • Normalisation et déduplication des URL : Trier les paramètres de requête, supprimer les barres obliques de fin et fusionner les URL sémantiquement identiques
  • Prise en charge de plusieurs formats de sortie : texte brut, JSON, CSV
  • Prise en charge directe des fichiers d'entrée : Lire les URL directement à partir de fichiers WARC, fichiers compressés URLTeam et fichiers texte
  • Sortie des résultats vers la console ou un fichier, ou flux via stdin pour une intégration en pipeline
  • Test des URL :
    • Filtrer et valider les URL en fonction des codes d'état HTTP et des motifs.
    • Extraire les liens supplémentaires à partir des URL collectées
  • Mise en cache et analyse incrémentielle :
    • Mise en cache locale SQLite ou distante Redis pour éviter de ré-analyser les domaines
    • Mode incrémentiel pour découvrir uniquement les nouvelles URL depuis la dernière analyse
    • TTL de cache configurable et nettoyage automatique des entrées expirées

Aperçu

Installation

Depuis Cargo

root@kitploit:~
# https://crates.io/crates/urx
cargo install urx

Depuis Homebrew

root@kitploit:~
# https://formulae.brew.sh/formula/urx
brew install urx

Depuis les sources

root@kitploit:~
git clone https://github.com/hahwul/urx.git
cd urx
cargo build --release

Le binaire compilé sera disponible dans target/release/urx.

Depuis Docker

ghcr.io/hahwul/urx

Utilisation

Utilisation de base

root@kitploit:~
# Analyser un seul domaine
urx example.com

# Analyser plusieurs domaines
urx example.com example.org

# Analyser des domaines à partir d'un fichier
cat domains.txt | urx

Options

root@kitploit:~
Usage: urx [OPTIONS] [DOMAINS]...

Arguments:
  [DOMAINS]...  Domaines pour lesquels récupérer les URL

Options:
  -c, --config <CONFIG>           Fichier de configuration à charger
      --provider-config <PATH>    Fichier de configuration séparé pour les fournisseurs contenant uniquement les clés API (par défaut : $XDG_CONFIG_HOME/urx/provider-config.toml). CLI/env > provider-config > configuration principale.
  -h, --help             Afficher l'aide
  -V, --version          Afficher la version

Options d'entrée :
      --files <FILES>...        Lire les URL directement à partir de fichiers (prend en charge WARC, fichiers compressés URLTeam et fichiers texte)
      --domain-list <PATH>      Fichier de domaines séparés par des sauts de ligne à analyser (répétable ; fusionné avec les DOMAINS positionnels et stdin ; les commentaires `#` sont autorisés)

Options de sortie :
  -o, --output <OUTPUT>          Fichier de sortie pour écrire les résultats
      --output-dir <PATH>        Écrire un fichier par domaine dans ce répertoire (l'extension correspond à --format). Coexiste avec --output / stdout.
  -f, --format <FORMAT>          Format de sortie (p. ex. "plain", "json", "csv") [défaut : plain]
      --merge-endpoint   Fusionner les points de terminaison avec le même chemin et fusionner les paramètres d'URL
      --normalize-url    Normaliser les URL pour une meilleure déduplication (trier les paramètres de requête, supprimer les barres obliques de fin)

Options des fournisseurs :
      --providers <PROVIDERS>
          Fournisseurs à utiliser (séparés par des virgules, p. ex. "wayback,cc,otx,arquivo,vt,urlscan") [défaut : wayback,cc,otx]
      --exclude-providers <EXCLUDE_PROVIDERS>
          Fournisseurs à exclure (séparés par des virgules). Gagne en cas de conflit avec --providers / --all-providers.
      --all-providers
          Activer tous les fournisseurs pris en charge. Les fournisseurs nécessitant une clé API ne sont activés que si une clé est disponible.
      --list-providers
          Lister tous les fournisseurs pris en charge puis quitter.
      --subs
          Inclure les sous-domaines lors de la recherche
      --cc-index <CC_INDEX>
          Index Common Crawl à utiliser ; accepte une liste séparée par des virgules pour interroger plusieurs index en parallèle (p. ex. `CC-MAIN-2026-17,CC-MAIN-2025-51`). `latest` (la valeur par défaut) résout le plus récent via collinfo.json. [défaut : latest]
      --wayback-from <DATE>
          Restreindre les résultats de Wayback Machine aux instantanés à partir de DATE (YYYY/YYYYMM/YYYYMMDD/YYYYMMDDhhmmss)
      --wayback-to <DATE>
          Restreindre les résultats de Wayback Machine aux instantanés jusqu'à DATE (même format que --wayback-from)
      --vt-api-key <VT_API_KEY>
          Clé API pour VirusTotal (peut être utilisée plusieurs fois pour la rotation, peut également utiliser la variable d'environnement URX_VT_API_KEY avec des clés séparées par des virgules)
      --urlscan-api-key <URLSCAN_API_KEY>
          Clé API facultative pour Urlscan ; le fournisseur fonctionne également de manière anonyme (limité ~30 req/min par IP). Peut être utilisée plusieurs fois pour la rotation, ou via URX_URLSCAN_API_KEY (clés séparées par des virgules)
      --github-api-key <GITHUB_API_KEY>
          Jeton d'accès personnel pour le fournisseur GitHub Code Search (lit également URX_GITHUB_API_KEY, séparé par des virgules pour la rotation)

Options de découverte :
      --exclude-robots   Exclure la découverte robots.txt
      --exclude-sitemap  Exclure la découverte sitemap.xml

Options d'affichage :
  -v, --verbose       Afficher la sortie détaillée
      --silent        Mode silencieux (aucune sortie)
      --no-progress   Pas de barre de progression
      --show-sources  Annoter les URL de sortie avec les fournisseurs qui les ont retournées
      --stats         Afficher un résumé par fournisseur sur stderr à la fin de l'exécution

Options de filtrage :
  -p, --preset <PRESET>
          Préréglages de filtre (p. ex. "no-resources,no-images,no-audio,only-js,only-style")
  -e, --extensions <EXTENSIONS>
          Filtrer les URL pour n'inclure que celles avec des extensions spécifiques (séparées par des virgules, p. ex. "js,php,aspx")
      --exclude-extensions <EXCLUDE_EXTENSIONS>
          Filtrer les URL pour exclure celles avec des extensions spécifiques (séparées par des virgules, p. ex. "html,txt")
      --patterns <PATTERNS>
          Filtrer les URL pour n'inclure que celles contenant des motifs spécifiques (séparés par des virgules)
      --exclude-patterns <EXCLUDE_PATTERNS>
          Filtrer les URL pour exclure celles contenant des motifs spécifiques (séparés par des virgules)
      --show-only-host
          Afficher uniquement la partie hôte des URL
      --show-only-path
          Afficher uniquement la partie chemin des URL
      --show-only-param
          Afficher uniquement la partie paramètres des URL
      --min-length <MIN_LENGTH>
          Longueur minimale d'URL à inclure
      --max-length <MAX_LENGTH>
          Longueur maximale d'URL à inclure
      --strict
          Appliquer une validation stricte de l'hôte (par défaut)

Options réseau :
      --network-scope <NETWORK_SCOPE>  Contrôler à quels composants les paramètres réseau s'appliquent (all, providers, testers, ou providers,testers) [défaut : all]
      --proxy <PROXY>                  Utiliser un proxy pour les requêtes HTTP (format : <http://proxy.example.com:8080>)
      --proxy-auth <PROXY_AUTH>        Informations d'authentification du proxy (format : username:password)
      --insecure                       Ignorer la vérification du certificat SSL (accepter les certificats auto-signés)
      --random-agent                   Utiliser un User-Agent aléatoire pour les requêtes HTTP
      --timeout <TIMEOUT>              Délai d'expiration des requêtes en secondes [défaut : 120]
      --retries <RETRIES>              Nombre de tentatives pour les requêtes échouées [défaut : 2]
      --parallel <PARALLEL>            Nombre maximum de domaines récupérés simultanément par fournisseur (et tests d'URL simultanés) ; la --rate-limit d'un fournisseur est partagée entre eux [défaut : 5]
      --rate-limit <RATE_LIMIT>        Limite de débit (requêtes par seconde)
      --rate-limit-by <PAIRS>          Surcharges de débit par fournisseur (p. ex. `vt=1,wayback=10`) ; utilise --rate-limit pour les fournisseurs non listés
      --max-time <MAX_TIME>            Limite globale de temps d'énumération du fournisseur en secondes (0 = illimité) [défaut : 0]

Options de test :
      --check-status
          Vérifier le code d'état HTTP des URL collectées [alias : ----cs]
      --include-status <INCLUDE_STATUS>
          Inclure les URL avec des codes d'état HTTP ou motifs spécifiques (p. ex. --is=200,30x) [alias : ----is]
      --exclude-status <EXCLUDE_STATUS>
          Exclure les URL avec des codes d'état HTTP ou motifs spécifiques (p. ex. --es=404,50x,5xx) [alias : ----es]
      --extract-links
          Extraire les liens supplémentaires à partir des URL collectées (nécessite des requêtes HTTP)

Exemples

root@kitploit:~
# Sauvegarder les résultats dans un fichier
urx example.com -o results.txt

# Sortie au format JSON
urx example.com -f json -o results.json

# Filtrer uniquement les fichiers JavaScript
urx example.com -e js

# Exclure les fichiers HTML et texte
urx example.com --exclude-extensions html,txt

# Filtrer les points de terminaison API
urx example.com --patterns api,v1,graphql

# Exclure des motifs spécifiques
urx example.com --exclude-patterns static,images

# Utiliser un préréglage de filtre (similaire à --exclude-extensions=png,jpg,.....)
urx example.com -p no-images

# Utiliser des fournisseurs spécifiques
urx example.com --providers wayback,otx

# Ajouter le fournisseur Arquivo.pt (archive web portugaise) sans clé
urx example.com --providers wayback,cc,otx,arquivo

# URLScan fonctionne sans clé (anonyme, limité en débit) ; une clé augmente les limites
urx example.com --providers urlscan

# Utiliser les fournisseurs VirusTotal et URLScan
# 1. Ajout explicite aux fournisseurs (avec clés API en ligne de commande)
urx example.com --providers=vt,urlscan --vt-api-key=*** --urlscan-api-key=***

# 2. Utilisation des variables d'environnement pour les clés API
URX_VT_API_KEY=*** URX_URLSCAN_API_KEY=*** urx example.com --providers=vt,urlscan

# 3. Activation automatique : les fournisseurs sont automatiquement ajoutés lorsque des clés API sont fournies
urx example.com --vt-api-key=*** --urlscan-api-key=*** # Pas besoin de spécifier dans --providers

# 4. Rotation de plusieurs clés API (pour atténuer les limites de débit)
# Utilisation de drapeaux répétés pour plusieurs clés
urx example.com --vt-api-key=key1 --vt-api-key=key2 --vt-api-key=key3

# Utilisation de variables d'environnement avec des clés séparées par des virgules
URX_VT_API_KEY=key1,key2,key3 URX_URLSCAN_API_KEY=ukey1,ukey2 urx example.com

# Combinaison des drapeaux CLI et des variables d'environnement (les clés CLI sont utilisées en premier)
URX_VT_API_KEY=env_key1,env_key2 urx example.com --vt-api-key=cli_key1 --vt-api-key=cli_key2

# Les URL provenant de robots.txt et sitemap.xml sont incluses par défaut

# Exclure les URL des fichiers robots.txt
urx example.com --exclude-robots

# Exclure les URL du sitemap
urx example.com --exclude-sitemap

# Inclure les sous-domaines
urx example.com --subs

# Vérifier l'état des URL collectées
urx example.com --check-status

# Lire les URL directement à partir d'un fichier texte
urx --files urls.txt

# Combiner l'entrée fichier avec le filtrage
urx --files urls.txt --patterns api,admin -f json

# Extraire les liens supplémentaires à partir des URL collectées
urx example.com --extract-links

# Configuration réseau
urx example.com --proxy http://localhost:8080 --timeout 60 --parallel 10 --insecure

# Filtrage avancé
urx example.com -e js,php --patterns admin,login --exclude-patterns logout,static --min-length 20

# Filtrage basé sur le code d'état HTTP
urx example.com --include-status 200,30x,405 --exclude-status 20x

# Désactiver la validation de l'hôte
urx example.com --strict false

# Normalisation et déduplication des URL
# Normaliser les URL en triant les paramètres de requête et en supprimant les barres obliques de fin
urx example.com --normalize-url

# Combiner la normalisation avec la fusion des points de terminaison pour une déduplication complète
urx example.com --normalize-url --merge-endpoint

# Normalisation des URL avec entrée fichier
urx --files urls.txt --normalize-url

Mise en cache et analyse incrémentielle

Urx prend en charge la mise en cache pour améliorer les performances lors des analyses répétées et l'analyse incrémentielle pour découvrir uniquement les nouvelles URL.

root@kitploit:~
# Activer la mise en cache avec SQLite (par défaut)
urx example.com --cache-type sqlite --cache-path ~/.urx/cache.db

# Utiliser Redis pour la mise en cache distribuée
urx example.com --cache-type redis --redis-url redis://localhost:6379

# Analyse incrémentielle - afficher uniquement les nouvelles URL depuis la dernière analyse
urx example.com --incremental

# Définir le TTL du cache (durée de vie) à 12 heures
urx example.com --cache-ttl 43200

# Désactiver complètement la mise en cache
urx example.com --no-cache

# Combiner l'analyse incrémentielle avec les filtres
urx example.com --incremental -e js,php --patterns api

# Fichier de configuration avec les paramètres de mise en cache
urx -c example/config.toml example.com

Cas d'utilisation de la mise en cache

root@kitploit:~
# Surveillance quotidienne - n'alerter que sur les nouvelles URL
urx target.com --incremental --silent | notify-tool

# Traitement efficace de listes de domaines
cat domains.txt | urx --incremental --cache-ttl 3600 > new_urls.txt

# Analyse en équipe distribuée avec Redis
urx example.com --cache-type redis --redis-url redis://shared-cache:6379

# Ré-analyses rapides pendant le développement
urx test-domain.com --cache-ttl 300  # Cache de 5 minutes pour itérations rapides

Intégration avec d'autres outils

Urx fonctionne bien dans les pipelines avec d'autres outils de sécurité et de reconnaissance :

root@kitploit:~
# Trouver des domaines, puis découvrir des URL
echo "example.com" | urx | grep "login" > potential_targets.txt

# Combiner avec d'autres outils
cat domains.txt | urx --patterns api | other-tool

Inspiration

Urx a été inspiré par gau (GetAllUrls), un outil qui récupère les URL connues à partir d'AlienVault Open Threat Exchange, de la Wayback Machine et de Common Crawl. Tout en partageant des fonctionnalités de base similaires, Urx a été construit de zéro en Rust en mettant l'accent sur les performances, la concurrence et des capacités de filtrage étendues.

Contribuer

Urx est un projet open source et a été réalisé avec ❤️ Si vous souhaitez contribuer à ce projet, veuillez consulter CONTRIBUTING.md et soumettre une Pull Request avec votre contenu sympa.

Télécharger l’outil