You're not completely right. The script saves your external ip and checks your current external ip against it. If the current external ip differs, a request to no-ip will be made. And only then.
It is generally bad to send a request to a website when it can be handled locally in the script.
Initially, e.g. after each router reboot, your external ip has not been stored, thus the script will send a request and store your external ip. Afterwards it will only update/send a request if you have a new ip.
It is generally bad to send a request to a website when it can be handled locally in the script.
Initially, e.g. after each router reboot, your external ip has not been stored, thus the script will send a request and store your external ip. Afterwards it will only update/send a request if you have a new ip.