SPDyn updater not working?

ncp
docker

#1

Hi,

Just updated to 0.56.10, and whilst I’m here trying to set up a new DDNS via spdyn.de as I’m giving up on getting a LetEncrypt from my router provider’s NoIP domain (it always says too many issued when I try and get a cert, but spdyn.de worked first time).

The DDNS itself is working fine but the updater in NCP doesn’t seem to run properly. If I try and run it I get:

[ spDYN ]
/usr/local/etc/spdnsupdater/spdnsUpdater.sh: line 56: curl: command not found
/usr/local/etc/spdnsupdater/spdnsUpdater.sh: line 23: curl: command not found
[]
Restarting periodic command scheduler: cronStopping periodic command scheduler: cron.
Starting periodic command scheduler: cron.

Although the green icon appears in that window.

It would seem to me that some stuff is maybe missing from the script or from the container? Do I need to install something to get the curl working, or is there an issue in the container itself? Or is this something that the container can’t do (if so could it be added?). I’ve got the token issued and entered, but their website says it’s never actually been used.

Running on a Pi under HyperiotOS (my usual set-up).


#2

hi,

Please create a github issue with this info.

thanks for your feedback.


#3

@nachoparker

Done - https://github.com/nextcloud/nextcloudpi/issues/518


#4

@nachoparker thanks for the fix - my updater is only giving me 0.56.11 at the moment so I can’t test it yet. Due to my travelling it may be a while before I can do so, but will check once I’m back and 0.56.13 is available with it.

Thanks again, will be nice to have this fully working.


#5

Yes, it will land in master soon but it is still on the development branch.

Ideally we would remove curl and use just wget, but having zero manpower to fix it properly, we will install curl in the container, which is a waste of space.


#6

@nachoparker I’m not a great coder but if you have a moment to upload the script to PasteBin or somewhere I can grab it whilst I’m traveling I’m happy to see if I can work out the replacement wget setup in place of curl.

Or is it on GitHub somewhere?


#7

great, that would be really nice!

here you can find the code.


#8

I’ll try to have a look at it over the weekend.

I’ve found a few other scripts for this in various languages, so hopefully something can be sorted out for you.


#9

@nachoparker All the shell scripts I can find use curl, but I’m not sure that a simple swap of curl -s to wget -q wouldn’t work, with a bit of converting of the parameter string too. The script itself looks relatively simple. The curl version appears to be working now anyway.

When I get home next weekend I can try a modified version of the script and test it to see what else might be involved. Will update more then once I’ve check it in more detail.


#10

great! let us know


#11

@nachoparker if you swap “curl -s” to “wget -q” and in the two parameters strings swap the “-d” to “–post-data” for each item then it should just be a straight swap.

Sorry I can’t do a git pull, as I said before I’m not a programmer. But the changes should only take a couple of minutes to do.

Also have to tell you that since my install has updated itself to the current 0.56.18 that the script is failing again. If you try and run it from the panel it just says “invalid input” and doesn’t do anything at all.


#12

hi, that’s great!

If I do those changes for you, could you at least verify them?

In any case, it is pretty easy to use github :wink:


#13

@nachoparker of course - perfectly happy to test things :slight_smile:

Just let me know what you need. I’m home all week so have change to look at it before I go off travelling again.


#14

@nachoparker I’m now on 0.56.21 and the script seems to be running fine again.

Is it using wget or curl in this version?


#15

you can check for yourself at /usr/local/etc/spdnsupdater/spdnsUpdater.sh.

current version uses curl. I installed curl in the containers to quick fix this, but it takes more space to have both and docker containers should be as light as possible


#16

You can play around with that file and replace the curl for wget and try to make it work. Just make a backup copy of the file first.


#17

I’ll try and have a play with it over the next few days.

I’ve got the sharing working to my PC now, so should be able to access the scripting more easily.


#18

@nachoparker

I’ve given this a go via backing up and then editing syDNS.sh in the volume created on my USB drive. With the changes made the script still runs and seems to be working (coming back with no change, which would be correct) although I’m not fully convinced I’m working in the right place (and there doesn’t seem to be an editor in the container if I attach a terminal to that and try to work inside it).

I made a change to the reply notice (the NoChg one) and that didn’t replicate, which is what makes me wonder if I’m on the wrong script or location, as via ssh /usr/local/etc is empty, but that’s of course on the HypRiotOS level not inside the container.

Basically I’m trying my best, but I think it’s a bit beyond my skills unfortunately.


#19

Hi,

You need to make the changes in /usr/local/bin/spdnsUpdater.sh inside the container. You have a couple options

  • install vim or nano inside the container with apt-get and work there
  • go into the container, copy the file to the volume, edit it from your station with your favorite editor and copy it back from the volume to /usr/local/bin/ inside the container.

Make a backup copy first, but by the nature of docker containers, if you remove the container and then run it again, the default version will be restored.

Don’t hesitate to ask!


#20

Thanks. I’m on a business trip until the end of next week, but if I get chance when I’m home I’ll have another go at it and see what I can do