PHPackages                             flatline/cfddns - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. flatline/cfddns

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

flatline/cfddns
===============

Updater to use CloudFlare as a dynamic DNS service

117PHP

Since Mar 22Pushed 10y ago2 watchersCompare

[ Source](https://github.com/Cosmicist/cfddns)[ Packagist](https://packagist.org/packages/flatline/cfddns)[ RSS](/packages/flatline-cfddns/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependenciesVersions (2)Used By (0)

CloudFlare Dynamic DNS Updater
==============================

[](#cloudflare-dynamic-dns-updater)

A simple command to keep a cloudflare's zone record updated with your local ip address so you can use it instead of dyndns.org or similar services.

Installation
------------

[](#installation)

Install it globally with composer:

```
$ composer global require flatline/cfddns:dev-master
```

Or clone the repo and use `./bin/cfddns`.

Usage
-----

[](#usage)

First you'll need to create a config file using the `init` command and then use the `update` command to update CloudFlare's record.

For the update, you can set up a cron so it's done automatically. I have it run every 15 minutes, I think it's more than enough. But the CloudFlare's API rate limit is 1200 requests every 5 minutes, so, theoretically, you could run it faster if you need to.

### The `init` command

[](#the-init-command)

```
$ cfddns init
```

The command will ask you for all the needed data and save the config file to your home: `~/cfddns.yml`.

*If you want to create it manually, there's a sample config file in the repo root you can use.*

### The `update` command

[](#the-update-command)

To update your CloudFlare record, run the update command:

```
$ cfddns update
```

This will automatically grab your public ip and update the CloudFlare's record with it.

The command calls the [`rec_edit`](http://www.cloudflare.com/docs/client-api.html#s5.2)action on the CloudFlare API. The config sets some of the parameters for this command, so check the docs if you need more details.

To do
-----

[](#to-do)

This are some improvements for the future:

- Logging (with monolog) This way it can be run in quiet mode and still be able to log errors (useful when runing from a cron)
- Automatically add record to a zone if the record does not exist

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/019c54e641913619a9ac66163a02515fa8187062c7128d877903cbc4acfd5391?d=identicon)[Cosmicist](/maintainers/Cosmicist)

---

Top Contributors

[![Cosmicist](https://avatars.githubusercontent.com/u/1039580?v=4)](https://github.com/Cosmicist "Cosmicist (14 commits)")

### Embed Badge

![Health badge](/badges/flatline-cfddns/health.svg)

```
[![Health](https://phpackages.com/badges/flatline-cfddns/health.svg)](https://phpackages.com/packages/flatline-cfddns)
```

###  Alternatives

[tuyakhov/yii2-youtube

Yii2 youtube extension

127.0k](/packages/tuyakhov-yii2-youtube)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
