Skip to content

ogelami/CFDNSU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CFDNSU

What is CFDNSU

Cloud Flare Domain Name System Updater is a lightweight hackable dynamic DNS for systems or servers running with dynamic IP addresses.

Prerequisites

  • gnu make
  • go version 1.8 or higher
  • *nix based system

Installation

  1. make
  2. make install

Configuring

Configuration is simple and there aren't that many options to keep track of. On a default installation the configuration file will be placed in /etc/cfdnsu.conf, but this is customization if wanted and can be modified in the Makefile.

A configuration path could also be specified during runtime by setting environment variable CFDNSU_CONFIGURATION_PATH

CFDNSU will not run if the configuration file cannot be found

auth

Either specify email and global_api_key or you choose to be more restrictive and just use token instead.

global_api_key and tokens can be found here: https://dash.cloudflare.com/profile/api-tokens

If the token permission is to strict you won't be able to dump zone_identifier and identifier.

records

A record consist of a zone_identifier and an identifier they can both be found on Cloudflare and are specific for the records that you want to dynamically update whenever your IP address change.

The two identifiers can be obtained either by dump or by finding them on cloudflare and are formatted in a 32 characters alpha-numerical sequence. The zone_identifier is specific for the domain whilst the identifier is specific for the sub-domain.

check

targets is a pool of trusted web servers preferably with enforced SSL/TLS encryption, the targets must be responding with the clients IP address in plain-text.

rate is the interval in seconds of which CFDNSU will make a call to selected web server too see if the IP has changed.

Plugins

fcgi

you can set up together with a web server with fcgi support which respond with the client IP, the purpose of this is so that you can set up your own trusted network of CFDNSU servers, these servers will then be configurable as targets.

If you do not wish to use this feature you can remove the fcgi block from the configuration file.

protocol is the protocol the webserver will communicate over with CFDNSU and listen is the listener address this could i.e /var/run/CFDNSU.sock or 127.0.0.1:27101.

"fcgi" : {
	"protocol" : "unix",
	"listen" : "bin/CFDNSU.sock"
},

webserver

"webserver" : {
	"protocol" : "https",
	"listen" : ":4443",
	"certificate" : "bin/server.crt",
	"certificate_key" : "bin/server.key",
	"log_requests" : true
},

example

"example": {
	"hello" : "universe"
}

Launch options

  • ./CFDNSU / ./CFDNSU run - will start the service
  • ./CFDNSU dump - will dump all the identifiers and zone_identifiers (this requires global_api_key and email specifiec in the configuration)

About

Minimalistic CloudFlare dynamic DNS updater

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors