Ydns.eu won't update



  • Hi @ll

    I wanted to setup dynamic DNS using ydns.eu but it doesn't work.

    Service type: Custom
    Username: As shown on account (API Access)
    Password: As shown on account (API Access)
    Update url: https://ydns.eu/api/v1/update/?host=myHost.ydns.eu (myHost = specific host)

    When enabled verbose logging and force update, the log shows the following:

    Sep 4 09:45:30 php: /services_dyndns_edit.php: phpDynDNS: (Success) IP Address Updated Successfully!
    Sep 4 09:45:30 php: /services_dyndns_edit.php: phpDynDNS: updating cache file /conf/dyndns_wancustom''2.cache: 189.60.233.2
    Sep 4 09:45:30 php: /services_dyndns_edit.php: DynDns (): 189.60.233.2 extracted from local system.
    Sep 4 09:45:30 php: /services_dyndns_edit.php: DynDNS (): Current Service: custom
    Sep 4 09:45:30 php: /services_dyndns_edit.php: DynDNS (): DynDns _checkStatus() starting.
    Sep 4 09:45:29 php: /services_dyndns_edit.php: Sending request to: https://ydns.eu/api/v1/update/?host=***.ydns.eu
    Sep 4 09:45:29 php: /services_dyndns_edit.php: Custom DDNS (): DNS update() starting.
    Sep 4 09:45:29 php: /services_dyndns_edit.php: DynDNS (): DynDns _update() starting.
    Sep 4 09:45:29 php: /services_dyndns_edit.php: DynDNS (): running get_failover_interface for wan. found re0
    Sep 4 09:45:29 php: /services_dyndns_edit.php: DynDns (): 189.60.233.2 extracted from local system.
    Sep 4 09:45:29 php: /services_dyndns_edit.php: DynDns: updatedns() starting

    Support from ydns.eu says:

    From our web server logs I can see that your API update call (issued on 12:14 UTC) resulted in an HTTP 400 error.
    These kind of errors are generated in case the input is malformed (such as missing HTTP Authorization or incompatible HTTP Authorization).
    Our update API v1 is designed to be fully compatible with DynDNS.org.

    As their API is fully compatible with DynDNS.org I hope anyone here on the forum may help me with this.

    • Tried different update url (http / https)
    • Tried Username as plain (Email-Adress instead of API Access Username)
    • Tried setting "ok" as result match

    Nothing seems to work  :o



  • Add to the end of the update-URL

    &myip=%IP%

    …and give it a try



  • @chemlud:

    Add to the end of the update-URL

    &myip=%IP%

    …and give it a try

    Already tried without success but forgotten to mention.



  • Have you configured the DynDNS as "Custom"? A screenshot from the GUI might be helpful…

    Thought about switching to, let's say spdns.de, that works pretty well with pfSense?



  • Here is the screenshot of the configuration.




  • And the screenshot of the ydns.eu account API Access.




  • Have you tried without "https://", simply "ydns.eu…..

    ...apparently the &myip=%IP% is not needed for this service.



  • @chemlud:

    Have you tried without "https://", simply "ydns.eu…..

    Hm.. no luck  :(



  • …even without the &myip=%IP% ? strange...



  • @chemlud:

    …even without the &myip=%IP% ? strange...

    yes.

    Currently I'm trying to get it work using jMeter, just to see if it will work. But I get always a "Missing Authorization header" response.



  • Ok, now I got it work, at least with jMeter.

    [HTTP Header Manager]
    Name: Authorization
    Value: *** (Base64 encoded "username:password" from API Access)

    [HTTP Request]
    Server Name: ydns.eu/api/v1/update
    Parameters: host | ***.ydns.eu

    Response is "ok"



  • …with spdns.de you would be done in 5 min, just saying... ;)



  • @chemlud:

    …with spdns.de you would be done in 5 min, just saying... ;)

    ;) yes, as it was with duckdns.org and the custom configuration. It just works, but I wanted to get this one working too.

    May be someone of the devs can tell me if the username and password will be put together and will be base64 encoded for basic authorization?

    Authorization: Basic {base64 encoded username:password}



  • Hi,

    I did some debugging and it looks like that pfSense is not specifically using HTTP basic auth when using a "custom" dyndns provider (see https://forum.pfsense.org/index.php?topic=66977.0). As I am unfamilar with the structure on pfSense, I'm not sure how to add an additional dyndns provider. All I found is the file /etc/inc/dyndns.class which seems to define how hosts are updated for a specific service, but it doesn't define which services are available. If anyone can hint me in the right direction, I'd be happy to provide a patch on github to include ydns as additional dyndns provider.


Log in to reply