Skip to content

dns-leak

DNS leak detection and analysis for Kodachi OS

Version: 9.0.1 | Size: 10.1MB | Author: Warith Al Maawali

License: Proprietary | Website: https://digi77.com


File Information

Property Value
Binary Name dns-leak
Version 9.0.1
Build Date 2025-09-23T19:10:13.450570411Z
Rust Version 1.88.0
File Size 10.1MB
JSON Data View Raw JSON

SHA256 Checksum

326e2e13df2674347d60628e7f669b844aca974822eeb45c6328097067fd7747

Features

Feature Description
Feature Network interface discovery and validation
Feature DNS leak detection via challenge-response testing
Feature Geolocation-based leak analysis
Feature Multi-interface simultaneous testing
Feature Detailed test reporting with JSON export
Feature System resolver configuration analysis

Security Features

Feature Description
Authentication Secure authentication for sensitive operations
Encryption HTTPS for all external API communications
Inputvalidation All interface names and IDs are sanitized and validated
Ratelimiting Built-in retry limits and timeouts for DNS queries

System Requirements

Requirement Value
OS Linux (Debian-based, specifically Kodachi OS)
Privileges root/sudo for network interface access
Dependencies Network interfaces, DNS resolver access, Internet connectivity for leak testing

Global Options

Flag Description
-h, --help Print help information
-v, --version Print version information
-n, --info Display detailed information
-e, --examples Show usage examples
--json Output in JSON format
-o, --output-format <FORMAT> Force output format (text
--json-pretty Pretty-print JSON output
--json-filter <FIELD1,FIELD2> Filter JSON output fields
--verbose Enable verbose output
--quiet Suppress non-essential output
--no-color Disable colored output
--config <FILE> Use custom configuration file
--timeout <SECS> Set timeout (default: 30)
--retry <COUNT> Retry attempts (default: 3)
--fields <LIST> Select specific fields to include
--limit <NUM> Limit number of results returned
--offset <NUM> Skip first N results (pagination)
--dns-timeout <SECS> DNS query timeout (default: 5)
-i, --interface <IF> Specify network interface to test

Commands

Network Discovery

discover

Discover network interfaces available for testing

Usage:

dns-leak discover [OPTIONS]

Options: - -V, --verbose: Enable verbose output

Examples:

dns-leak discover
dns-leak discover --json
dns-leak discover --verbose

DNS Leak Testing

test

Run DNS leak test on specified interface or all interfaces

Usage:

dns-leak test [OPTIONS]

Options: - -i, --interface <INTERFACE>: Specify a network interface to test

Examples:

dns-leak test
dns-leak test --interface eth0
dns-leak test --json

Reporting

report

Generate a detailed report of a previous test

Usage:

dns-leak report -r <ID>

Options: - -r, --id <ID>: Test ID to generate report for

Examples:

dns-leak report --id test_20250103_145623
dns-leak report --id test_20250103_145623 --json

results

Display results from a previous DNS leak test

Usage:

dns-leak results --file <FILE>

Options: - -f, --file <FILE>: Path to the results JSON file

Examples:

dns-leak results --file test_results.json
dns-leak results --file test_results.json --json

Examples

Basic Usage

Common operations

List all network interfaces available for DNS leak testing

sudo dns-leak discover
Expected Output: List of all network interfaces

List interfaces in JSON format for automation

sudo dns-leak discover --json
Expected Output: JSON response with interface details

Test all active interfaces for DNS leaks

sudo dns-leak test
Expected Output: Shows DNS leak status for each interface

Test specific interface (eth0) for DNS leaks

sudo dns-leak test --interface eth0
Expected Output: DNS leak test results for eth0

Test ethernet interface (ens33) for DNS leaks

sudo dns-leak test --interface ens33
Expected Output: DNS leak test results for ens33

Test wireless interface for DNS leaks

sudo dns-leak test --interface wlan0
Expected Output: DNS leak test results for wlan0

Test USB wireless interface for DNS leaks

sudo dns-leak test --interface wlx18a6f71995d8
Expected Output: DNS leak test results for USB wireless adapter

Test VPN tunnel interface for DNS leaks

sudo dns-leak test --interface tun0
Expected Output: DNS leak test results for VPN tunnel

Test Tailscale VPN interface for DNS leaks

sudo dns-leak test --interface tailscale0
Expected Output: DNS leak test results for Tailscale

Test PCIe ethernet interface for DNS leaks

sudo dns-leak test --interface enp2s0
Expected Output: DNS leak test results for PCIe ethernet

Test secondary PCIe ethernet interface for DNS leaks

sudo dns-leak test --interface enp2s1
Expected Output: DNS leak test results for secondary PCIe ethernet

Test onboard ethernet interface for DNS leaks

sudo dns-leak test --interface eno1
Expected Output: DNS leak test results for onboard ethernet

Test bridge interface for DNS leaks

sudo dns-leak test --interface br0
Expected Output: DNS leak test results for bridge interface

Run tests with JSON output for automation

sudo dns-leak test --json
Expected Output: JSON response with structured data

Advanced Usage

Complex operations

Generate detailed report for specific test ID

sudo dns-leak report --id test_20250103_145623
Expected Output: Comprehensive test report

Generate report in JSON format

sudo dns-leak report --id test_20250103_145623 --json
Expected Output: JSON formatted report data

Use custom timeout and retry settings

sudo dns-leak test --timeout 30 --retry 3
Expected Output: Test with custom timeout and retries

Show detailed program information

dns-leak --info
Expected Output: Program details and features

Display results from a saved test file

sudo dns-leak results --file test_results.json
Expected Output: Formatted test results display

Display results as JSON

sudo dns-leak results --file test_results.json --json
Expected Output: JSON formatted results

Automation Examples

Examples for automation and scripting

Extract leak detection status using jq

sudo dns-leak test --json | jq '.results[].leak_detected'
Expected Output: Boolean values indicating leak status per interface

Get list of interface names for scripting

sudo dns-leak discover --json | jq '.interfaces[].name'
Expected Output: List of interface names suitable for loops

Program Information

Getting information about the tool

Show version number

dns-leak --version
Expected Output: Version information

Version in JSON format

dns-leak --version --json
Expected Output: Structured version data

Show detailed program information

dns-leak --info
Expected Output: Program features and requirements

Program info in JSON format

dns-leak --info --json
Expected Output: Structured program information

Show help information

dns-leak --help
Expected Output: Usage instructions

Help in JSON format

dns-leak --help --json
Expected Output: Structured help data

Show usage examples

dns-leak --examples
Expected Output: Detailed examples

Examples in JSON format

dns-leak --examples --json
Expected Output: Structured example data

Configuration Options

Advanced configuration and timeout settings

Use custom timeout and retry settings

sudo dns-leak test --timeout=30 --retry-count=3
Expected Output: Test with custom timeout (30s) and retry count (3)

Note

Timeout range: 1-300 seconds, Retry count: 1-20

Use custom DNS query timeout

sudo dns-leak test --dns-timeout=10
Expected Output: Test with custom DNS timeout (10s)

Note

DNS timeout range: 1-60 seconds

Enable verbose output for interface discovery

sudo dns-leak discover --verbose
Expected Output: Detailed interface information with additional metadata

Note

Use -VV for maximum verbosity

Run DNS leak test with verbose output

sudo dns-leak test --interface=eth0 --verbose
Expected Output: Detailed test output with debug information

Environment Variables

Variable Description Default Values
RUST_LOG Set logging level info error
NO_COLOR Disable all colored output when set unset 1
DNS_LEAK_CONFIG Path to configuration file ~/.config/dns-leak/config.json /path/to/config.json

Exit Codes

Code Description
0 Success
1 General error
2 Invalid arguments
3 Permission denied
4 Network error
5 File not found
6 Authentication required
7 DNS leak detected

Back to top