{"id":23411046,"url":"https://github.com/parthpower/cloudflare-ddns-client","last_synced_at":"2026-04-13T18:02:34.685Z","repository":{"id":94451693,"uuid":"138427326","full_name":"parthpower/CloudFlare-DDNS-Client","owner":"parthpower","description":"Dynamic DNS Client Implemented for CloudFlare using their API v4","archived":false,"fork":false,"pushed_at":"2019-03-08T01:32:00.000Z","size":11,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T03:43:31.176Z","etag":null,"topics":["bash","cloudflare","ddns","ddns-client","ddns-script","ddns-updater"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parthpower.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-23T19:13:01.000Z","updated_at":"2020-03-02T06:00:37.000Z","dependencies_parsed_at":"2023-04-28T08:55:43.937Z","dependency_job_id":null,"html_url":"https://github.com/parthpower/CloudFlare-DDNS-Client","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/parthpower/CloudFlare-DDNS-Client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthpower%2FCloudFlare-DDNS-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthpower%2FCloudFlare-DDNS-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthpower%2FCloudFlare-DDNS-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthpower%2FCloudFlare-DDNS-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parthpower","download_url":"https://codeload.github.com/parthpower/CloudFlare-DDNS-Client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthpower%2FCloudFlare-DDNS-Client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31764317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cloudflare","ddns","ddns-client","ddns-script","ddns-updater"],"created_at":"2024-12-22T17:54:43.983Z","updated_at":"2026-04-13T18:02:34.669Z","avatar_url":"https://github.com/parthpower.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CloudFlare Dynamic DNS Client\n\nBare minimum bash script to use CloudFlare DNS API for Dynamic DNS. To get your domain on CloudFlare DNS for just go to https://cloudflare.com and they will walk you through the process.\n\n## Installation\n\nIt uses [jq](https://stedolan.github.io/jq/) for JSON parsing. So you may download it from https://stedolan.github.io/jq/download/ or just copy paste the script in terminal.\n\n### Windows\n\nIt works on Git Bash! \n\n````bash\ngit clone https://github.com/parthpower/CloudFlare-DDNS-Client.git\ncd CloudFlare-DDNS-Client\nchmod +x cf_ddns.sh\n# Install jq for 64 bit Windows\ncurl https://github.com/stedolan/jq/releases/download/jq-1.5/jq-win64.exe \u003e jq.exe\n````\n\n### Linux\n\n```shell\ngit clone https://github.com/parthpower/CloudFlare-DDNS-Client.git\ncd CloudFlare-DDNS-Client\nchmod +x cf_ddns.sh\n# Install jq for 64 bit Linux\ncurl https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 \u003e jq\n# sudo apt-get install jq\nchmod +x jq\n```\n\n### macOS\n\nI have no idea but it should work.\n\n## How do I run it?\n\n1. Get `zone id` and `API Key` from CloudFlare Dashboard.\n\n2. First Run:\n\n   `./cf_ddns.sh --key \u003capi key\u003e --zone \u003czone id\u003e --email \u003cyour email\u003e --interval 60 --config config.ini --save test.example.com test2.example.com | tee log.txt`\n\n3. Once you have the config file, just `./cf_ddns.sh`\n\n4. Done! You can find all the DNS records on the CloudFlare dashboard.\n\n`./cf_ddns.sh -h` for help.\n\n## Credits\n\n- [ipify.org](https://ipify.org) for the simplest API to get IP.\n- [httpbin.org](https://httpbin.org) for the debugging help.\n- [Tutorial for Arg Parse](http://www.bahmanm.com/blogs/command-line-options-how-to-parse-in-bash-using-getopt)\n- Ton of [StackOverflow](https://stackoverflow.com) and https://unix.stackexchange.com help.\n- [CloudFlare](https://CloudFlare.com) for the awesome API.\n- [GitHub](https://github.com) and [NameCheap](https://nc.me) for the free domain in education pack.\n\n## Notes\n\n- To save number of API calls this script updates the `A` record only when the host IP changes. It does not periodically check if the record is modified by other means. You can use `--always-update-dns` to update the record entry at the interval.\n\n- What is DNS record? https://www.cloudflare.com/learning/dns/dns-records/ (Psst: We are just messing with `A` record here)\n\n- Works on CloudFlare API `v4`\n\n- Maybe use `sed` instead of `jq` in future. Pull-Requests are welcomed.\n\n  ​\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparthpower%2Fcloudflare-ddns-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparthpower%2Fcloudflare-ddns-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparthpower%2Fcloudflare-ddns-client/lists"}