Introduction
The following Sections applies to AppSettings.json
file bundled with SecureDNS Terminal Edition releases started from v0.2 Alpha.
Table Of Sections
- Seq
- Proxy Server
- DNSCrypt Protocol
- DNS-Over-HTTPs Protocol
- DNS-Over-TLS Protocol
- DNS-Over-UDP Protocol
- Ethereum Name Service Protocol
- FilterLists Middleware
- HostTable Middleware
- Terminal Options
- Proxy Responsibility Chain
Seq
Support for Seq comes from Serilog's Seq Sink. Accordingly, under Serilog
's WriteTo
object you can find Seq
's Args
of serverUrl
:
Note |
Check Seq Installation Wiki Page For Detailed Instructions. |
"Serilog": {
"WriteTo": [
{
"Name": "Seq",
"Args": {
"serverUrl": "http://127.0.0.1:5341",
"compact": true
}
}
]
Support for Serilog's Console Sink. Accordingly, under Serilog
's WriteTo
object you can find sink Name
of Console
:
"Serilog": {
"WriteTo": [
{
"Name": "Console"
}
]
Proxy Server
SecureDNS built-in DoU
to DoH
or DoT
Proxy Server.
Object |
Default Value |
Description |
Address |
127.0.0.1 |
UDP Lisenter Binded IP Address |
Port |
53 |
UDP Lisenter Binded Port |
Threads |
Logical CPU Count |
Number of Concurrent Server Threads |
Note |
Removing Threads Property will trigger Default Value which is Number of Logical CPU Cores detected in Runtime. |
"Proxy Server": {
"Address": "127.0.0.1",
"Port": 53,
"Threads": 8
}
DNSCrypt Protocol
SecureDNS built-in DNSCrypt Protocol module.
Object |
Default Value |
Description |
Stamp |
sdns://AQYAAAAAAAAADTkuOS45LjEwOjg0NDMgZ8hHuMh1jNEgJFVDvnVnRt803x2EwAuMRwNo34Idhj4ZMi5kbnNjcnlwdC1jZXJ0LnF1YWQ5Lm5ldA |
DNSCrypt Stamp |
Timeout |
2000 |
Number of Miliseconds Before DNS Resolution Failure |
Note |
DNS Stamp must be DNSCrypt Stamp. |
"DNSCrypt Protocol": {
"Stamp": "sdns://AQYAAAAAAAAADTkuOS45LjEwOjg0NDMgZ8hHuMh1jNEgJFVDvnVnRt803x2EwAuMRwNo34Idhj4ZMi5kbnNjcnlwdC1jZXJ0LnF1YWQ5Lm5ldA",
"Timeout": 2000
}
DNS-Over-HTTPs Protocol
SecureDNS built-in DNS-Over-HTTPs Protocol module.
Object |
Default Value |
Description |
Uri |
https://dns.google/ |
Public Resolver Uri EndPoint |
PublicKey |
null |
SSL Certificate Public Key |
AllowRedirects |
FALSE |
Enable or Disable HTTP Redirection |
Retries |
3 |
Number of HTTP Request Retries Before DNS Resolution Failure |
WebProxy |
null |
HTTP Web Proxy Uri EndPoint |
Note |
Setting PublicKey value will automatically enable SSL Certificate Pinning Feature. |
"HTTPs Protocol": {
"Uri": "https://dns.google/",
"PublicKey": null,
"AllowRedirects": false,
"Retries": 3,
"WebProxy": null
}
DNS-Over-TLS Protocol
SecureDNS built-in DNS-Over-TLS Protocol module.
Object |
Default Value |
Description |
Host |
dns.google |
Public Resolver FQDN |
Port |
853 |
DoT Port |
Timeout |
2000 |
Number of Miliseconds Before DNS Resolution Failure |
PublicKey |
null |
SSL Certificate Public Key |
Note |
Setting PublicKey value will automatically enable SSL Certificate Pinning Feature. |
"TLS Protocol": {
"Host": "dns.google",
"Port": 853,
"Timeout": 2000,
"PublicKey": null
}
DNS-Over-UDP Protocol
SecureDNS built-in DNS-Over-UDP Protocol module.
Object |
Default Value |
Description |
Host |
1.1.1.1 |
Public Resolver IP Address |
Port |
53 |
DoU Port |
Timeout |
2000 |
Number of Miliseconds Before DNS Resolution Failure |
Note |
SecureDNS Supports Hot-Reload Feature on this Section. |
"UDP Protocol": {
"Host": "1.1.1.1",
"Port": 53,
"Timeout": 2000
}
Ethereum Name Service Protocol
SecureDNS built-in Ethereum Name Service Protocol module.
"ENS Protocol": {
"Web3": "https://cloudflare-eth.com/"
}
FilterLists Middleware
SecureDNS built-in FilterLists Integration Middleware.
Object |
Default Value |
Description |
IDs |
10, 685 |
Array of FilterList IDs |
Notes |
SecureDNS Only Supports Host-File Syntax Lists. |
SecureDNS Supports Hot-Reload Feature on this Section. |
"FilterLists Middleware": {
"IDs": [
10,
685
]
}
HostTable Middleware
SecureDNS built-in Host-Table
(aka Hosts-File
) Middleware.
Object |
Default Value |
Description |
TimeToLive |
30 |
TTL in Seconds of A Record |
HostTable |
Objects |
Array of FQDN & IPv4 Address KeyPaire Objects |
Note |
SecureDNS Supports Hot-Reload Feature on this Section. |
"HostTable Middleware": {
"TimeToLive": 30,
"HostTable": {
"dns.google": "8.8.8.8",
"one.one.one.one": "1.1.1.1"
}
}
Terminal Options
SecureDNS Terminal Edition specific options.
Object |
Default Value |
Description |
Mode |
CLI |
Operating Mode. Options: CLI , GUI or Daemon . |
Protocol |
DNSCrypt |
Secure DNS Protocol. Options: TLS , HTTPs , DNSCrypt |
Note |
Daemon Mode Enables Supports for Both Windows Service & Linux Daemon depending on OS automatic detection. |
"Terminal Options": {
"Mode": "CLI",
"Protocol": "DNSCrypt"
}
Proxy Responsibility Chain
SecureDNS Composable Pipeline of Middlewares handling each DNS Query Message.
Object |
Default Value |
Description |
Middlewares |
Object |
Sorted Array of Middleware Names. |
Note |
Middlewares Must Be sorted according to Priority & Chain-Breaking properties. |
"Proxy Responsibility Chain": {
"Middlewares": [
"HostTableMiddleware",
"FilterListsMiddleware",
"ENSMiddleware",
"ResolverMiddleware"
]
}