hover-ddns

command module
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

README

hover-ddns

Build status License Docker Image Size (latest by date)

hover-ddns is a DDNS client that will update DNS A and/or AAAA records at hover with the current public IP address(es) of the machine.

This is an unofficial client using the non-supported Hover API.

It will:

  1. Determine the current public IP address of the host machine
  2. Authenticate against the Hover API
  3. Create or update the DNS entry for the specified domain(s) and hostname(s)

It doesn't do anything beyond that and if you need more features or different services, I suggest to look at tools like lexicon.

Features

  • IPv4 and IPv6 supported
  • Supports public IP lookup by:
    • Using the ipify API (v4 only)
    • Using Amazon's checkip API (v4 only)
    • Using icanhazip.com (v4 and v6)
    • Extracting the address from a local network interface
  • Cron syntax can be used to schedule periodic updates (first update will always be immediate after start)
  • Multiple domains and hostnames can be specified. All will be updated with the same IP address info

Usage

Create a config file with your credentials and domain info (see the provided example.yaml).

For the configuration of the provider of your current IP address, you have the following options:

  1. Use the ipify API:

    public_ip_provider:
      service: ipify
    
  2. Use the Amazon API:

    public_ip_provider:
      service: amazon
    
  3. Use icanhazip:

    public_ip_provider:
      service: icanhazip
    
  4. Extract the addresses from a local WAN interface:

    public_ip_provider:
      service: local_interface
      interface_name: en0
    

Afterwards, either manually run hover-ddns:

$ hover-ddns --config config.yaml

or use the provided systemd service file:

$ sudo systemctl start hover-ddns.service

Installation

Docker

Docker images for amd64 and arm64 are provided under dschanoeh/hover-ddns. See docker-compose.yaml for a minimal configuration to get started.

Debian-based Linux Distributions

Download the deb corresponding to your architecture from the releases page and run the following commands.

$ sudo dpkg -i [downloaded_deb.deb]

[Customize /etc/hover-ddns.yaml with your domain information and other preferences]

$ sudo systemctl start hover-ddns.service
Manually

This is an example setup on Linux using the provided systemd service.

Download the latest release and run the following commands.

$ tar xvf [downloaded_archive.tar.gz]
$ sudo mv hover-ddns /usr/local/bin
$ vim example.yaml

[Add your credentials and domain info]

$ sudo mv example.yaml /etc/hover-ddns.yaml

# Make sure only root can read the file with sensitive information
$ sudo chown root:root /etc/hover-ddns.yaml
$ sudo chmod 600 /etc/hover-ddns.yaml

$ sudo mv hover-ddns.service /etc/systemd/system/
$ sudo systemctl daemon-reload
$ sudo systemctl enable hover-ddns.service
$ sudo systemctl start hover-ddns.service

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