Timo Behrendt ac786f533d
All checks were successful
CD / test (push) Successful in 44s
CD / Build and push (push) Successful in 3m5s
feat: add mode selecting (#15)
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2024-12-23 14:17:46 +01:00
2024-04-01 11:50:27 +02:00
2024-12-23 14:17:46 +01:00
2024-08-11 13:08:06 +02:00
2024-04-01 11:50:27 +02:00
2024-12-23 14:17:46 +01:00
2024-12-23 14:17:46 +01:00
2024-04-01 11:40:56 +02:00
2024-12-23 14:17:46 +01:00
2024-04-01 11:50:27 +02:00

realDynDNS

RealDynDNS aims to be a replacement to "classical" dynDNS solutions that offer a subdomain. Instead realDynDns actually changes your DNS entries.

This service requires your DNS provider to expose an API that allows your DNS entries to be changed. A service that provides your current external IP is also required.

Configuration

The configuration is done via a YAML file called config.yaml. The following example shows the configuration for a domain with two subdomains.

Configuration of the IP provider and the DNS provider is mandatory.

The check_interval is mandatory and follows the cron syntax including seconds. It defines how often the IP is checked and the DNS entries are updated. If you don't own the external ip provider, please be nice and don't set the interval too low.

You may configure multiple top level domains with multiple subdomains. If you also want the top level domain to be updated, add it to the subdomains list with an @.

ip_provider:
  type: plain
  config:
    url: https://ifconfig.me
dns_provider:
  type: ionos
  config:
    api_key: <your-api-key>
    base_url: https://api.hosting.ionos.com/dns
notification_provider:
  type: gotify
  config:
    url: <your-gotify-host>
    token: <your-token>
    priority: 0
domains:
  - tld: example.com
    subdomains:
      - "@"
      - www
check_interval: 0 0 0/6 * * * *

The config file is expected to be in the same directory as the binary and called config.yaml. For the OCR image, the root directory is /app.

DNS Providers

The DNS provider abstracts the API of your DNS provider. Currently the following providers are supported:

IONOS

IONOS requires two configuration parameters. You can get your API key here.

api_key: <your-api-key>
base_url: https://api.hosting.ionos.com/dns

External IP Providers

The external IP provider is used to get your current external IP. Currently the following providers are supported:

Plain

Any provider that returns your IP as plain text can be used. The following configuration is required:

url: <your-providers-URL>

Examples for providers are:

Notification Providers

The notification provider is used to send notifications whena IP address changes and a DNS record is updated.

Console

The console notification provider is used to print the notification to the console. This is the default notification provider.

Gotify

The Gotify notification provider is used to send notifications to a Gotify server.

url: <your-gotify-host>
token: <your-token>
priority: 0

The priority must be between 0 and 4.

Description
No description provided
Readme AGPL-3.0 306 KiB
Languages
Go 98.7%
Dockerfile 0.7%
Makefile 0.6%