An Auto renewal for No-IP

For people who are don’t have a static IP and use no-ip and also use linux.

This might help all the people who forget to renew there no-ip every month and there nodes end up going offline.

9 Likes

In case someone wants to look at alternatives to No-IP

afraid.org dynamic dns system works well for me for several years

Is there any way to run this on a Synology system as well, when running Dockerfile I get an error:

On Dockerhub there is unfortunately no image for it :frowning:

/edit:
Found another solution with smaller Image that also works perfectly on Synology:
https://hub.docker.com/r/simaofsilva/noip-renewer

On synology use this

Run perfect with my 2 synology

On ubuntu i use www.duckdns.org

1 Like

Can you please share how you set it up in your Synology? I can’t figure out the right script to run in task scheduler…

Hello @jeffchen86,
Welcome to the forum!

It’s better to configure the updater for your no-IP domain on your router (it’s usually under DDNS section).

I have the domain updater set up on my router to keep up with the ISP dynamic IPs.
My question was around how to set up the no-IP auto monthly free renewals via noip-renewer container instead of manual method.

With this command it works for me fine

docker pull simaofsilva/noip-renewer
EMAIL='noip-user'
PASSWORD='noip-pw'
docker run --rm simaofsilva/noip-renewer $EMAIL $PASSWORD
2 Likes

Thank you so much. it works like a charm.

1 Like

for some reason it stopped working…


Standard output/error:
Using default tag: latest
latest: Pulling from simaofsilva/noip-renewer
Digest: sha256:3b03468e838622dfde1c0f2410ad5cec0dc44869786eb887b56c37c61a720ae9
Status: Image is up to date for simaofsilva/noip-renewer:latest
docker.io/simaofsilva/noip-renewer:latest
Opening browser
Traceback (most recent call last):
File “//renew.py”, line 75, in
i.click()
File “/root/.local/lib/python3.11/site-packages/selenium/webdriver/remote/webelement.py”,
line 93, in click
self._execute(Command.CLICK_ELEMENT)
File “/root/.local/lib/python3.11/site-packages/selenium/webdriver/remote/webelement.py”,
line 410, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/root/.local/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py”,
line 444, in execute
self.error_handler.check_response(response)
File “/root/.local/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py”,
line 249, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error:
session deleted because of page crash
from tab crashed
(Session info: headless chrome=102.0.5005.182)

docker pull simaofsilva/noip-renewer
EMAIL=‘noip-user’
PASSWORD=‘noip-pw’
docker run --rm simaofsilva/noip-renewer $EMAIL $PASSWORD

so im trying to run this on synology. Got it installed in a docker etc.
two questions. How do we know it doesnt steal credentials?
secondly there doesnt seem to be any logs. How to check if its doing its thing? THank you

The source code is available on github for all to view if there are concerns.
I have this set up as a task in synology scheduled on every friday and the log is emailed to me :wink:
image

ok so i m having no luck with this.
Im running it as: docker run --rm -it simaofsilva/noip-renewer ‘no_ip_eamil_username’ ‘password’
But get error: opening browser, cannot login, logging off.
Then the docker crashes and stops!!

Is my syntax not correct? on the main guthub page i see e.g:
docker run --rm -it simaofsilva/noip-renewer:

what is in there?

EDIT: ok it seems it doesnt run when i run in the docker terminal. Seems like user permission issue. When i run it directly as root in the synology OS shell, it seems to work.

if i put it as a scheduled task to be run as root, it fails with this error in the email

Task: No-ip-Renew
Start time: Tue, 24 Jan 2023 01:02:00 GMT
Stop time: Tue, 24 Jan 2023 01:02:00 GMT
Current status: 1 (Interrupted)
Standard output/error:
the input device is not a TTY

Maybe you need to use ‘sudo’ with every command, or ‘sudo su’ before any, like with the ‘docker run storagenode’.

tried with sudo still doesnt work. It only seems to work if i run the script/command manually via command line.