{"id":18231488,"url":"https://github.com/aureum-cloud/cloudflare-ddns","last_synced_at":"2026-03-08T11:02:35.441Z","repository":{"id":260926156,"uuid":"882729457","full_name":"Aureum-Cloud/Cloudflare-DDNS","owner":"Aureum-Cloud","description":"Cloudflare DDNS is a Go-based DNS updater designed to keep your Cloudflare-managed DNS records in sync with your current public IPv4 and/or IPv6 addresses.","archived":false,"fork":false,"pushed_at":"2024-12-09T21:34:10.000Z","size":36,"stargazers_count":76,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-20T03:07:28.711Z","etag":null,"topics":["cloudflare","ddns","dns","ipv4","ipv6"],"latest_commit_sha":null,"homepage":"","language":"Go","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/Aureum-Cloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-03T15:58:33.000Z","updated_at":"2025-06-19T13:56:09.000Z","dependencies_parsed_at":"2024-12-09T19:30:04.435Z","dependency_job_id":"73cd0960-417e-4e9a-927c-24a64e779190","html_url":"https://github.com/Aureum-Cloud/Cloudflare-DDNS","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"b86dc41ea1cc61846a208dc78d91ef3b76c775a1"},"previous_names":["aureum-cloud/cloudflare-ddns"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Aureum-Cloud/Cloudflare-DDNS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aureum-Cloud%2FCloudflare-DDNS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aureum-Cloud%2FCloudflare-DDNS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aureum-Cloud%2FCloudflare-DDNS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aureum-Cloud%2FCloudflare-DDNS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aureum-Cloud","download_url":"https://codeload.github.com/Aureum-Cloud/Cloudflare-DDNS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aureum-Cloud%2FCloudflare-DDNS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260868909,"owners_count":23074961,"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":["cloudflare","ddns","dns","ipv4","ipv6"],"created_at":"2024-11-04T12:02:50.189Z","updated_at":"2026-03-08T11:02:30.421Z","avatar_url":"https://github.com/Aureum-Cloud.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloudflare DDNS\n\n**Cloudflare DDNS** is a Go application designed to update DNS records on Cloudflare according to your current public IPv4 and/or IPv6 addresses. It reads configuration from a JSON file, retrieves the current IP addresses, and updates DNS records as needed.\n\n## Features\n\n- **Fetches Public IPs**: Retrieves your public IPv4 and IPv6 addresses.\n- **Configurable TTL**: Allows setting a custom Time-To-Live (TTL) for DNS records.\n- **Automatic Updates**: Supports periodic updates of DNS records with the latest IP address.\n\n## Requirements\n\n- **Cloudflare API Token**: Set an environment variable `CLOUDFLARE_API_TOKEN` with your Cloudflare API token.\n\n## Configuration\n\nThe script expects a JSON configuration file located at `/etc/config/config.json`. Below is an example configuration:\n\n```json\n{\n  \"ipv4_enabled\": true,\n  \"ipv6_enabled\": false,\n  \"ttl\": 300,\n  \"zones\": [\n    {\n      \"id\": \"d9e353b268c23a9737f5b40b31f92a6f\",\n      \"name\": \"aureum.cloud\",\n      \"update_root_domain\": true,\n      \"subdomains\": [\n        \"www\"\n      ]\n    }\n  ]\n}\n```\n\n### Configuration Fields\n\n- **ipv4_enabled**: Set to `true` to enable IPv4 address updates.\n- **ipv6_enabled**: Set to `true` to enable IPv6 address updates.\n- **ttl**: Time-To-Live for the DNS records (in seconds). If set to less than 30, defaults to 300 seconds.\n- **zones**: An array of DNS zones to update.\n  - **id**: Cloudflare zone ID.\n  - **name**: Domain name of the zone.\n  - **update_root_domain**: Set to `true` to update the root domain.\n  - **subdomains**: List of subdomains to update.\n\n## Usage\n\n### Single Update\n\nTo perform a single update of DNS records:\n\n```bash\ngo run main.go\n```\n\n### Repeated Updates\n\nTo repeatedly update DNS records at the interval specified by the TTL:\n\n```bash\ngo run main.go --repeat\n```\n\n### Running with Docker\n\nTo run this script in a Docker container, use the following command. Be sure to replace `\u003cpath-to-config\u003e` with the path to your local configuration file and `\u003cyour_cloudflare_api_token\u003e` with your actual Cloudflare API token:\n\n```bash\ndocker run -e CLOUDFLARE_API_TOKEN=\u003cyour_cloudflare_api_token\u003e -v \u003cpath-to-config\u003e:/etc/config/config.json ghcr.io/aureum-cloud/cloudflare-ddns:latest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faureum-cloud%2Fcloudflare-ddns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faureum-cloud%2Fcloudflare-ddns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faureum-cloud%2Fcloudflare-ddns/lists"}