noip.com free hosts expire every month. This script auto clicks web pages to renew the hosts, using Python/Selenium with Chrome headless mode.
NOTE: this is an up-to-date fork of loblab/noip-renew repository as it seems it's not anymore actively developed, I'll try to keep this fork up to date and working as much as possible. Feel free to contribute!
ENABLE 2FA authentication on your account and save the 2FA Secret key that is shared only once when you activate it
ChromeDriver is required for the script to interface with noip.com from within the script. ChromeDriver must be maintained to match the installed version of Chrome. There is no automated repository that provides ChromeDriver package beyond Ubuntu 18 LTS. Installing Chromium via Snap and then linking chromedriver to /usr/bin/chromedriver should keep chromediver sufficiently up to date without manual intervention
git clone https://github.com/neothematrix/noip-renew.git
)Check confirmed records from multiple log files:
grep -h Confirmed *.log | grep -v ": 0" | sort
For docker users you need to define the following ENV variables:
'NOIP_USERNAME = <your username>'
'NOIP_PASSWORD = <your password (plain not base64 encoded)>'
'NOIP_2FA_SECRET_KEY = <your 2FA secret key that appeared when you setup 2FA>'
NOIP_DEBUG = <optional, defaults to 1>
so you can run the following:
echo -e "$(crontab -l)"$'\n'"12 3 * * 1,3,5 docker run --rm --network host -e 'NOIP_USERNAME=<your_username>' -e 'NOIP_PASSWORD=<your_password>' -e 'NOIP_2FA_SECRET_KEY=<your 2fa secret key>' -e NOIP_DEBUG=2 moebiuss/noip-renew" | crontab -
NOTE: with newer versions of ChromeDriver (>v99) you might need to increase the shm size of the container otherwise ChromeDriver will crash and throw an exception. To do it, you can just add the "--shm-size="512m" flag to the docker run command.
The script is not designed to renew/update the dynamic DNS records, but only to renew the hostnames expiring every 30 days due to the free tier. Check noip.com documentation for that purpose. Most wireless routers support noip.com. For more information, check here. You can also check DNS-O-Matic to update multiple noip.com DNS records.