mirror of
https://github.com/edu4rdshl/rusolver.git
synced 2026-07-18 07:34:48 +00:00
Compare commits
6 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 87f9336cc2 | |||
| 12318ce9c0 | |||
| c372db9eab | |||
| 9b329daa6a | |||
| 206c392fc0 | |||
| 28b29ca515 |
7 changed files with 41 additions and 34 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -3,3 +3,4 @@
|
||||||
resolvers
|
resolvers
|
||||||
.gitignore
|
.gitignore
|
||||||
wordlist
|
wordlist
|
||||||
|
/ghbinaries
|
||||||
2
Cargo.lock
generated
2
Cargo.lock
generated
|
|
@ -926,7 +926,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rusolver"
|
name = "rusolver"
|
||||||
version = "0.10.0"
|
version = "0.10.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"futures",
|
"futures",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "rusolver"
|
name = "rusolver"
|
||||||
version = "0.10.0"
|
version = "0.10.2"
|
||||||
authors = ["Eduard Tolosa <edu4rdshl@protonmail.com>"]
|
authors = ["Eduard Tolosa <edu4rdshl@protonmail.com>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Fast DNS resolver written in Rust."
|
description = "Fast DNS resolver written in Rust."
|
||||||
|
|
|
||||||
52
builder.sh
52
builder.sh
|
|
@ -1,5 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Rusolver releaser
|
|
||||||
NAME="rusolver"
|
NAME="rusolver"
|
||||||
|
|
||||||
LINUX_TARGET="x86_64-unknown-linux-musl"
|
LINUX_TARGET="x86_64-unknown-linux-musl"
|
||||||
|
|
@ -7,16 +6,21 @@ LINUX_X86_TARGET="i686-unknown-linux-musl"
|
||||||
WIN_TARGET="x86_64-pc-windows-gnu"
|
WIN_TARGET="x86_64-pc-windows-gnu"
|
||||||
ARMV7_TARGET="armv7-unknown-linux-gnueabihf"
|
ARMV7_TARGET="armv7-unknown-linux-gnueabihf"
|
||||||
AARCH_TARGET="aarch64-unknown-linux-gnu"
|
AARCH_TARGET="aarch64-unknown-linux-gnu"
|
||||||
OSX_TARGET="x86_64-apple-darwin"
|
# OSX_TARGET="x86_64-apple-darwin"
|
||||||
MANPAGE_DIR="./$NAME.1"
|
MANPAGE_DIR="./$NAME.1"
|
||||||
|
BIN_OUTPUT_DIR="./ghbinaries"
|
||||||
|
|
||||||
|
rm -rf "$BIN_OUTPUT_DIR"
|
||||||
|
mkdir -p "$BIN_OUTPUT_DIR"
|
||||||
|
|
||||||
# Linux build
|
# Linux build
|
||||||
echo "Building Linux artifact."
|
echo "Building Linux artifact."
|
||||||
if cargo build -q --release --target="$LINUX_TARGET"; then
|
if cross build -q --release --target="$LINUX_TARGET"; then
|
||||||
echo "Linux artifact build: SUCCESS"
|
echo "Linux artifact build: SUCCESS"
|
||||||
cp "target/$LINUX_TARGET/release/$NAME" "target/$LINUX_TARGET/release/$NAME-linux"
|
cp "target/$LINUX_TARGET/release/$NAME" "target/$LINUX_TARGET/release/$NAME-linux"
|
||||||
strip "target/$LINUX_TARGET/release/$NAME-linux"
|
strip "target/$LINUX_TARGET/release/$NAME-linux"
|
||||||
sha512sum "target/$LINUX_TARGET/release/$NAME-linux" >"target/$LINUX_TARGET/release/$NAME-linux.sha512"
|
sha512sum "target/$LINUX_TARGET/release/$NAME-linux" >"$BIN_OUTPUT_DIR/$NAME-linux.sha512"
|
||||||
|
zip -q -j "$BIN_OUTPUT_DIR/$NAME-linux-x64.zip" "target/$LINUX_TARGET/release/$NAME-linux"
|
||||||
else
|
else
|
||||||
echo "Linux artifact build: FAILED"
|
echo "Linux artifact build: FAILED"
|
||||||
fi
|
fi
|
||||||
|
|
@ -27,7 +31,8 @@ if cross build -q --release --target="$LINUX_X86_TARGET"; then
|
||||||
echo "Linux x86 artifact build: SUCCESS"
|
echo "Linux x86 artifact build: SUCCESS"
|
||||||
cp "target/$LINUX_X86_TARGET/release/$NAME" "target/$LINUX_X86_TARGET/release/$NAME-linux-i386"
|
cp "target/$LINUX_X86_TARGET/release/$NAME" "target/$LINUX_X86_TARGET/release/$NAME-linux-i386"
|
||||||
strip "target/$LINUX_X86_TARGET/release/$NAME-linux-i386"
|
strip "target/$LINUX_X86_TARGET/release/$NAME-linux-i386"
|
||||||
sha512sum "target/$LINUX_X86_TARGET/release/$NAME-linux-i386" >"target/$LINUX_X86_TARGET/release/$NAME-linux-i386.sha512"
|
sha512sum "target/$LINUX_X86_TARGET/release/$NAME-linux-i386" >"$BIN_OUTPUT_DIR/$NAME-linux-i386.sha512"
|
||||||
|
zip -q -j "$BIN_OUTPUT_DIR/$NAME-linux-i386.zip" "target/$LINUX_X86_TARGET/release/$NAME-linux-i386"
|
||||||
else
|
else
|
||||||
echo "Linux x86 artifact build: FAILED"
|
echo "Linux x86 artifact build: FAILED"
|
||||||
fi
|
fi
|
||||||
|
|
@ -38,7 +43,8 @@ if cross build -q --release --target="$WIN_TARGET"; then
|
||||||
echo "Windows artifact build: SUCCESS"
|
echo "Windows artifact build: SUCCESS"
|
||||||
cp "target/$WIN_TARGET/release/$NAME.exe" "target/$WIN_TARGET/release/$NAME-windows.exe"
|
cp "target/$WIN_TARGET/release/$NAME.exe" "target/$WIN_TARGET/release/$NAME-windows.exe"
|
||||||
strip "target/$WIN_TARGET/release/$NAME-windows.exe"
|
strip "target/$WIN_TARGET/release/$NAME-windows.exe"
|
||||||
sha512sum "target/$WIN_TARGET/release/$NAME-windows.exe" >"target/$WIN_TARGET/release/$NAME-windows.exe.sha512"
|
sha512sum "target/$WIN_TARGET/release/$NAME-windows.exe" >"$BIN_OUTPUT_DIR/$NAME-windows.exe.sha512"
|
||||||
|
zip -q -j "$BIN_OUTPUT_DIR/$NAME-windows.zip" "target/$WIN_TARGET/release/$NAME-windows.exe"
|
||||||
else
|
else
|
||||||
echo "Windows artifact build: FAILED"
|
echo "Windows artifact build: FAILED"
|
||||||
fi
|
fi
|
||||||
|
|
@ -49,7 +55,8 @@ if cross build -q --release --target="$ARMV7_TARGET"; then
|
||||||
echo "ARMv7 artifact build: SUCCESS"
|
echo "ARMv7 artifact build: SUCCESS"
|
||||||
cp "target/$ARMV7_TARGET/release/$NAME" "target/$ARMV7_TARGET/release/$NAME-armv7"
|
cp "target/$ARMV7_TARGET/release/$NAME" "target/$ARMV7_TARGET/release/$NAME-armv7"
|
||||||
strip "target/$ARMV7_TARGET/release/$NAME-armv7"
|
strip "target/$ARMV7_TARGET/release/$NAME-armv7"
|
||||||
sha512sum "target/$ARMV7_TARGET/release/$NAME-armv7" >"target/$ARMV7_TARGET/release/$NAME-armv7.sha512"
|
sha512sum "target/$ARMV7_TARGET/release/$NAME-armv7" >"$BIN_OUTPUT_DIR/$NAME-armv7.sha512"
|
||||||
|
zip -q -j "$BIN_OUTPUT_DIR/$NAME-armv7.zip" "target/$ARMV7_TARGET/release/$NAME-armv7"
|
||||||
else
|
else
|
||||||
echo "ARMv7 artifact build: FAILED"
|
echo "ARMv7 artifact build: FAILED"
|
||||||
fi
|
fi
|
||||||
|
|
@ -60,21 +67,23 @@ if cross build -q --release --target="$AARCH_TARGET"; then
|
||||||
echo "Aarch64 artifact build: SUCCESS"
|
echo "Aarch64 artifact build: SUCCESS"
|
||||||
cp "target/$AARCH_TARGET/release/$NAME" "target/$AARCH_TARGET/release/$NAME-aarch64"
|
cp "target/$AARCH_TARGET/release/$NAME" "target/$AARCH_TARGET/release/$NAME-aarch64"
|
||||||
strip "target/$AARCH_TARGET/release/$NAME-aarch64"
|
strip "target/$AARCH_TARGET/release/$NAME-aarch64"
|
||||||
sha512sum "target/$AARCH_TARGET/release/$NAME-aarch64" >"target/$AARCH_TARGET/release/$NAME-aarch64.sha512"
|
sha512sum "target/$AARCH_TARGET/release/$NAME-aarch64" >"$BIN_OUTPUT_DIR/$NAME-aarch64.sha512"
|
||||||
|
zip -q -j "$BIN_OUTPUT_DIR/$NAME-aarch64.zip" "target/$AARCH_TARGET/release/$NAME-aarch64"
|
||||||
else
|
else
|
||||||
echo "Aarch64 artifact build: FAILED"
|
echo "Aarch64 artifact build: FAILED"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Mac OS build
|
# # Mac OS build
|
||||||
echo "Building OSX artifact."
|
# echo "Building OSX artifact."
|
||||||
if CC=o64-clang CXX=o64-clang++ LIBZ_SYS_STATIC=1 cargo build -q --release --target="$OSX_TARGET"; then
|
# if CC=o64-clang CXX=o64-clang++ LIBZ_SYS_STATIC=1 cargo build -q --release --target="$OSX_TARGET"; then
|
||||||
echo "OSX artifact build: SUCCESS"
|
# echo "OSX artifact build: SUCCESS"
|
||||||
cp "target/$OSX_TARGET/release/$NAME" "target/$OSX_TARGET/release/$NAME-osx"
|
# cp "target/$OSX_TARGET/release/$NAME" "target/$OSX_TARGET/release/$NAME-osx"
|
||||||
strip "target/$OSX_TARGET/release/$NAME-osx"
|
# strip "target/$OSX_TARGET/release/$NAME-osx"
|
||||||
sha512sum "target/$OSX_TARGET/release/$NAME-osx" >"target/$OSX_TARGET/release/$NAME-osx.sha512"
|
# sha512sum "target/$OSX_TARGET/release/$NAME-osx" >"target/$OSX_TARGET/release/$NAME-osx.sha512"
|
||||||
else
|
# zip -q "$BIN_OUTPUT_DIR/$NAME-osx.zip" "target/$OSX_TARGET/release/$NAME-osx"
|
||||||
echo "OSX artifact build: FAILED"
|
# else
|
||||||
fi
|
# echo "OSX artifact build: FAILED"
|
||||||
|
# fi
|
||||||
|
|
||||||
echo "Creating manpage..."
|
echo "Creating manpage..."
|
||||||
if command -v help2man >/dev/null; then
|
if command -v help2man >/dev/null; then
|
||||||
|
|
@ -86,10 +95,3 @@ if command -v help2man >/dev/null; then
|
||||||
else
|
else
|
||||||
echo "Please install the help2man package."
|
echo "Please install the help2man package."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Stop docker
|
|
||||||
echo "Stopping docker."
|
|
||||||
if ! sudo systemctl stop docker; then
|
|
||||||
echo "Failed to stop docker."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||||
.TH RUSOLVER "1" "July 2025" "rusolver 0.10.0" "User Commands"
|
.TH RUSOLVER "1" "August 2025" "rusolver 0.10.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
rusolver \- manual page for rusolver 0.10.0
|
rusolver \- manual page for rusolver 0.10.2
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B rusolver
|
.B rusolver
|
||||||
[\fI\,OPTIONS\/\fR]
|
[\fI\,OPTIONS\/\fR]
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,9 @@ pub async fn return_hosts_data(options: &LibOptions) -> HashMap<String, DomainDa
|
||||||
.iter()
|
.iter()
|
||||||
.all(|ip| wildcard_ips.contains(ip));
|
.all(|ip| wildcard_ips.contains(ip));
|
||||||
|
|
||||||
print_domain_data(&host, &domain_data, &options);
|
if !options.quiet_flag {
|
||||||
|
print_domain_data(&host, &domain_data, options);
|
||||||
|
}
|
||||||
|
|
||||||
(host, domain_data)
|
(host, domain_data)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
10
src/utils.rs
10
src/utils.rs
|
|
@ -89,10 +89,12 @@ pub async fn detect_wildcards(
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn print_domain_data(host: &str, domain_data: &DomainData, options: &LibOptions) {
|
pub fn print_domain_data(host: &str, domain_data: &DomainData, options: &LibOptions) {
|
||||||
if options.show_ip_address {
|
if !domain_data.is_wildcard && !domain_data.ipv4_addresses.is_empty() {
|
||||||
println!("{}: {:?}", host, domain_data.ipv4_addresses);
|
if options.show_ip_address {
|
||||||
} else {
|
println!("{}:{:?}", host, domain_data.ipv4_addresses);
|
||||||
println!("{}", host);
|
} else {
|
||||||
|
println!("{}", host);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue