Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
urx — Estrae URL dagli archivi OSINT per approfondimenti sulla sicurezza | Kitploit
Strumenti/GitHubGitHub/hahwul/urx
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniSicurezza WebCrawler
GitHubhahwul/urx

urx

Estrae URL dagli archivi OSINT per approfondimenti sulla sicurezza

Vedi Repository
1902099h 2m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web
Logo di Urx

Estrae URL da archivi OSINT per approfondimenti sulla sicurezza.

Urx è uno strumento da riga di comando progettato per raccogliere URL da archivi OSINT, come Wayback Machine e Common Crawl. Costruito con Rust per l'efficienza, sfrutta l'elaborazione asincrona per interrogare rapidamente molteplici fonti di dati. Questo strumento semplifica il processo di raccolta delle informazioni sugli URL per un dominio specificato, fornendo un dataset completo che può essere utilizzato per vari scopi, inclusi test di sicurezza e analisi.

Caratteristiche

  • Recupera URL da più fonti in parallelo (Wayback Machine, Common Crawl, OTX, Arquivo.pt)
  • Senza chiave di default: Wayback, Common Crawl, OTX, Arquivo.pt e URLScan (anonimo) funzionano tutti senza una chiave API
  • Supporto per la rotazione delle chiavi API per i provider VirusTotal e URLScan per mitigare i limiti di velocità
  • Filtra i risultati per estensioni di file, pattern o preset predefiniti (es. "no-image" per escludere le immagini)
  • Normalizzazione e deduplicazione degli URL: ordina i parametri di query, rimuovi gli slash finali e unisci URL semanticamente identici
  • Supporto per più formati di output: testo semplice, JSON, CSV
  • Supporto per input diretto da file: Leggi URL direttamente da file WARC, file compressi URLTeam e file di testo
  • Output dei risultati sulla console o su un file, o streaming tramite stdin per l'integrazione in pipeline
  • Test URL: Filtra e valida gli URL in base a codici di stato HTTP e pattern. Estrai link aggiuntivi dagli URL raccolti
  • Caching e Scansione Incrementale: Caching locale SQLite o remoto Redis per evitare di scansionare nuovamente i domini; Modalità incrementale per scoprire solo nuovi URL dall'ultima scansione; TTL della cache configurabile e pulizia automatica delle voci scadute

Anteprima

Installazione

Da Cargo

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

Da Homebrew

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

Da sorgente

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

Il binario compilato sarà disponibile in target/release/urx.

Da Docker

ghcr.io/hahwul/urx

Utilizzo

Utilizzo di base

root@kitploit:~
# Scan a single domain
urx example.com

# Scan multiple domains
urx example.com example.org

# Scan domains from a file
cat domains.txt | urx

Opzioni

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

Arguments:
  [DOMAINS]...  Domini per cui recuperare URL

Options:
  -c, --config <CONFIG>           File di configurazione da caricare
      --provider-config <PATH>    File di configurazione del provider separato che contiene solo le chiavi API (default: $XDG_CONFIG_HOME/urx/provider-config.toml). CLI/env > provider-config > config principale.
  -h, --help             Mostra aiuto
  -V, --version          Mostra versione

Input Options:
      --files <FILES>...        Leggi URL direttamente da file (supporta WARC, file compressi URLTeam e file di testo)
      --domain-list <PATH>      File di domini separati da newline da scansionare (ripetibile; unito con DOMAINS posizionali e stdin; commenti `#` consentiti)

