Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/l480/cloudflare-dyndns

☁️ Cloudflare DynDNS solution for AVM FRITZ!Box
https://github.com/l480/cloudflare-dyndns

cloudflare dns dyndns fritzbox python

Last synced: 4 days ago
JSON representation

☁️ Cloudflare DynDNS solution for AVM FRITZ!Box

Awesome Lists containing this project

README

        

# cloudflare-dyndns

Middleware for updating [Cloudflare](https://www.cloudflare.com/) DNS records through an [AVM FRITZ!Box](https://en.avm.de/products/fritzbox/).

## Getting started

### Create a Cloudflare API token

Create a [Cloudflare API token](https://dash.cloudflare.com/profile/api-tokens) with **read permissions** for the scope `Zone.Zone` and **edit permissions** for the scope `Zone.DNS`.

![Create a Cloudflare custom token](./images/create-cloudflare-token.png "Create a Cloudflare custom token")

### :rocket: Option 1: Self-host cloudflare-dyndns

#### Run on Docker

Start cloudflare-dyndns:

```bash
docker run -p 80:80 ghcr.io/l480/cloudflare-dyndns:latest
```

#### Run on Kubernetes

Use the [Helm Chart](./helm-chart) to deploy cloudflare-dyndns to Kubernetes or directly [pull it from the repositories OCI registry](https://helm.sh/docs/topics/registries/#enabling-oci-support):

```bash
helm pull oci://ghcr.io/l480/charts/cloudflare-dyndns --version 0.1.0
```

### :cloud: Option 2: Use my free cloud service

If you don't want to host cloudflare-dyndns yourself, feel free to use my cloud service. Just use this Update URL in your FRITZ!Box:

```
https://dyndns.nicoo.org/?token=&record=www&zone=example.com&ipv4=&ipv6=
```

### Configure your FRITZ!Box

| FRITZ!Box Setting | Value | Description |
| ----------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Update URL | `https://dyndns.nicoo.org/?token=&record=www&zone=example.com&ipv4=&ipv6=` | Replace the URL parameter `record` and `zone` with your domain name. If required you can omit either the `ipv4` or `ipv6` URL parameter. |
| Domain Name | www.example.com | The FQDN from the URL parameter `record` and `zone`. |
| Username | admin | You can choose whatever value you want. |
| Password | ●●●●●● | The API token you’ve created earlier. |