Crates.io | dns-bench |
lib.rs | dns-bench |
version | 0.7.1 |
source | src |
created_at | 2023-10-03 17:28:01.263967 |
updated_at | 2024-11-06 18:22:22.414587 |
description | Find the fastest DNS in your location to improve internet browsing experience. |
homepage | https://github.com/qwerty541/dns-bench |
repository | https://github.com/qwerty541/dns-bench |
max_upload_size | |
id | 991291 |
size | 1,513,347 |
This repository provides DNS benchmarking command line tool written in Rust. It iterates through built-in list of public DNS servers, measures their response time and print table with sorted results in console. It can be used to find the fastest DNS in your location for better internet browsing experience. An example of console output, list of features and list of built-in DNS servers can be found below.
/home/user/.dns-bench/config.toml
) to avoid typing them every time.
|
|
Run the following command and wait until the crate is compiled:
$ cargo install dns-bench
Now you can run compiled binary:
$ dns-bench [OPTIONS]
Run the following command and wait until the crate is compiled:
$ cargo install --git https://github.com/qwerty541/dns-bench.git --tag v0.7.1 dns-bench
Also you can remove tag option to install the latest development version.
Now you can run compiled binary:
$ dns-bench [OPTIONS]
Run the following command to pull the image:
$ docker pull qwerty541/dns-bench:0.7.1
Now you can run this tool inside the container:
$ docker run --rm -it --name dns-bench qwerty541/dns-bench:0.7.1
If you want to pass some options, you can do it like this:
$ docker run --rm -it --name dns-bench qwerty541/dns-bench:0.7.1 /bin/bash -c "dns-bench --requests 20 --domain microsoft.com --style re-structured-text"
Below is a list of currently supported options.
Option | Description | Default value | Possible values |
---|---|---|---|
--domain |
Domain to resolve. | google.com | Any domain |
--threads |
Number of threads to use. | 8 | Any positive integer |
--requests |
Number of requests to each DNS server. | 25 | Any positive integer |
--timeout |
Timeout in seconds. | 3 | Any positive integer |
--protocol |
Protocol to use. | udp | tcp, udp |
--name-servers-ip |
IP version to use for establishing connection. | v4 | v4, v6 |
--lookup-ip |
IP version to use for lookup. | v4 | v4, v6 |
--style |
Table style to use. | rounded | empty, blank, ascii, psql, markdown, modern, sharp, rounded, modern-rounded, extended, dots, re-structured-text, ascii-rounded |
--save-config |
Save the configurations to a file in users home directory. | ||
--custom-servers-file |
Provide a path to a file with custom servers list to use instead of built-in list. An example of file format can be found here for IPv4 and here for IPv6. |
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.