diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e4392354680a56de33c24cc7b2d02f741795a5c3 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# CFDNS + +Dynamic server DNS backed by cloudflare + +## Why? + +If you run a server without a static IP address (e.g. at home), it can be +cumbersome or expensive to keep a domain name updated with the latest IP +that has been assigned to you. + +Compatible with a free Cloudflare account, this script can keep you updated +and online + +## How? + +This will be written from the perspective of someone running a server in their +house with a residential intenret connection backed by a provider such as Virgin +media. + +1. In your DHCP settings, assign a static IP address to the machine that should +serve requests +2. With UPnP, port forward the relevant ports for access. This may be `80` and +`22` for standard HTTP and SSH access +3. `git clone` this script to a target directory +4. `npm install` the dependencies +5. `cp config.example.json config.json` and fill in the relevant details. + 1. The `zone_id` can be found by going to the cloudflare dashboard and looking + at the overview for a given domain. On the right hand side are a series of + settings - see `1` + 2. Create an API token for the application. The link to do so (`2`) is located + just underneath the Zone ID. The token only needs `edit` permissions on the + `Zone DNS` +6. Set up a cron (or other scheduling option) to invoke the script at regular intervals