GitXplorerGitXplorer
d

generic-dns-update

public
10 stars
8 forks
9 issues

Commits

List of commits on branch master.
Verified
bc01673db1c658063cc963d4cdf9357ef4a2d5d5

doc(README): explain lake of maintenance

ddlecan committed 3 years ago
Unverified
0a9d0d02aaff55813613609295245dde65530ba8

Cargo.toml: remove "readme" field

mmarcoieni committed 4 years ago
Verified
1d335e1ccdb29515cf5207102ade6d22e9783547

Merge pull request #19 from palfrey/upgrade-url

committed 5 years ago
Unverified
6594388b5e845a8f55f22b310872b8942073878e

Update url to fix build issues

ppalfrey committed 5 years ago
Unverified
f827cdbbf474c0ad67a0e37b96ea2e09606fe2ad

Better Appveyor configuration

ddlecan committed 6 years ago
Unverified
e8a92291035bc8c7e5e01079c9d5ee3f0c3ffbca

Disable binary nightlies publishing

ddlecan committed 6 years ago

README

The README file for this repository.

GDU | Generic DNS Update

This project is not maintained anymore.
I decided to replace it by combining Terraform and the Gandi Go provider

See:

Legacy description

A cross-platform tool to update DNS zonefiles (such as Gandi.net) when you have a dynamic public IP address.

It's a DynDNS or equivalent alternative, available for several OS and configured by command line parameters.

For developpers, it's written in Rust and can be easily extended to add new DNS providers or new ways to detect your public IP address.

Features

  • [x] Detect your public IP address

    • [x] By HTTP
    • [ ] By DNS lookup
  • Create or update your DNS provider zonefiles to associate to public IP address with an A or AAAA DNS record.

    • [x] Gandi.net
    • [ ] Other providers
  • Run on several OS:

    • [x] Linux x86_64
    • [x] Linux ARMv6 and more, such as Raspberry PI all models, including PI2
    • [x] Windows 32/64 bits
    • [ ] OS X

Command line usage

$ gdu --help

USAGE:
  gdu [FLAGS] [OPTIONS]

FLAGS:
    -n, --dry-run    Dry run, don't really update Gandi zone file
    -f, --force      Force new zonefile creation even if IP address isn't modified
    -h, --help       Prints help information
    -V, --version    Prints version information
    -v               Verbose mode

OPTIONS:
    -a, --apikey <apikey>              Your API key provided by Gandi
    -d, --domain <domain>              The domain name whose active zonefile will be updated, e.g. "domain.com"
    -i, --ip-provider <ip_provider>    IP address provider to use to get your own IP address.
                                       Available values for <ip-provider>:
                                        opendns       : OpenDNS
                                        -             : read IP address from stdin
                                        sfrlaboxfibre : French 'SFR Labox Fibre' subscribers
    -r, --record-name <record_name>    Name of the A record to update or create (without domain)

Installation

On Linux: Fedora, Debian, Ubuntu, Raspbian ...

GDU is available as a native package (rpm/deb) for your distribution through package.io. Go to package.io project page for installation instructions.

Then

sudo apt-get install generic-dns-update

Linux cron configuration

You can configure GDU to check hourly if your IP address as been updated with cron.

Edit as root or sudo the file /etc/cron.hourly/gdu, with the following content:

#!/bin/bash

gdu -a YOUR_GANDI_KEY -d YOUR_DOMAIN -r YOUR_RECORD -i opendns >> /var/log/gdu.log 2>&1

Inspiration