{"id":18978422,"url":"https://github.com/machineitsvcs/cloudflare-ddns-update","last_synced_at":"2025-04-15T01:30:52.336Z","repository":{"id":55398585,"uuid":"106139555","full_name":"MachineITSvcs/Cloudflare-DDNS-Update","owner":"MachineITSvcs","description":"Advanced Dynamic DNS Update Script for Cloudflare","archived":false,"fork":false,"pushed_at":"2025-03-07T08:54:34.000Z","size":77,"stargazers_count":36,"open_issues_count":0,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-08T02:38:24.602Z","etag":null,"topics":["bash","bash-script","cdn","cloudflare","cloudflare-api","cloudflare-ddns","cloudflare-dns","cloudflare-dynamic-dns","ddns","dns","dns-proxy","dns-record","dynamic","dynamic-ip","dyndns","ip","ipv4","machine-it-services","records","zone"],"latest_commit_sha":null,"homepage":"http://cloudflare-ddns-update.machineitservices.com/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MachineITSvcs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-10-08T00:24:47.000Z","updated_at":"2025-03-07T08:54:37.000Z","dependencies_parsed_at":"2024-11-06T07:33:27.664Z","dependency_job_id":"b07525d5-814c-482a-83a0-908b71bbc6e2","html_url":"https://github.com/MachineITSvcs/Cloudflare-DDNS-Update","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MachineITSvcs%2FCloudflare-DDNS-Update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MachineITSvcs%2FCloudflare-DDNS-Update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MachineITSvcs%2FCloudflare-DDNS-Update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MachineITSvcs%2FCloudflare-DDNS-Update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MachineITSvcs","download_url":"https://codeload.github.com/MachineITSvcs/Cloudflare-DDNS-Update/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248989006,"owners_count":21194511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","bash-script","cdn","cloudflare","cloudflare-api","cloudflare-ddns","cloudflare-dns","cloudflare-dynamic-dns","ddns","dns","dns-proxy","dns-record","dynamic","dynamic-ip","dyndns","ip","ipv4","machine-it-services","records","zone"],"created_at":"2024-11-08T15:33:34.741Z","updated_at":"2025-04-15T01:30:52.329Z","avatar_url":"https://github.com/MachineITSvcs.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003ca href=\"https://github.com/MachineITSvcs/Cloudflare-DDNS-Update\" target=\"_blank\"\u003eCloudflare-DDNS-Update\u003c/a\u003e\n\n## Introduction\n\nThis was a project I began working on when I founded \u003ca href=\"https://www.machineitservices.com/\" target=\"_blank\"\u003eMachine IT Services\u003c/a\u003e, a web hosting, web development, and IT consulting and services company.\nThis script has the potential to update the DNS Records (A and AAAA) of a multitude of domains/zones on Cloudflare, while also providing flexibility by allowing the update of specific subdomains/records for each domain specified in the config file, compatible with both IPv4 and IPv6 addresses.\nYou may refer to included config-example.sh for config file format. In order to run the script, just execute it with either the config file name (if in the same directory, i.e. config.sh) or the config file location (i.e. /your/config/directory/config.sh) as your first argument. You can specify numerous custom record sections, with each containing unique or different sets of subdomains/records for each zone specified. You can list the same zone more than once in separate records groups, setting the proxy option for each group as needed.\nIt will also accept a second argument. This is to specify an additional script to run. Any additional arguments will be passed to the additional script. This is helpful in the situation that your server is also a DNS server or needs the IP address updated somewhere in it's own files or databases as it will include the $oldip4/6 and $newip4/6 variables, as well as the $updatedir/cloudflare-ddns-update.sh script location.\nThis is the perfect script if you're managing multiple sites on your dynamic server, and want to update several individual zones for separate Cloudflare accounts in one script. This script will allow you to specify your accounts, zones, records, and whether or not to use the Cloudflare proxy.\n\n## Usage\n\n- In this command, the config file is assumed to be in the same directory as the script.\n\t- `/path/to/cloudflare-ddns-update.sh config.sh`\n\n- In this command, the config file location is specified.\n\t- `/path/to/cloudflare-ddns-update.sh /path/to/config.sh`\n\n- Custom script specified. Please note that the variables $updatedir (cloudflare-ddns-update.sh location) $oldip4, $oldip6, $newip4, and $newip6 will be passed.\n\t- `/path/to/cloudflare-ddns-update.sh config.sh update-my-dns-server.sh`\n\n- Custom script and argument provided. Please note that the argument is passed normally as `${1}` within your additional script.\n\t- `/path/to/cloudflare-ddns-update.sh config.sh update-my-dns-server.sh secondary-server-address`\n\nOf course, I'd recommend using a cronjob to run this script automatically at set intervals; Once every minute should be fine.\n\n## Contact\n\nFor assistance with the use or operation of this utility, feel free to \u003ca href=\"mailto:contact@machineitservices.com\"\u003eemail me\u003c/a\u003e. Please no spam or solicitation.\n\n## Donate\n\nDonations are definitely welcome to encourage future developments like this one. You may visit \u003ca href=\"https://www.machineitservices.com/donate/\" target=\"_blank\"\u003eour site\u003c/a\u003e if you would like to contribute. Thank you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachineitsvcs%2Fcloudflare-ddns-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmachineitsvcs%2Fcloudflare-ddns-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachineitsvcs%2Fcloudflare-ddns-update/lists"}