Files
hassio-addons/inadyn
2026-01-04 23:07:02 +00:00
..
2025-07-23 08:58:09 +00:00
2023-01-20 10:45:11 +01:00
2025-11-19 21:35:05 +01:00
2025-11-05 11:37:18 +01:00
2025-08-31 23:06:36 +00:00
2025-08-31 23:06:36 +00:00
2026-01-04 23:07:02 +00:00
2025-11-05 15:10:39 +01:00

Home assistant add-on: Inadyn

I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons

If this add-on saves you time or makes your setup easier, I would be very grateful for your support!

Buy me a coffee Donate via PayPal

Addon informations

Version Ingress Arch

Codacy Badge GitHub Super-Linter Builder

Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!

Stargazers repo roster for @alexbelgium/hassio-addons

downloads evolution

About

Inadyn, or In-a-Dyn, is a small and simple Dynamic DNS, DDNS, client with HTTPS support. Commonly available in many GNU/Linux distributions, used in off the shelf routers and Internet gateways to automate the task of keeping your Internet name in sync with your public¹ IP address. It can also be used in installations with redundant (backup) connections to the Internet. Based on https://hub.docker.com/r/troglobit/inadyn Project house : https://github.com/troglobit/inadyn Some code borrowed from https://github.com/nalipaz/hassio-addons

Installation

The installation of this add-on is pretty straightforward and not different in comparison to installing any other Hass.io add-on.

  1. Add my Hass.io add-ons repository to your Hass.io instance.
  2. Install this add-on.
  3. Click the Save button to store your configuration.
  4. Start the add-on.
  5. Check the logs of the add-on to see if everything went well.
  6. Carefully configure the add-on to your preferences, see the official documentation for for that.

Configuration

Use the add-on env_vars option to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.

This addon has no web interface - all configuration is done through addon options. For detailed configuration information, see the official documentation.

Options

Option Type Default Description
verify_address bool Verify the IP address with check IP service
fake_address bool Use fake address for testing
allow_ipv6 bool Enable IPv6 support
iface str Network interface to use (e.g., eth0)
iterations int Number of iterations (0 = infinite)
period int 300 Update period in seconds
forced_update int Forced update interval in seconds
secure_ssl bool Enable secure SSL verification
providers list List of DDNS provider configurations

Provider Configuration

Each provider in the providers list supports these options:

Option Type Description
provider str Provider name or custom identifier
custom_provider bool Whether this is a custom provider
username str Username or token for authentication
password str Password or API key
hostname str Domain/hostname to update
ssl bool Use SSL for updates
ddns_server str Custom DDNS server
ddns_path str Custom update path
checkip_server str Custom IP check server
checkip_path str Custom IP check path
checkip_ssl bool Use SSL for IP checking
append_myip bool Append IP to request

Example Configurations

{
  "verify_address": false,
  "fake_address": false,
  "allow_ipv6": true,
  "iface": "eth0",
  "iterations": 0,
  "period": 300,
  "forced_update": 300,
  "secure_ssl": true,
  "providers": [
    {
      "provider": "providerslug",
      "custom_provider": false,
      "username": "yourusername",
      "password": "yourpassword_or_token",
      "ssl": true,
      "hostname": "dynamic-subdomain.example.com",
      "checkip_ssl": false,
      "checkip_server": "api.example.com",
      "checkip_command": "/sbin/ifconfig eth0 | grep 'inet6 addr'",
      "checkip_path": "/",
      "user_agent": "Mozilla/5.0",
      "ddns_server": "ddns.example.com",
      "ddns_path": "",
      "append_myip": false
    }
  ]
}

You should not fill in all of these, only use what is necessary. A typical example would look like:

{
    {
      "provider": "duckdns",
      "username": "your-token",
      "hostname": "sub.duckdns.org"
    }
}

or:

{
  "providers": [
    {
      "provider": "someprovider",
      "username": "username",
      "password": "password",
      "hostname": "your.domain.com"
    }
  ]
}

for a custom provider that is not supported by inadyn you can do:

{
  "providers": [
    {
      "provider": "arbitraryname",
      "username": "username",
      "password": "password",
      "hostname": "your.domain.com",
      "ddns_server": "api.cp.easydns.com",
      "ddns_path": "/somescript.php?hostname=%h&myip=%i",
      "custom_provider": true
    }
  ]
}

the tokens in ddns_path are outlined in the inadyn.conf(5) man page.

Multiple subdomains with same provider

Related to https://github.com/troglobit/inadyn#example

If you want use this add-on with several subdomains with the same provider, you have to enumerate domains like:

{
  "providers": [
    {
      "hostname": "first.mydomain.dev",
      "provider": "domains.google.com:1",
      "username": "xxxxxxxxxxxxxxxx",
      "password": "xxxxxxxxxxxxxxxx"
    },
    {
      "hostname": "second.mydomain.dev",
      "provider": "domains.google.com:2",
      "username": "xxxxxxxxxxxxxxxx",
      "password": "xxxxxxxxxxxxxxxx"
    },
    {
      "hostname": "another.mydomain.dev",
      "provider": "domains.google.com:3",
      "username": "xxxxxxxxxxxxxxxx",
      "password": "xxxxxxxxxxxxxxxx"
    }
  ]
}