Edu4rdSHL/rusolver
GitHub: Edu4rdSHL/rusolver
Rusolver 是用 Rust 编写的跨平台高速 DNS 解析器,能够在多线程环境下快速、准确地批量解析域名并进行双重校验。
Stars: 169 | Forks: 25
# 鲁索尔
用 Rust 编写的快速 DNS 解析器。支持 Linux、Windows、macOS、Android、Aarch64、ARM,甚至可能在你的烤箱里运行。
# 目标
为社区提供高效的主机解析工具。
# 性能、速度和准确性
Rusolver **非常** 资源友好,你可以在单核机器上使用多达 1000 个线程,并且不会出现任何问题,该工具的瓶颈是你的网络速度。默认情况下,Rusolver 在良好的网络条件下(在 AWS 机器上测试)能够每秒解析约 1532 台主机。此外,工具默认会对已解析的主机进行双重检查,使用 Cloudflare、Google、Quad9、OpenDNS、Verisign、UncensoredDNS 和 dns.watch DNS,使用该算法时出现误报的可能性为零。
## 演示
演示中使用的文件位于 [here](files/)。`hosts.txt` 是要进行解析的主机列表,`resolved.txt` 是 Rusolver 发现的活动主机。
[](https://asciinema.org/a/362323)
# 安装
## 使用预编译二进制
根据你的平台,从 [releases page](https://github.com/Edu4rdSHL/rusolver/releases/latest) 下载相应的资产。
## 使用源码
1. 需要在系统中安装最新的稳定版 [Rust](https://www.rust-lang.org/)。
2. 克隆仓库或下载源码,然后运行 `cargo build --release`。
3. 从 `./target/release/rusolver` 执行工具,或将其添加到系统 PATH,以便随时使用。
也可以直接使用 `cargo install rusolver`。
## 使用 AUR 包(Arch Linux)
`rusolver` 可以通过 [AUR packages](https://aur.archlinux.org/packages/?O=0&SeB=b&K=rusolver&outdated=&SB=n&SO=a&PP=50&do_Search=Go) 使用 [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers) 安装。例如,
```
yay -S rusolver
```
如果你愿意,可以克隆 [AUR packages](https://aur.archlinux.org/packages/?O=0&SeB=b&K=rusolver&outdated=&SB=n&SO=a&PP=50&do_Search=Go) 并使用 [makepkg](https://wiki.archlinux.org/index.php/Makepkg) 编译。例如,
```
git clone https://aur.archlinux.org/rusolver.git && cd rusolver && makepkg -si
```
# 使用
* 默认只显示已解析的主机
```
cat hosts.txt | rusolver
```
* 如果想查看发现的 IP 地址:
```
cat hosts.txt | rusolver -i
```
你可以根据需要调节 `--timeout` 和 `-t/--threads` 选项。请参阅 `rusolver --help`。
标签:Android, DNS解析, DNS解析, DSL, Rust语言, UNIX-like, 二进制发布, 云服务对比, 十六进制编辑器, 双重校验, 可视化界面, 命令行工具, 域名查询, 开源工具, 开源项目, 开源项目, 框架, 系统工具, 网络安全, 网络工具, 网络速度, 资源友好, 通知系统, 通知系统, 隐私保护