Output Options:
  -o, --output <OUTPUT>          File di output in cui scrivere i risultati
      --output-dir <PATH>        Scrivi un file per dominio in questa directory (l'estensione corrisponde a --format). Coesiste con --output / stdout.
  -f, --format <FORMAT>          Formato di output (es. "plain", "json", "csv") [default: plain]
      --merge-endpoint   Unisci endpoint con lo stesso percorso e unisci i parametri URL
      --normalize-url    Normalizza gli URL per una migliore deduplicazione (ordina i parametri di query, rimuove gli slash finali)

Provider Options:
      --providers <PROVIDERS>
          Provider da utilizzare (separati da virgola, es. "wayback,cc,otx,arquivo,vt,urlscan") [default: wayback,cc,otx]
      --exclude-providers <EXCLUDE_PROVIDERS>
          Provider da escludere (separati da virgola). Vince in caso di conflitto con --providers / --all-providers.
      --all-providers
          Abilita tutti i provider supportati. I provider con chiave API si attivano solo quando una chiave è disponibile.
      --list-providers
          Elenca tutti i provider supportati ed esci.
      --subs
          Includi sottodomini durante la ricerca
      --cc-index <CC_INDEX>
          Indice Common Crawl da utilizzare; accetta elenco separato da virgole per interrogare più indici in parallelo (es. `CC-MAIN-2026-17,CC-MAIN-2025-51`). `latest` (default) risolve il più recente tramite collinfo.json. [default: latest]
      --wayback-from <DATE>
          Limita i risultati di Wayback Machine agli snapshot in o dopo DATA (YYYY/YYYYMM/YYYYMMDD/YYYYMMDDhhmmss)
      --wayback-to <DATE>
          Limita i risultati di Wayback Machine agli snapshot in o prima di DATA (stesso formato di --wayback-from)
      --vt-api-key <VT_API_KEY>
          Chiave API per VirusTotal (può essere usata più volte per rotazione, può anche usare la variabile d'ambiente URX_VT_API_KEY con chiavi separate da virgola)
      --urlscan-api-key <URLSCAN_API_KEY>
          Chiave API opzionale per Urlscan; il provider funziona anche in anonimo (limitato a ~30 req/min per IP). Può essere usata più volte per rotazione, o tramite URX_URLSCAN_API_KEY (chiavi separate da virgola)
      --github-api-key <GITHUB_API_KEY>
          Token di accesso personale per il provider GitHub Code Search (legge anche URX_GITHUB_API_KEY, separato da virgole per rotazione)

Discovery Options:
      --exclude-robots   Escludi scoperta di robots.txt
      --exclude-sitemap  Escludi scoperta di sitemap.xml

Display Options:
  -v, --verbose       Mostra output dettagliato
      --silent        Modalità silenziosa (nessun output)
      --no-progress   Nessuna barra di avanzamento
      --show-sources  Annota gli URL di output con i provider che li hanno restituiti
      --stats         Stampa un riepilogo per provider su stderr al termine dell'esecuzione

Filter Options:
  -p, --preset <PRESET>
          Preset di filtro (es. "no-resources,no-images,no-audio,only-js,only-style")
  -e, --extensions <EXTENSIONS>
          Filtra gli URL per includere solo quelli con estensioni specifiche (separate da virgola, es. "js,php,aspx")
      --exclude-extensions <EXCLUDE_EXTENSIONS>
          Filtra gli URL per escludere quelli con estensioni specifiche (separate da virgola, es. "html,txt")
      --patterns <PATTERNS>
          Filtra gli URL per includere solo quelli contenenti pattern specifici (separati da virgola)
      --exclude-patterns <EXCLUDE_PATTERNS>
          Filtra gli URL per escludere quelli contenenti pattern specifici (separati da virgola)
      --show-only-host
          Mostra solo la parte host degli URL
      --show-only-path
          Mostra solo la parte path degli URL
      --show-only-param
          Mostra solo la parte dei parametri degli URL
      --min-length <MIN_LENGTH>
          Lunghezza minima dell'URL da includere
      --max-length <MAX_LENGTH>
          Lunghezza massima dell'URL da includere
      --strict
          Applica validazione esatta dell'host (default)

Network Options:
      --network-scope <NETWORK_SCOPE>  Controlla a quali componenti si applicano le impostazioni di rete (all, providers, testers, o providers,testers) [default: all]
      --proxy <PROXY>                  Usa proxy per richieste HTTP (formato: <http://proxy.example.com:8080>)
      --proxy-auth <PROXY_AUTH>        Credenziali di autenticazione proxy (formato: username:password)
      --insecure                       Salta la verifica del certificato SSL (accetta certificati autofirmati)
      --random-agent                   Usa un User-Agent casuale per le richieste HTTP
      --timeout <TIMEOUT>              Timeout richiesta in secondi [default: 120]
      --retries <RETRIES>              Numero di tentativi per richieste fallite [default: 2]
      --parallel <PARALLEL>            Numero massimo di domini recuperati contemporaneamente per provider (e test URL simultanei); il --rate-limit di un provider è condiviso tra di essi [default: 5]
      --rate-limit <RATE_LIMIT>        Limite di velocità (richieste al secondo)
      --rate-limit-by <PAIRS>          Override dei limiti di velocità per provider (es. `vt=1,wayback=10`); si basa su --rate-limit per i provider non elencati
      --max-time <MAX_TIME>            Limite massimo globale sul tempo di enumerazione del provider in secondi (0 = illimitato) [default: 0]

Testing Options:
      --check-status
          Controlla il codice di stato HTTP degli URL raccolti [alias: ----cs]
      --include-status <INCLUDE_STATUS>
          Includi URL con codici di stato HTTP o pattern specifici (es. --is=200,30x) [alias: ----is]
      --exclude-status <EXCLUDE_STATUS>
          Escludi URL con codici di stato HTTP o pattern specifici (es. --es=404,50x,5xx) [alias: ----es]
      --extract-links
          Estrai link aggiuntivi dagli URL raccolti (richiede richieste HTTP)

Esempi

root@kitploit:~
# Save results to a file
urx example.com -o results.txt

# Output in JSON format
urx example.com -f json -o results.json

# Filter for JavaScript files only
urx example.com -e js

# Exclude HTML and text files
urx example.com --exclude-extensions html,txt

# Filter for API endpoints
urx example.com --patterns api,v1,graphql

# Exclude specific patterns
urx example.com --exclude-patterns static,images

# Use Fileter Preset (similar to --exclude-extensions=png,jpg,.....)
urx example.com -p no-images

# Use specific providers
urx example.com --providers wayback,otx

# Add the keyless Arquivo.pt (Portuguese web archive) provider
urx example.com --providers wayback,cc,otx,arquivo

# URLScan works without a key (anonymous, rate-limited); a key just raises limits
urx example.com --providers urlscan

# Using VirusTotal and URLScan providers
# 1. Explicitly add to providers (with API keys via command line)
urx example.com --providers=vt,urlscan --vt-api-key=*** --urlscan-api-key=***

# 2. Using environment variables for API keys
URX_VT_API_KEY=*** URX_URLSCAN_API_KEY=*** urx example.com --providers=vt,urlscan

# 3. Auto-enabling: providers are automatically added when API keys are provided
urx example.com --vt-api-key=*** --urlscan-api-key=*** # No need to specify in --providers

# 4. Multiple API key rotation (to mitigate rate limits)
# Using repeated flags for multiple keys
urx example.com --vt-api-key=key1 --vt-api-key=key2 --vt-api-key=key3

# Using environment variables with comma-separated keys
URX_VT_API_KEY=key1,key2,key3 URX_URLSCAN_API_KEY=ukey1,ukey2 urx example.com

# Combining CLI flags and environment variables (CLI keys are used first)
URX_VT_API_KEY=env_key1,env_key2 urx example.com --vt-api-key=cli_key1 --vt-api-key=cli_key2

# URLs from robots.txt and sitemap.xml are included by default

# Exclude URLs from robots.txt files
urx example.com --exclude-robots

# Exclude URLs from sitemap
urx example.com --exclude-sitemap

# Include subdomains
urx example.com --subs

# Check status of collected URLs
urx example.com --check-status

# Read URLs directly from a text file
urx --files urls.txt

# Combine file input with filtering
urx --files urls.txt --patterns api,admin -f json

# Extract additional links from collected URLs
urx example.com --extract-links

# Network configuration
urx example.com --proxy http://localhost:8080 --timeout 60 --parallel 10 --insecure

# Advanced filtering
urx example.com -e js,php --patterns admin,login --exclude-patterns logout,static --min-length 20

# HTTP Status code based filtering
urx example.com --include-status 200,30x,405 --exclude-status 20x

# Disable host validation
urx example.com --strict false

# URL normalization and deduplication
# Normalize URLs by sorting query parameters and removing trailing slashes
urx example.com --normalize-url

# Combine normalization with endpoint merging for comprehensive deduplication
urx example.com --normalize-url --merge-endpoint

# URL normalization with file input
urx --files urls.txt --normalize-url

Caching e Scansione Incrementale

Urx supporta la cache per migliorare le prestazioni nelle scansioni ripetute e la scansione incrementale per scoprire solo nuovi URL.

root@kitploit:~
# Enable caching with SQLite (default)
urx example.com --cache-type sqlite --cache-path ~/.urx/cache.db

# Use Redis for distributed caching
urx example.com --cache-type redis --redis-url redis://localhost:6379

# Incremental scanning - only show new URLs since last scan
urx example.com --incremental

# Set cache TTL (time-to-live) to 12 hours
urx example.com --cache-ttl 43200

# Disable caching entirely
urx example.com --no-cache

# Combine incremental scanning with filters
urx example.com --incremental -e js,php --patterns api

# Configuration file with caching settings
urx -c example/config.toml example.com

Casi d'uso della cache

root@kitploit:~
# Daily monitoring - only alert on new URLs
urx target.com --incremental --silent | notify-tool

# Efficient domain lists processing
cat domains.txt | urx --incremental --cache-ttl 3600 > new_urls.txt

# Distributed team scanning with Redis
urx example.com --cache-type redis --redis-url redis://shared-cache:6379

# Fast re-scans during development
urx test-domain.com --cache-ttl 300  # 5-minute cache for rapid iterations

Integrazione con Altri Strumenti

Urx funziona bene in pipeline con altri strumenti di sicurezza e ricognizione:

root@kitploit:~
# Find domains, then discover URLs
echo "example.com" | urx | grep "login" > potential_targets.txt

# Combine with other tools
cat domains.txt | urx --patterns api | other-tool

Ispirazione

Urx è stato ispirato da gau (GetAllUrls), uno strumento che recupera URL noti da AlienVault Open Threat Exchange, Wayback Machine e Common Crawl. Pur condividendo funzionalità di base simili, Urx è stato costruito da zero in Rust con un focus su prestazioni, concorrenza e capacità di filtraggio ampliate.

Contribuisci

Urx è un progetto open source ed è realizzato con ❤️ se vuoi contribuire a questo progetto, consulta CONTRIBUTING.md e fai una Pull-Request con i tuoi fantastici contenuti.

Scarica lo strumento