cloudflare-ddns

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2021 License: GPL-3.0 Imports: 11 Imported by: 0

README

Docker Image Size (latest by date) Docker Pulls GitHub release (latest by date) GitHub Workflow Status

If you are hosting a Server on a local Raspberry Pi or want to connect to your Router with a VPN you probaply ran in to this issue before. Your external IP Adress changes one you reboot your Router or sometimes just once a day. To tackle this issue I created this tool.

It fetches the external IP from myexternalip.com and then saves it in a DNS record in your cloudflare account.

Install module

go get github.com/Herobone/cloudflare-ddns

Docker Container

For this tool a docker image is avaiable in the Docker Hub

Usage

Usage: cloudflare-ddns <flags> <subcommand> <subcommand args>

Subcommands:
        update           Update the DNS Record from public IP

update

The update command is the main used command. These are it's arguments and their corresponding Environment variables. If you want to parse the data via the variable you musn't set it's argument.

Environment variables are low priority and are overwritten. Arguments and variables can be mixed

name
  -name string
        The Name of the DNS Record (default "ddns")
Description

This will be the name of the subdomain. The program will create a DNS record with this name

If not set the default content will be ddns

Synonyms -n string
Environment Variables: DDNS_NAME
proxied
  -proxied
        Proxy IP over Cloudflare CDN
Description

Should a regular record be created or a proxied record, that uses Cloudflare's CDN

If not given it's deactivated

Synonyms -p
Environment Variables: DDNS_PROXIED
ttl
  -ttl int
        Time To Live for the DNS record (default 120)
Description

The Time to life for the DNS Record. Must be greater than 120 or bust be 1 to set "automatic"

If not set the default content will be 120 (seconds)

Environment Variables: DDNS_TTL
zone
  -zone string
        Cloudflare Zone ID (Synonyms: -z)
Description

The ID of the cloudflare Zone the record should be set up on.

Either this or -zoneName is reuired. No need for both

Synonyms -z
Environment Variables: CLOUDFLARE_ZONE_ID
zoneName
  -zoneName string
        Cloudflare Zone name (i.e. 'example.com') (Synonyms: -zn)
Description

The readable name of a cloudflare zone. Normally the domain it's set up on (i.e 'example.com')

Either this or -zone is reuired. No need for both

Synonyms -zn
Environment Variables: CLOUDFLARE_ZONE_NAME

Usage Examples

Here are some examples on how to use the binary and the Docker image. These are not the only methods to start the program and are just for reference

Binary

cloudflare-ddns update -t YOUR_CLOUDFLARE_TOKEN_HERE -zn example.com -n web

This will create a DNS record at web.example.com

export CLOUDFLARE_API_TOKEN=your_cloudflare_token_here
export CLOUDFLARE_ZONE_ID=your_zone_id_here
cloudflare-ddns update

This will create a DNS record at ddns.yourdomain

Docker

docker run herobone/cloudflare-ddns update -t YOUR_CLOUDFLARE_TOKEN_HERE -zn example.com -n web

This will create a DNS record at web.example.com

export CLOUDFLARE_API_TOKEN=your_cloudflare_token_here
docker run -e CLOUDFLARE_API_TOKEN -e CLOUDFLARE_ZONE_ID=your_zone_id_here herobone/cloudflare-ddns update

This will create a DNS record at ddns.yourdomain

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL