Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Kilrah/Cloudflare-DDNS-config

Featured Replies

Just thought I would add some context here for those looking at this thread.  I came here to see example configs and the above examples seem to imply that the Zone ID is the url IE: `google.com` when in fact it is not, which is probably the reason @mjeshurun was getting the error they were getting.  The Zone ID is simply the ID cloudflare uses to identify a domain.

This will direct you to where you need to go to get the Zone ID if you do not already know where to find it.

https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/

  • Replies 55
  • Views 12.3k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • semaj4712
    semaj4712

    Just thought I would add some context here for those looking at this thread.  I came here to see example configs and the above examples seem to imply that the Zone ID is the url IE: `google.com` when

  • You basically duplicate the whole thing inside the "cloudflare" block, based on the author's sample:   { "cloudflare": [ { "authentication": { "api_token": "api_token_here"

  • Well no because it says "before running the container" precisely so that wrong folder doesn't get created.

Posted Images

1 hour ago, semaj4712 said:

Just thought I would add some context here for those looking at this thread.  I came here to see example configs and the above examples seem to imply that the Zone ID is the url IE: `google.com` when in fact it is not, which is probably the reason @mjeshurun was getting the error they were getting.  The Zone ID is simply the ID cloudflare uses to identify a domain.

This will direct you to where you need to go to get the Zone ID if you do not already know where to find it.

https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/

 

Thank you very much, @semaj4712! You were correct. 🙏🙏

As I'm trying to switch from a different cloudflare ip updater, I mistakenly assumed the zone_id meant the domains URL.

Your tip helped me find the actual zone_id's.

 

However, I'm now seeing these error messages for the sub1 "www" of both domains I'm trying to set up in the config.json file.

 

 Adding new record {'type': 'A', 'name': 'www.***********.com', 'content': '**.***.***.***', 'proxied': True, 'ttl': 300}
😡 Error sending 'POST' request to 'https://api.cloudflare.com/client/v4/zones/*****************************/dns_records':
{"result":null,"success":false,"errors":[{"code":81054,"message":"A CNAME record with that host already exists. For more details, refer to \u003chttps://developers.cloudflare.com/dns/manage-dns-records/troubleshooting/records-with-same-name/\u003e."}],"messages":[]}

 

Any ideas how to solve this?

  • Author

I've always had some of those as well, doesn't seem to cause a problem.

Seems the cloudflare API sometimes times out while the container tries to get the existing records so it then tries to add some that are already there.

Edited by Kilrah

9 minutes ago, Kilrah said:

I've always had some of those as well, doesn't seem to cause a problem.

Seems the cloudflare API sometimes times out while the container tries to get the existing records so it then tries to add some that are already there.

 

I'm not entirely sure the cloudflare API is the problem.

If I run oznu/cloudflare-ddns app I don't get any error messages regarding the "www" subdomain. And onzu's app also depends on the cloudflare API.

 

  • Author

I always see either timeouts, HTML from an error page, handshake failures, internal server errors, retries exceeded etc on the lines before when it happens.

 

image.thumb.png.6b96723561693629ae882a448c9e6f63.png

 

It's not that frequent (hasn't been one since last container start a day ago) but happens somewhat regularly.

 

 

Edited by Kilrah

Thanks, everyone, for all your help 🙏🙏

I think I finally got Cloudflare-DDNS-config to work with no error messages.

I'll keep checking the logs for the next few days, but so far it appears to be working well :)

  • 9 months later...

I followed the guide on github but I get the "Bad Parameter" Error when trying to start the container. Anyone having the same problem somehow?
I should have set it up correctly.
My steps were: 

  1. install the container
  2. run the commands from the info page
  3. adjust the json according to my data

I first thought because I had a wildcard subdomain so I removed it. No luck unfortunately.

  • Author

So you downloaded a sample json file, edited it and linked to it correctly in the template? Bad Parameter is usually that there's an error in the Docker command itself, the container isn't even starting yet

  • 2 weeks later...
On 11/1/2022 at 2:24 AM, Kilrah said:

I'm another troubled user.  I'm not sure if there's a syntax error in the description or it's just me.  But copying those two lines into terminal gives an error:

mkdir /mnt/user/appdata/cloudflare-ddns-config
wget -qO /mnt/user/appdata/cloudflare-ddns-config/config.json https://github.com/timothymiller/cloudflare-ddns/raw/master/config-example.json
/mnt/user/appdata/cloudflare-ddns-config/config.json: Is a directory


I'm assuming that the config-example.json file sits inside like: /mnt/user/appdata/cloudflare-ddns-config/config.json/config.json  Or is the config.json directory supposed to be a file within the same named directory?  I've tried both ways and keep getting an error " Error reading config.json"  in the docker log.  

 

My config.json file looks like this (linter checked):

{
  "cloudflare": [
    {
      "authentication": {
        "api_token": "redacted"
      },
      "zone_id": "redacted, yes the long-ass zone file descriptor",
      "subdomains": [
        {
          "name": "test1",
          "proxied": false
        },
        {
          "name": "test2",
          "proxied": false
        }
      ]
    }
  ],
  "a": true,
  "aaaa": true,
  "purgeUnknownRecords": false,
  "ttl": 300
}

 

 

Thanks for this. I finally got it setup after some trouble. Maybe updating the wording on the instructions? The example shows api keys and tokens. The config wants the api key in the api token position. This confused me for a while. I was putting in the name of the token and couldn't figure out why it wasn't working.

After pounding my head on the wall of a while I figured that out. Thanks again, now I don't need to run multiple instances of the other one. 🙂

  • Author
5 hours ago, yoleska said:

Or is the config.json directory supposed to be a file within the same named directory?

There should not be a directory, the file is  /mnt/user/appdata/cloudflare-ddns-config/config.json. But if you started the container once without first putting the file in place there Docker will have made a directory. Stop, remove the directory, put the file there, start.

I dont have that problem, but i cant understand why you not automatic do the neccessary changes...?

But i see now i already suggestet that a year ago, also told him the config errors he made and its still there... so he just likes to "fix" the same problems over and over again - i guess.

Edited by NewDisplayName

  • Author

No idea what you're talking about...

 

I'm not the author of either the container, samples or documentation.

Edited by Kilrah

2 hours ago, Kilrah said:

No idea what you're talking about...

 

I'm not the author of either the container, samples or documentation.

Are you the author for this thread tho?

 

You have uncomplete instructions in your first post which makes it harder for ppl to get it startet.

Edited by NewDisplayName

Ok, I see one problem.  When the container is installed, it adds a trailing forward-slash to the config path in the container settings:

image.png.e12e7483cc56df979a8db17ca0d71edc.png

After removing that trailing slash at the end, and placing the config file in the path as mentioned by @Kilrah now it works..yay! 

 

  • Author
2 hours ago, yoleska said:

When the container is installed, it adds a trailing forward-slash to the config path in the container settings:

That would be something you did, the template sets this by default as per container docs:

 

image.png.92376f80f3b3dd479cddf4bfaf7fc337.png

 

 

Edited by Kilrah

Oh, I suppose that's possible.  I was changing a bunch of things trying to get it to work right.  Very well.  

 

  • 11 months later...

Hi there.
Since yesterday my DNS are not updated anymore on cloudflare and i have huge error codes in the protocol.
It ends with:
{"result":null,"success":false,"errors":[{"code":9207,"message":"Request body is invalid."}],"messages":[]}

Is there any way to fix it? It was running without issues for month and i did not chang anything.
Reinstalling the docker image does not help.

32 minutes ago, Stogie said:

Hi there.
Since yesterday my DNS are not updated anymore on cloudflare and i have huge error codes in the protocol.
It ends with:
{"result":null,"success":false,"errors":[{"code":9207,"message":"Request body is invalid."}],"messages":[]}

Is there any way to fix it? It was running without issues for month and i did not chang anything.
Reinstalling the docker image does not help.

Theres a fix in the comments of it.

https://github.com/timothymiller/cloudflare-ddns/issues/202

Thanks.
Looks like everything is working normal again without doing anything from my side.

  • 10 months later...

Does this error mean my json file is incorrect? The subdomain to be updated is 4.domain.com

image.png

image.png

  • Author

Bit hard to say without an actual file and json editor, chuck it in an online validator and check

  • 2 months later...

Worked fine befor ,now Have error :

  • Error sending 'PUT' request to 'https://api.cloudflare.com/client/v4/zones/3reductedfgdfggdfgdfgfggfd13/dns_records/xxxxxxxreductedfc':

  • result=<null>

  • success=false

  • errors=

    • code=9005

    • message=Content for A record must be a valid IPv4 address.

  • messages=

  1. 📡 Updating record {'type': 'A', 'name': 'dynamic.mysite.com', 'content': '2606:xxx:x::', 'proxied': True, 'ttl': 300}

Edited by Masterwishx

  • Author
4 hours ago, Masterwishx said:

📡 Updating record {'type': 'A', 'name': 'dynamic.mysite.com', 'content': '2606:xxx:x::', 'proxied': True, 'ttl': 300}

Looks like you're trying to update an A record with an ipv6 address...

I've don't know anything about v6, see container doc/issues?

Edited by Kilrah

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.