Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

CLI for DynDNS Service using Cloudflare (mirror from gitlab)
https://github.com/p0l0/cloudflare-dyndns

cloudflare dyndns

Last synced: 7 days ago
JSON representation

CLI for DynDNS Service using Cloudflare (mirror from gitlab)

Awesome Lists containing this project

README

        

[![Go](https://github.com/p0l0/cloudflare-dyndns/actions/workflows/go.yml/badge.svg)](https://github.com/p0l0/cloudflare-dyndns/actions/workflows/go.yml) [![codecov](https://codecov.io/gh/p0l0/cloudflare-dyndns/branch/master/graph/badge.svg?token=I0X54WFSO6)](https://codecov.io/gh/p0l0/cloudflare-dyndns)

# Cloudflare DynDNS Client

A DynDNS Client using Cloudflare API

## Configuration
Configuration needs to be saved as a JSON File. Examples can be found under _config_ folder.

If you are using the new Cloudflare API Token:

```json
{
"cloudflare": {
"apiToken": "token"
},
"dnsZone": {
"name": "domain.com",
"record": "subdomain"
}
}
```

For the old API Key (not recommended):

```json
{
"cloudflare": {
"apiKey": "key",
"email": "[email protected]",
},
"dnsZone": {
"name": "domain.com",
"record": "subdomain"
}
}
```

### Token Permissions
Currently, following Token permissions are required:

- Permissions
- Zone:Zone:Read
- Zone:DNS:Edit
- Zone Resources
- All Zones

Unfortunately, it's currently not possible to give the token only permissions on the desired Zone, this is a known
issue at Cloudflare, hopefully this will be fixed in future.

## Build from source
```shell script
make
```

## Running tests

```shell script
make test
```