netcup-dns/README.md
2023-06-28 12:05:51 +02:00

1.1 KiB

netcup DNS

Update DNS A/AAAA records with your current external IP address using the netcup DNS API.

Installation

On Arch Linux:

make

With pip:

make install-pip

Configuration

For each netcup customer, create a .json configuration file inside /etc/netcup-dpns.

There is an example configuration.

TODOs

Caching:

  • Add parameter --cache which saves retrieved DNS records as JSON files.
  • The method update_record_destination will then check if the arguments are the same as the saved JSON record.
  • Only if they differ, any requests to the API endpoint will be made.

Alternative external IP detection:

def external_ip_upnp():
    """
    https://stackoverflow.com/a/41385033

    Didn't work for me. Even after double checking fritz.box settings:

    fritz.box > Heimnetz > Netzwerk > Statusinformationen über UPnP übertragen
    """
    import miniupnpc
    u = miniupnpc.UPnP()
    u.discoverdelay = 1000
    u.discover()
    u.selectigd()
    print('external ip address: {}'.format(u.externalipaddress()))