{"id":21176816,"url":"https://github.com/yzen90/dynaflare","last_synced_at":"2026-02-24T03:32:06.937Z","repository":{"id":263227781,"uuid":"887685262","full_name":"Yzen90/dynaflare","owner":"Yzen90","description":"Simple DDNS client for Cloudflare.","archived":false,"fork":false,"pushed_at":"2024-12-17T00:56:42.000Z","size":76,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-30T04:24:36.200Z","etag":null,"topics":["cloudflare","ddns","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/dynaflare","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yzen90.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":"2024-11-13T05:24:11.000Z","updated_at":"2024-12-17T01:02:51.000Z","dependencies_parsed_at":"2024-11-17T05:37:34.058Z","dependency_job_id":"7b0d37d2-99ad-4f13-865f-6ce0e76cb7f7","html_url":"https://github.com/Yzen90/dynaflare","commit_stats":null,"previous_names":["yzen90/dynaflare"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Yzen90/dynaflare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yzen90%2Fdynaflare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yzen90%2Fdynaflare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yzen90%2Fdynaflare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yzen90%2Fdynaflare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yzen90","download_url":"https://codeload.github.com/Yzen90/dynaflare/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yzen90%2Fdynaflare/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281403407,"owners_count":26495042,"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","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cloudflare","ddns","rust"],"created_at":"2024-11-20T17:12:15.005Z","updated_at":"2025-10-28T07:36:17.315Z","avatar_url":"https://github.com/Yzen90.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DynaFlare\n#### Simple IPv4 DDNS client for Cloudflare. Works on the Raspberry Pi!\n\n\n### 1. Obtaining DynaFlare\n\n#### Build from source\n```shell\ngit clone https://github.com/Yzen90/dynaflare.git\ncd dynaflare\ncargo build --release\n```\n\n#### Install crate\n```shell\ncargo install dynaflare\n```\n\n#### Download a pre-built binary\n- [Linux aarch64](https://github.com/Yzen90/dynaflare/releases/latest/download/dynaflare-aarch64-linux.zip)\n- [Linux x86_64](https://github.com/Yzen90/dynaflare/releases/latest/download/dynaflare-x86_64-linux.zip)\n- [Windows x86_64](https://github.com/Yzen90/dynaflare/releases/latest/download/dynaflare-x86_64-windows.zip)\n\n\n### 2. Configuration\n\nDynaFlare looks in the current working directory for a `configuration.toml` file with the following fields:\n\n- `interval` (_Optional_): String with one or more pairs of a positive integer immediately followed by 'days', 'h', 'min', 's', 'ms', 'μs' or 'ns'. If not provided, dynaflare will check and update de provided records only once and then exit. Otherwise dynaflare will keep runing and continuously check at this interval for public ip changes and update the dns records when necessary.\n\n- `zone_id` (_Required_): ID of the Clouldflare Zone that contains the provided dns records.\n\n- `api_token` (_Required_): Cloudflare API token with DNS read and edit permissions for the provided zone.\n\n- `records` (_Required_): DNS records to update or create with the current public IPv4 address.\n\n- `count_repeated_errors` (_Optional_): Defaults to `false`. If `true`, consecutive identical errors are shown only the first time, then the additional error count is shown until there is a successful request or a different error.\n\n- `log_level` (_Optional_): The log level filter, defaults to `INFO`. Valid values are `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, or `OFF`.\n\n#### Example `configuration.toml`\n\n```toml\ninterval = \"1min 30s\"\nzone_id = \"cloudflare zone id here\"\napi_token = \"cloudflare api token here\"\nrecords = [\"dynamic.example.com\"]\ncount_repeated_errors = true\n```\n\n\n### 3. systemd service\n\nA systemd service unit file template for DynaFlare is provided in the repository that can be used as follows to install a systemd service:\n\n```shell\nexport DYNAFLARE_USER=dynaflare # User that the process will be executed as\nexport DYNAFLARE_WDIR=/usr/local/etc/dynaflare # Directory where configuration.toml is located\nexport DYNAFLARE_EXEC=/usr/local/bin/dynaflare # Path of dynaflare executable file\n\nenvsubst \u003c dynaflare.service | sudo tee /etc/systemd/system/dynaflare.service\n\nsudo systemctl start dynaflare\nsudo systemctl status dynaflare\nsudo systemctl enable dynaflare\n```\n\n#### Example systemd unit file\n```ini\n[Unit]\nDescription=DynaFlare, a simple DDNS client for Cloudflare\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nType=simple\nUser=dynaflare\nWorkingDirectory=/usr/local/etc/dynaflare\nExecStart=/usr/local/bin/dynaflare\nRestart=on-failure\nRestartSec=1min\n\n[Install]\nWantedBy=multi-user.target\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyzen90%2Fdynaflare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyzen90%2Fdynaflare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyzen90%2Fdynaflare/lists"}