Files
addons/duckdns/README.md
Ville Skyttä 5650ceaa16 duckdns: add option to grab IP addresses from URLs (#1077)
* duckdns: add option to grab IP addresses from URLs

Enables use of external services instead of Duck DNS' automatic
detection, which at time of writing doesn't work with IPv6.

* Update config.json

* Update CHANGELOG.md

* Update README.md

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-02-21 12:16:42 +01:00

127 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Home Assistant Add-on: DuckDNS
Automatically update your Duck DNS IP address with integrated HTTPS support via Let's Encrypt.
![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] ![Supports i386 Architecture][i386-shield]
## About
[Duck DNS][duckdns] is a free service that points a DNS (sub-domains of duckdns.org) to an IP of your choice. This add-on includes support for Lets Encrypt and automatically creates and renews your certificates. You need to sign up for a Duck DNS account before using this add-on.
## Installation
Follow these steps to get the add-on installed on your system:
1. Navigate in your Home Assistant frontend to **Supervisor** -> **Add-on Store**.
2. Find the "DuckDNS" add-on and click it.
3. Click on the "INSTALL" button.
## How to use
1. Visit [DuckDNS.org](https://www.duckdns.org/) and create an account by logging in through any of the available account services (Google, Github, Twitter, Persona, Reddit).
2. In the `Domains` section, type the name of the subdomain you wish to register and click `add domain`.
3. If registration was a success, the subdomain is listed in the `Domains` section along with `current ip` being the public IP address of the device you are currently using to access `duckdns.org`. The IP address will be updated by the DuckDNS add-on.
4. In the DuckDNS add-on configuration, perform the following:
- Copy the DuckDNS token (listed at the top of the page where account details are displayed) from `duckdns.org` and paste into the `token` option.
- Update the `domains` option with the full domain name you registered. E.g., `my-domain.duckdns.org`.
## Configuration
Add-on configuration:
```yaml
lets_encrypt:
accept_terms: true
certfile: fullchain.pem
keyfile: privkey.pem
token: sdfj-2131023-dslfjsd-12321
domains:
- my-domain.duckdns.org
seconds: 300
```
### Option group `lets_encrypt`
The following options are for the option group: `lets_encrypt`. These settings
only apply to Let's Encrypt SSL certificates.
#### Option `lets_encrypt.accept_terms`
Once you have read and accepted the Let's Encrypt[Subscriber Agreement](https://letsencrypt.org/repository/), change value to `true` in order to use Let's Encrypt services.
#### Option `lets_encrypt.certfile`
The name of the certificate file generated by Let's Encrypt. The file is used for SSL by Home Assistant add-ons and is recommended to keep the filename as-is (`fullchain.pem`) for compatibility.
**Note**: _The file is stored in `/ssl/`, which is the default for Home Assistant_
#### Option `lets_encrypt.keyfile`
The name of the private key file generated by Let's Encrypt. The private key file is used for SSL by Home Assistant add-ons and is recommended to keep the filename as-is (`privkey.pem`) for compatibility.
**Note**: _The file is stored in `/ssl/`, which is the default for Home Assistant_
### Option: `ipv4` (optional)
By default, Duck DNS will auto detect your IPv4 address and use that.
This option allows you to override the auto-detection and specify an
IPv4 address manually.
If you specify a URL here, contents of the resource it points to will be
fetched and used as the address. This enables getting the address using
a service like https://api4.ipify.org/ or https://ipv4.wtfismyip.com/text
### Option: `ipv6` (optional)
By default, Duck DNS will auto detect your IPv6 address and use that.
This option allows you to override the auto-detection and specify an
IPv6 address manually.
If you specify a URL here, contents of the resource it points to will be
fetched and used as the address. This enables getting the address using
a service like https://api6.ipify.org/ or https://ipv6.wtfismyip.com/text
### Option: `token`
The DuckDNS authentication token found at the top of the DuckDNS account landing page. The token is required to make any changes to the subdomains registered to your account.
### Option: `domains`
A list of DuckDNS subdomains registered under your account. An acceptable naming convention is `my-domain.duckdns.org`.
### Option: `seconds`
The number of seconds to wait before updating DuckDNS subdomains and renewing Let's Encrypt certificates.
## Known issues and limitations
- To log in, DuckDNS requires a free account from any of the following services: Google, Github, Twitter, Persona or Reddit.
- A free DuckDNS account is limited to five subdomains.
- At time of writing, Duck DNS' own IPv6 autodetection
[does not actually work][duckdns-faq], but you can use the URL option
for `ipv6` to get around this, read on.
## Support
Got questions?
You have several options to get them answered:
- The [Home Assistant Discord Chat Server][discord].
- The Home Assistant [Community Forum][forum].
- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit]
In case you've found a bug, please [open an issue on our GitHub][issue].
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
[discord]: https://discord.gg/c5DvZ4e
[forum]: https://community.home-assistant.io
[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg
[issue]: https://github.com/home-assistant/hassio-addons/issues
[reddit]: https://reddit.com/r/homeassistant
[duckdns]: https://duckdns.org
[duckdns-faq]: https://www.duckdns.org/faqs.jsp