hahwul/urx
GitHub: hahwul/urx
从OSINT归档中高效提取历史URL的安全侦察工具,支持多源并行采集、智能过滤和缓存增量扫描。
Stars: 176 | Forks: 17
Extracts URLs from OSINT Archives for Security Insights.
Urx 是一款命令行工具,旨在从 OSINT 归档(如 Wayback Machine 和 Common Crawl)中收集 URL。该工具使用 Rust 构建以确保效率,并利用异步处理快速查询多个数据源。Urx 简化了为指定域收集 URL 信息的过程,提供了一个可用于多种用途(包括安全测试和分析)的综合数据集。
## 功能特性
* 并行从多个来源(Wayback Machine, Common Crawl, OTX)获取 URL
* 支持 VirusTotal 和 URLScan 提供商的 API 密钥轮换,以缓解速率限制
* 根据文件扩展名、模式或预定义预设过滤结果(例如,“no-image” 排除图片)
* URL 规范化和去重:对查询参数进行排序,移除尾部斜杠,并合并语义相同的 URL
* 支持多种输出格式:纯文本、JSON、CSV
* 直接文件输入支持:直接从 WARC 文件、URLTeam 压缩文件和文本文件中读取 URL
* 将结果输出到控制台或文件,或通过 stdin 流式传输以便集成到管道中
* URL 测试:
* 根据 HTTP 状态码和模式过滤及验证 URL。
* 从收集到的 URL 中提取额外的链接
* 缓存和增量扫描:
* 本地 SQLite 或远程 Redis 缓存,避免重复扫描域
* 增量模式,仅发现上次扫描以来的新 URL
* 可配置的缓存 TTL 和过期条目的自动清理

## 安装说明
### 通过 Cargo
```
# https://crates.io/crates/urx
cargo install urx
```
### 通过 Homebrew
```
# https://formulae.brew.sh/formula/urx
brew install urx
```
### 通过源码
```
git clone https://github.com/hahwul/urx.git
cd urx
cargo build --release
```
编译后的二进制文件将位于 `target/release/urx`。
### 通过 Docker
[ghcr.io/hahwul/urx](https://github.com/hahwul/urx/pkgs/container/urx)
## 用法
### 基本用法
```
# 扫描单个域名
urx example.com
# 扫描多个域名
urx example.com example.org
# 从文件扫描域名
cat domains.txt | urx
```
### 选项
```
Usage: urx [OPTIONS] [DOMAINS]...
Arguments:
[DOMAINS]... Domains to fetch URLs for
Options:
-c, --config
Config file to load
-h, --help Print help
-V, --version Print version
Input Options:
--files ... Read URLs directly from files (supports WARC, URLTeam compressed, and text files). Use multiple --files flags or space-separate multiple files
Output Options:
-o, --output 标签:API密钥轮换, Ask搜索, ESC4, OSINT, OTX, Rust, URL提取, VirusTotal, Wayback Machine, 反汇编, 反编译, 可视化界面, 安全测试, 密码管理, 异步处理, 搜索引擎查询, 攻击性安全, 攻击面枚举, 敏感文件泄露, 数据展示, 数据清洗, 白帽, 红队, 网络安全, 网络流量审计, 资产收集, 路径发现, 通知系统, 隐私保护