Terminal Edition - v0.1 Alpha
Pre-release
Pre-release
This is the Terminal Edition of SecureDNS Server for interested early adopters.
Deployment Steps:
-
Install Datalust's Seq
# Note: Elevated PowerShell Core # Option 1: MSI Setup curl "https://getseq.blob.core.windows.net/releases/Seq-5.1.3200.msi" --output . .\Seq-5.1.3200.msi /quiet Invoke-Item "$Env:Programfiles\Seq\Admin\Seq.Administration.exe" # Option 2: Docker docker run -e ACCEPT_EULA=Y -p 5341:80 datalust/seq:latest
-
Download & Execute Binary.
# Note: Elevated PowerShell Core # Option 1: Terminal GUI .\Texnomic.SecureDNS.CLI-[OS]-[Arch] # Option 2: Terminal CLI .\Texnomic.SecureDNS.CLI-[OS]-[Arch] -binding "0.0.0.0:53" -seq "http://127.0.0.1:5341"
-
Update DNS Server(s).
# Note: Elevated PowerShell Core # Setting DNS Servers Get-NetAdapter -Physical | ForEach-Object { Set-DnsClientServerAddress $_.Name -ServerAddresses ("127.0.0.1") } # Resetting DNS Servers Get-NetAdapter -Physical | ForEach-Object { Set-DnsClientServerAddress $_.Name -ResetServerAddresses }
Release Notes:
- Server Runs in Proxy Mode: From Standard DNS-Over-UDP To DNS-Over-HTTP/s.
- Server Utilize Google's Public Resolver aka 8.8.8.8.
- Server Threads defaults to number of Logical Processors.
- SSL Certificate-Pinning Feature is Disable.
- Binaries are Portable & Self-Contained.
Platforms Supported:
- Alpine: 3.10+
- Debian: 9+
- Ubuntu: 16.04+
- Fedora: 29+
- RHEL: 6+
- openSUSE: 15+
- SUSE Enterprise Linux (SLES): 12 SP2+
- macOS: 10.13+
- Windows Client: 7, 8.1, 10 (1607+)
- Windows Server: 2012 R2+
Chips Supported:
- x64 on Windows, macOS, and Linux
- x86 on Windows
- ARM32 on Windows and Linux
- ARM64 on Linux (kernel 4.14+)
Seq Queries:
Example 1: A Records
select Coalesce(Answer.Answers[0].Name, Query.Questions[0].Name) as Domain, Coalesce(Answer.Answers[0].Type, Query.Questions[0].Type) as Type, Answer.Answers[0].Record.Address.IP as IP, RemoteEndPoint from stream where StartsWith(@Message, 'Resolved') and Type = 'A'
Example 2: CNAME Records
select Coalesce(Answer.Answers[0].Name, Query.Questions[0].Name) as Domain, Coalesce(Answer.Answers[0].Type, Query.Questions[0].Type) as Type, Answer.Answers[0].Record.Domain.Name as CNAME, RemoteEndPoint from stream where StartsWith(@Message, 'Resolved') and Type = 'CNAME'
Known Issues:
On Windows:
- Port 53 already in use.
- Disable & Stop Internet Connection Sharing (ICS) Service:
# Elevated PowerShell Core Set-Service -Name 'Internet Connection Sharing (ICS)' -StartupType Disabled Stop-Service -DisplayName 'Internet Connection Sharing (ICS)'
# Elevated Command Prompt sc config "SharedAccess" start=disabled sc stop "SharedAccess"
On Linux:
- IOControl not supported on platforms other than windows.
- Fixed in the new binaries.