Run a public AdGuardHome DNS-sinkhole on AWS infrastructure.
Based on articles (but automated for deployment on AWS with Terraform):
- https://adguard-dns.io/kb/adguard-home/getting-started/
- https://adguard.com/en/blog/in-depth-review-adguard-home.html
- https://adguard.com/en/blog/adguard-home-on-public-server.html
- https://go-acme.github.io/lego/usage/cli/obtain-a-certificate/index.html
- https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html
Go to installation directory:
cd /opt/adguardStart or stop AdGuardHome service:
./AdGuardHome -s start
./AdGuardHome -s stop
./AdGuardHome -s statusMake sure port 80 is available before running lego. Either move the AdGuardHome HTTP server to a different port or temporarily disable it.
Download and install lego:
mkdir /opt/lego
cd /opt/lego
wget "https://github.com/go-acme/lego/releases/download/v4.27.0/lego_v4.27.0_linux_amd64.tar.gz" # update version
tar -xzf lego_v4.27.0_linux_amd64.tar.gzObtain certificate:
./lego --email="dns@sskender.com" --domains="dns.sskender.com" --http runRenew certificate:
./lego --email="dns@sskender.com" --domains="dns.sskender.com" --http renew- Automate
legocertificate renewal - Automate installation on server
- Add secondary server for high availability
- Can I just use your DNS server? - Yes, why not. Just set your clients to use
https://dns.sskender.com/dns-query. - Can I use DoH on iPhone? - Yes, check out this cool guy
https://dns.notjakob.com/.