Giter Club home page Giter Club logo

dyndns-netcup-go's Introduction

DYNDNS NETCUP GO

Build Issues Release Go Report Card

Dyndns client for the netcup DNS API written in go. Not related to netcup GmbH. It is heavily inspired by this project which might be also a good solution for your dynamic DNS needs.

Table of Contents

Features

  • Multi domain support
  • Subdomain support
  • TTL update support
  • Creation of a DNS record if it doesn't already exist
  • Multi host support (nice when you need to update both @ and *)
  • IPv6 support

If you need additional features please open up an Issue.

Installation

Docker

docker run -d \
    -v $(pwd)/config.yml:/config.yml \
    -e INTERVAL=300 \
    ghcr.io/hentra/dyndns-netcup-go

The environment variable INTERVAL defines the interval of DNS updates in seconds.

Manual

  1. Download the lastest binary for your OS
  2. cd to the file you downloaded and unzip
  3. Put dyndns-netcup-go somewhere in your path

From source

First, install Go as recommended. After that run following commands:

git clone https://github.com/Hentra/dyndns-netcup-go.git 
cd dyndns-netcup-go
go install

This will create a binary named dyndns-netcup-go and install it to your go binary home. Make sure your GOPATH environment variable is set.

Refer to Usage for further information.

Usage

Prequisites

  • You need to have a netcup account and a domain, obviously.
  • Then you need an apikey and apipassword. Here is a description (in German) on how you get those.

Run dyndns-netcup-go

  1. Move/rename the example configuration config/example.yml to config.yml and fill out all the fields. There are some comments in the file for further information.
  2. Run dyndns-netcup-go -v in the same directory as your configuration file and it will configure your DNS Records. You can specify the location of the configuration file with the -c or -config flag if you don't want to run it in the same directory. To disable the output for information remove the -v flag. You will still get the output from errors.

It might be necessary to run this program every few minutes. That interval depends on how you configured your TTL.

Commandline flags

For a list of all available command line flags run dyndns-netcup-go -h.

Cache

Without the cache the application would lookup its ip addresses and fetch the DNS records from netcup. After that it will compare the specified hosts in the DNS records with the current ip addresses and update if necessary.

As reported in this issue it would be also possible to store the ip addresses between two runs of the application and only fetch DNS records from netcup when they differ.

To enable the cache configure the two variables IP-CACHE and IP-CACHE-LOCATION as according to the comments in example.yml.

Contributing

For any feature requests and or bugs open up an Issue. Feel free to also add a pull request and I will have a look on it.

dyndns-netcup-go's People

Contributors

hentra avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.