Update DNS A/AAAA records with your current external IP address using the netcup DNS API.
Go to file
2023-03-28 17:17:35 +02:00
cron.d feat: license, cronjob, requirements and packaging 2023-03-28 16:37:55 +02:00
src/netcup_dns feat: config directory as argument 2023-03-28 17:17:35 +02:00
.gitignore feat: license, cronjob, requirements and packaging 2023-03-28 16:37:55 +02:00
LICENSE feat: license, cronjob, requirements and packaging 2023-03-28 16:37:55 +02:00
pyproject.toml feat: license, cronjob, requirements and packaging 2023-03-28 16:37:55 +02:00
README.md docs: example configuration 2023-03-28 17:16:11 +02:00
requirements.txt feat: license, cronjob, requirements and packaging 2023-03-28 16:37:55 +02:00
setup.cfg feat: license, cronjob, requirements and packaging 2023-03-28 16:37:55 +02:00

netcup DNS

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

Configuration

For each netcup customer, create a .ini configuration file. Here is an example:

[credentials]
customer = 123456
api_key = abcdefghijklmnopqrstuvwxyz
api_password = abcdefghijklmnopqrstuvwxyz

[example.com]
hostname = @
type = A

[foo.bar]
hostname = @
type = A

TODOs

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()))