Skip to content

⚡ High-Performance Cross-Platform DNS Benchmark Tool written in Rust. Measure latency, reliability, and security of 140+ public DNS resolvers.

License

Notifications You must be signed in to change notification settings

karan-vk/velodns

VeloDNS

VeloDNS Logo

High-Performance Cross-Platform DNS Benchmark Tool

Build Status License: MIT


VeloDNS is a blazing fast, modern, and cross-platform DNS benchmark utility written in Rust. It helps you find the fastest and most reliable DNS resolvers for your connection by testing latency, reliability, and security features across 140+ public DNS providers.

VeloDNS Screenshot

🚀 Features

  • Ultra-Fast Benchmarking: Written in pure Rust with asynchronous I/O (Tokio) for maximum performance.
  • Comprehensive Metrics: Measures cached latency, uncached latency, dotcom resolution time, jitter, and reliability.
  • Security Auditing: Checks for DNSSEC support, NXDOMAIN hijacking, and Rebinding protection.
  • Smart Presets: One-click presets for Gaming, Privacy, Family, and Uncensored DNS providers.
  • Cross-Platform: Native GUI built with Iced, running smoothly on Windows, macOS, and Linux.
  • Detailed Analytics: Visual charts, score breakdowns, and CSV export functionality.

📦 Installation

Pre-built Binaries

Download the latest release for your platform from the Releases page.

Building from Source

Ensure you have Rust and Cargo installed (https://rustup.rs/).

git clone https://github.com/karanvijayakumar/velodns.git
cd velodns
cargo build --release
./target/release/velodns

🛠 Usage Guide

1. Dashboard Overview

The dashboard provides a quick way to select DNS resolvers and start benchmarking.

  • Sidebar: Filter resolvers by name, provider, or protocol (UDP, DoH, DoT, DoQ, TCP).
  • Presets: Use one-click presets to quickly select common resolver sets:
    • Gaming: Focuses on low-latency providers.
    • Privacy: Selects providers known for strict no-logging policies.
    • Family: Filters for providers with family-friendly content blocking.
    • Uncensored: Selects providers that do not filter results.

2. Running a Benchmark

  1. Select the resolvers you want to test from the sidebar.
  2. Click the Run Benchmark button in the top right.
  3. The application will test each selected resolver concurrently.
  4. Real-time progress is displayed with a progress bar and elapsed time.

3. Analyzing Results

Once the benchmark is complete, VeloDNS presents a comprehensive analysis:

  • Podium: The top 8 fastest resolvers are displayed in a bar chart for quick comparison.
  • Score: A weighted score (0-100) based on latency, reliability, and security.
  • Grade: A letter grade (A+ to F) summarizing overall performance.
  • Detailed Metrics:
    • Cached: Latency for cached records (most common usage).
    • Uncached: Latency for new/uncached records.
    • Reliability: Percentage of successful queries.
    • Security: Score based on DNSSEC, NXDOMAIN protection, etc.

4. Advanced Details

Click the arrow button () next to any resolver to view a detailed report card, including:

  • Latency Distribution: Min, Max, Mean, Median, P95, P99, and Standard Deviation.
  • Security Audit: Status of specific security features like "IPv4 Private Rebinding Protection".

5. Exporting Data

Click the Export button to save the benchmark results as a CSV file for further analysis in spreadsheet software.

🔧 Configuration

VeloDNS offers extensive configuration options:

  • Concurrency: Adjust parallel requests (1-20).
  • Iterations: Set number of queries per resolver (default 25).
  • Timeout: Customize query timeouts.
  • Test Types: Toggle Cached, Uncached, and .com domain tests.

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

⚡ High-Performance Cross-Platform DNS Benchmark Tool written in Rust. Measure latency, reliability, and security of 140+ public DNS resolvers.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages