dns-leak
DNS leak detection and analysis for Kodachi OS
Version: 9.0.1 | Size: 3.3MB | Author: Warith Al Maawali
License: Proprietary | Website: https://digi77.com
File Information
| Property | Value |
|---|---|
| Binary Name | dns-leak |
| Version | 9.0.1 |
| Build Date | 2026-03-22T17:40:38.892858865Z |
| Rust Version | 1.93.1 |
| File Size | 3.3MB |
| JSON Data | View Raw JSON |
SHA256 Checksum
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:
Options:
- -V, --verbose: Enable verbose output
Examples:
DNS Leak Testing
test
Run DNS leak test on specified interface or all interfaces
Usage:
Options:
- -i, --interface <INTERFACE>: Specify a network interface to test
Examples:
Reporting
report
Generate a detailed report of a previous test
Usage:
Options:
- -r, --id <ID>: Test ID to generate report for
Examples:
results
Display results from a previous DNS leak test
Usage:
Options:
- -f, --file <FILE>: Path to the results JSON file
Examples:
Operational Scenarios
Scenario-oriented workflows generated from the binary's built-in -e --json examples.
Scenario 1: Basic Usage
Common operations
Step 1: List all network interfaces available for DNS leak testing
Expected Output: List of all network interfacesStep 2: List interfaces in JSON format for automation
Expected Output: JSON response with interface detailsStep 3: Test all active interfaces for DNS leaks
Expected Output: Shows DNS leak status for each interfaceStep 4: Test specific interface (eth0) for DNS leaks
Expected Output: DNS leak test results for eth0Step 5: Test ethernet interface (ens33) for DNS leaks
Expected Output: DNS leak test results for ens33Step 6: Test wireless interface for DNS leaks
Expected Output: DNS leak test results for wlan0Step 7: Test USB wireless interface for DNS leaks
Expected Output: DNS leak test results for USB wireless adapterStep 8: Test VPN tunnel interface for DNS leaks
Expected Output: DNS leak test results for VPN tunnelStep 9: Test Tailscale VPN interface for DNS leaks
Expected Output: DNS leak test results for TailscaleStep 10: Test PCIe ethernet interface for DNS leaks
Expected Output: DNS leak test results for PCIe ethernetStep 11: Test secondary PCIe ethernet interface for DNS leaks
Expected Output: DNS leak test results for secondary PCIe ethernetStep 12: Test onboard ethernet interface for DNS leaks
Expected Output: DNS leak test results for onboard ethernetStep 13: Test bridge interface for DNS leaks
Expected Output: DNS leak test results for bridge interfaceStep 14: Run tests with JSON output for automation
Expected Output: JSON response with structured dataScenario 2: Advanced Usage
Complex operations
Step 1: Generate HTML report from test results
Expected Output: HTML report saved to results directoryNote
Use the filename prefix (without .json) as the ID
Step 2: Generate report with JSON output
Expected Output: JSON status of report generationNote
Will search for files containing the ID in results directory
Step 3: Use custom timeout and retry settings
Expected Output: Test with custom timeout and retriesStep 4: Show detailed program information
Expected Output: Program details and featuresStep 5: Display results from a saved test file
Expected Output: Formatted test results displayNote
Searches in current dir and results directory
Step 6: Display results as JSON
Expected Output: JSON formatted resultsNote
Can use just filename if file is in results directory
Scenario 3: Automation Examples
Examples for automation and scripting
Step 1: Extract leak detection status using jq
Expected Output: Boolean values indicating leak status per interfaceStep 2: Get list of interface names for scripting
Expected Output: List of interface names suitable for loopsScenario 4: Program Information
Getting information about the tool
Step 1: Show version number
Expected Output: Version informationStep 2: Version in JSON format
Expected Output: Structured version dataStep 3: Show detailed program information
Expected Output: Program features and requirementsStep 4: Program info in JSON format
Expected Output: Structured program informationStep 5: Show help information
Expected Output: Usage instructionsStep 6: Help in JSON format
Expected Output: Structured help dataStep 7: Show usage examples
Expected Output: Detailed examplesStep 8: Examples in JSON format
Expected Output: Structured example dataScenario 5: Configuration Options
Advanced configuration and timeout settings
Step 1: Use custom timeout and retry settings
Expected Output: Test with custom timeout (30s) and retry count (3)Note
Timeout range: 1-300 seconds, Retry count: 1-20
Step 2: Use custom DNS query timeout
Expected Output: Test with custom DNS timeout (10s)Note
DNS timeout range: 1-60 seconds
Step 3: Enable verbose output for interface discovery
Expected Output: Detailed interface information with additional metadataNote
Use -VV for maximum verbosity
Step 4: Run DNS leak test with verbose output
Expected Output: Detailed test output with debug informationEnvironment 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 |