A script for adding a dynamic ip address as an allowed client to AdGuard Home.
530
A script for adding a dynamic ip address as an allowed client to AdGuard Home. Useful if you host AdGuard Home on a VPS and your router doesn't supports DNS over HTTPS (DoH) or DNS over TLS (DoT).
GitHub: https://github.com/michivonah/adguard-ddns-client
You can run this python script manually or via the docker container. I recommend using the docker container. But you also can run the python script manually when you need it.
Use as docker container on your server:
Install docker on your system
apt-get install docker.io docker-compose -y
Open your cronjob
crontab -e
Add the following line to the cronjob of your server and change the enviromental variables for your needs
0 * * * * docker run -d --rm --env API_BASE_URL="https://example.com" --env API_USERNAME=YOUR_USER --env API_PASSWORD=YOUR_PASSWORD --env DOMAIN_NAME=YOUR_DDNS_DOMAIN docker.io/michivonah/adguard-ddns-client
Replace 0 * * * * to run the job more often than once a hour.
Use 0/30 * * * * to run the job every 30 mins or 5 * * * * to run the job every 5 minutes. Customize it to your needs.
Finished. Now the cronjobs runs as defined and adds the clients ip address if it is missing to AdGuard Home's Client whitelist.
These environment variables are supported
| Variable | Description | Example |
|---|---|---|
| API_BASE_URL | The url of your AdGuard Home Server | https://example.com |
| API_USERNAME | The username of your AdGuard Home Administrator Account | admin |
| API_PASSWORD | The password of your AdGuard Home Administrator Account | admin123 (use a secure password) |
| DOMAIN_NAME | Your DDNS Domain name with the ip address you want to whitelist | ddns.example.com |
Required enviromental variables: API_BASE_URL, API_USERNAME, API_PASSWORD, DOMAIN_NAME
Content type
Image
Digest
sha256:7a376a610…
Size
394.1 MB
Last updated
over 1 year ago
docker pull michivonah/adguard-ddns-client