Configuration Files
Resolvers JSON format
{
"resolvers": [
{
"name": "Cloudflare",
"ip": "1.1.1.1",
"ipv6": "2606:4700:4700::1111"
},
{
"name": "Google DNS",
"ip": "8.8.8.8",
"ipv6": "2001:4860:4860::8888"
},
{
"name": "My Pi-hole",
"ip": "192.168.1.1"
}
]
}
ipv6 is optional. Pass with --resolvers path/to/resolvers.json.
Domains text file format
# Popular websites
google.com
github.com
stackoverflow.com
# Corporate domains
microsoft.com
apple.com
amazon.com
# CDN and cloud
cloudflare.com
aws.amazon.com
Lines starting with # are treated as comments and ignored.
Pass with --domains path/to/domains.txt.
HTTP targets file
Plain text, one URL per line:
https://api.example.com/health
https://www.example.com
https://cdn.example.com/static/test.js
Pass with --targets path/to/targets.txt.
Generate YAML configuration (DNS)
# Generate sample configuration
net-benchmark dns generate-config --output sample_config.yaml
# Category-specific configurations
net-benchmark dns generate-config --category security --output security_test.yaml
net-benchmark dns generate-config --category family --output family_protection.yaml
net-benchmark dns generate-config --category performance --output performance_test.yaml
net-benchmark dns generate-config --category privacy --output privacy_audit.yaml
Then pass the generated file to a benchmark run:
net-benchmark dns benchmark \
--resolvers privacy_audit.yaml \
--formats csv
Inline inputs (no files needed)
For quick runs, supply values directly on the command line. File detection takes priority over inline parsing.
# DNS — named resolvers
--resolvers "Cloudflare,Google,Quad9"
# DNS — IP addresses
--resolvers "1.1.1.1,8.8.8.8,9.9.9.9"
# DNS — mixed
--resolvers "1.1.1.1,Cloudflare,8.8.8.8"
# DNS — single value
--resolvers "1.1.1.1"
# DNS — domains
--domains "google.com,github.com,cloudflare.com"
# HTTP — targets
--targets "https://example.com,https://httpbin.org/get"