ddns-updater icon indicating copy to clipboard operation
ddns-updater copied to clipboard

Feature request: custom provider

Open fredericrous opened this issue 4 years ago • 2 comments

  1. What's the feature?

Give users the ability to configure a custom provider. Looking at the current list of providers, I see a lot of providers are essentially calling one URL with a get request. We could give users the ability to define a url

{
    "settings": [
        {
            "provider": "custom",
            "domain": "example.com",
            "url": "https://someddns.service/update?domain=mondomain.fr&monToken=token&monIP",
            "displayName": "SomeDDNS"
        }
    ]
}
  1. Extra information?

We could go further by letting the user define a return code or to let him define HTTP headers, however in most cases the response seems to be 200 and no extra header is needed

The cons I see of implementing this is that we won't know which provider users are using (without some kind of anonymous analytics on which user could opt out) The pros: less providers to implement, more providers supported by just documenting how to set them up

fredericrous avatar Feb 07 '21 20:02 fredericrous

That's just a suggestion. As I'm using wildcard records with gandi and ovh I don't use this kind of paradigm. But I think that it could reduce the amount of code to maintain. And writing doc is sure less fun than coding but way faster ^^

fredericrous avatar Feb 07 '21 21:02 fredericrous

A few of them use the dyndns protocol with tiny variations. We could tackle that 👍

But otherwise, it's highly variable between each provider and not just a GET request.

qdm12 avatar Feb 08 '21 01:02 qdm12

Done in 0c561d437816022383a89076850e10642ca142a9

Documentation is at https://github.com/qdm12/ddns-updater/blob/master/docs/custom.md

It's sort of simple for now, but could be extended to some extent until implementing the provider specific code in Go would be simpler.

qdm12 avatar Jan 19 '24 20:01 qdm12