1
0
mirror of https://github.com/EV21/dynb.git synced 2026-06-25 00:51:01 +02:00

42 Commits

Author SHA1 Message Date
EV21 c5cadfe544 📝 update CHANGELOG.md 2021-09-24 14:32:56 +02:00
EV21 c130ef6ac3 🔧 remove md-toc from pre-commit 2021-09-24 14:03:19 +02:00
EV21 31818ffec1 📝 document docker parameters 2021-09-24 14:00:45 +02:00
EV21 200c5b5d1a enable parameter extensions for docker run --interactive 2021-09-24 12:22:25 +02:00
EV21 4925be5405 add pre-commit hooks for markdown 2021-09-13 20:38:09 +02:00
EV21 f8df351fe9 🎨 lint README.md 2021-09-13 20:28:28 +02:00
EV21 fcdddde456 📝 change default dns server setting 2021-09-13 16:06:06 +02:00
EV21 e2ddda5ba7 🎨 add shfmt params to pre-commit check 2021-09-13 15:58:31 +02:00
EV21 24aa20be3b 🎨 fix shell style 2021-09-13 15:58:29 +02:00
EV21 d92cdb2652 🔧 handle dns server selection 2021-09-13 15:58:29 +02:00
EV21 4643331534 ♻️ seperate parsing logic 2021-09-13 15:58:29 +02:00
EV21 fa15700e5d change git hooks and add shfmt 2021-09-13 15:58:29 +02:00
EV21 43b09d7145 📝 update CHANGELOG 2021-09-13 15:58:29 +02:00
EV21 3b543754b3 ♻️ normalizing pre-commit configuration to a top-level map 2021-09-13 15:58:28 +02:00
EV21 040aec7472 ♻️ refactorings 2021-09-13 15:58:28 +02:00
EV21 eda5a69da2 add pre-commit git hook for shellcheck 2021-09-13 15:58:21 +02:00
EV21 01eaa30523 refactor: ♻️ remove unused help message 2021-09-12 22:00:46 +02:00
EV21 30c5373705 📝 update README.md 2021-04-23 22:16:59 +02:00
EV21 4e26ff135d 📝 document environment variables 2021-04-23 18:08:44 +02:00
EV21 be2f4f3862 ♻️ refactor: method extractions and other beautifications 2021-04-23 18:02:16 +02:00
EV21 93c1ed18d0 🐛 fix loop and error handling in case of connection issues 2021-04-23 12:00:35 +02:00
EV21 2c23b1de6e 📝 document example of an docker-compose.yml file 2021-04-22 22:30:08 +02:00
EV21 f9507929da add Dockerfile 2021-04-22 22:17:49 +02:00
EV21 30e77c9722 📝 document loop mode and dig as requirement 2021-04-22 22:10:11 +02:00
EV21 bb1d514b50 add loop mode 2021-04-22 21:55:25 +02:00
EV21 c02dc68f17 📝 update example of .env in README.md 2021-04-21 13:45:45 +02:00
EV21 dcf9f1e7a2 ♻️ refactor: rename environment variables 2021-04-21 13:04:59 +02:00
EV21 4d28f55ce9 add support for Duck DNS as DynDNS2 provider 2021-04-04 16:31:42 +02:00
EV21 b8565eb38f add support for deSEC as DynDNS2 provider 2021-04-04 11:24:13 +02:00
EV21 ab330e9731 add completion
 add man page
2021-04-03 17:35:26 +02:00
EV21 262f7c3709 replace getopt with argbash 2021-04-03 14:06:03 +02:00
EV21 5210c35400 ♻️ refactor, fix and debug error handling 2021-01-27 17:52:15 +01:00
EV21 522a0f99bb ♻️ refactor main code 2021-01-26 22:23:03 +01:00
EV21 3bf6b69ae8 add interpretaton of status codes and act accordingly 2021-01-26 21:43:07 +01:00
EV21 d139022295 make network interface configurable 2021-01-26 21:43:07 +01:00
EV21 8997835903 🐛 fix sourcing of config file
♻️ do some shellcheck fixes
2021-01-26 21:43:07 +01:00
EV21 d6dc223794 add DynDNS2 support for dynv6.com 2021-01-26 21:43:07 +01:00
EV21 dc12f71d00 📝 add CHANGELOG.md 2021-01-26 21:43:07 +01:00
EV21 5ba730cff1 add .gitchangelog.rc 2021-01-26 21:43:07 +01:00
EV21 1104cf8505 📝 add example.env 2021-01-26 21:43:07 +01:00
EV21 99a446f4c7 📝 write README.md 2021-01-26 21:42:21 +01:00
EV21 f056e96e25 add dynb.sh 2021-01-26 21:24:33 +01:00
7 changed files with 453 additions and 935 deletions
+12 -22
View File
@@ -82,34 +82,24 @@ ignore_regexps = [
## whenever you are tweaking this variable. ## whenever you are tweaking this variable.
## ##
section_regexps = [ section_regexps = [
('Features', [ ('New', [
r'^[fF]eat\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$', r'^:sparkles\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]), ]),
('Added', [ ('Changes', [
r'^[aA]dd\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$', r'^:wrench\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Changed', [
r'^[cC]hange\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Deprecated', [
r'^[dD]epricated\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Removed', [
r'^[rR]emove\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]), ]),
('Fix', [ ('Fix', [
r'^[fF]ix\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$', r'^:bug\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Security', [
r'^[sS]ec\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]), ]),
('Documentation', [ ('Documentation', [
r'^[dD]oc\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$', r'^:memo\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Remove', [
r'^:fire\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]), ]),
('Other', None ## Match all lines
#('Other', None ## Match all lines ),
# ),
] ]
@@ -158,7 +148,7 @@ body_process = ReSub(r'((^|\n)[A-Z]\w+(-\w+)*: .*(\n\s+.*)*)+$', r'') | strip
## ##
## Available constructs are those listed in ``body_process`` doc. ## Available constructs are those listed in ``body_process`` doc.
subject_process = (strip | subject_process = (strip |
ReSub(r'^([cC]hg|[fF]ix|[nN]ew|[dD]oc|[fF]eat|[aA]dd|[cC]hange)\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n@]*)(@[a-z]+\s+)*$', r'\4') | ReSub(r'^([cC]hg|[fF]ix|[nN]ew)\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n@]*)(@[a-z]+\s+)*$', r'\4') |
SetIfEmpty("No commit message.") | ucfirst | final_dot) SetIfEmpty("No commit message.") | ucfirst | final_dot)
-16
View File
@@ -1,16 +0,0 @@
name: Run shellcheck with reviewdog
on: [pull_request]
jobs:
shellcheck:
name: runner / shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.9.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-review
path: "."
pattern: "*.sh"
exclude: "./.git/*"
-1
View File
@@ -1,3 +1,2 @@
.env* .env*
docker-compose* docker-compose*
.vscode
+71 -158
View File
@@ -1,214 +1,127 @@
# Changelog # Changelog
## 0.5.1 (2022-11-21)
### Features
* Use provider checkip API. [Eduard Veit]
### Fix
* Handle some curl exit codes. [Eduard Veit]
## 0.5.0 (2022-11-10)
### Features
* Use provider DNS servers. [Eduard Veit]
* Temporarily disable an ip version if the connectivity/routing does not work. [Eduard Veit]
### Documentation
* 📝 update default values in table. [Eduard Veit]
## 0.4.0 (2022-11-07)
### Features
* ✨ add support for dynu.com as DynDNS2 provider. [Eduard Veit]
### Documentation
* 📝 add dynu.com as DynDNS2 provider. [Eduard Veit]
## 0.3.5 (2022-11-03)
### Features
* ✨ add support for IPv64.net as DynDNS2 provider. [Eduard Veit]
### Fix
* Delete status file after success. [Eduard Veit]
* More status file issues. [Eduard Veit]
* Incorrect status code handling. [Eduard Veit]
no persistent status file was written in case of an error as the return status code was always 0
### Documentation
* 📝 change TTL to 60 for IPv64.net. [Eduard Veit]
* 📝 add IPv64.net as DynDNS2 provider. [Eduard Veit]
## 0.3.4 (2022-06-30)
### Features
* ✨ add support for ddnss.de as DynDNS2 provider. [Eduard Veit]
### Documentation
* 📝 update providers in README. [Eduard Veit]
## 0.3.3 (2022-06-07)
### Fix
* Wrong parameter name for DuckDNS. [Eduard Veit]
### Documentation
* 📝 add comments to docker-compose.yml example. [Eduard Veit]
## 0.3.2 (2022-05-26)
### Features
* ✨ add tzdata to Dockerfile for timezone config. [Eduard Veit]
You can now set your timezone with the environment variable
`TZ="Europe/Berlin"`
## 0.3.1 (2022-05-26)
### Fix
* 🐛 curl/libcurl doesn't support dns-server option. [Eduard Veit]
the latest alpine we are using for the docker image
does also drops the support for that option like debian/ubuntu/etc
## 0.3.0 (2022-05-26)
### Features
* ✨ validate ip address respons from ip check web service. [Eduard Veit]
* ✨ check internet connection for selected ip versions. [Eduard Veit]
* 🎨 colorful info, debug and error messages. [Eduard Veit]
### Fix
* Abort on all dig errors. [Eduard Veit]
### Documentation
* 📝 add labels to Dockerfile. [Eduard Veit]
## 0.2.0 (2021-09-24) ## 0.2.0 (2021-09-24)
### Features ### New
* enable parameter extensions for `docker run --interactive` [Eduard Veit] * :sparkles: enable parameter extensions for `docker run --interactive` [Eduard Veit]
### Changed * :sparkles: add pre-commit hooks for markdown. [Eduard Veit]
* Handle dns server selection. [Eduard Veit] * :sparkles: change git hooks and add shfmt. [Eduard Veit]
* :sparkles: add pre-commit git hook for shellcheck. [Eduard Veit]
### Changes
* :wrench: remove md-toc from pre-commit. [Eduard Veit]
* :wrench: handle dns server selection. [Eduard Veit]
### Documentation ### Documentation
* 📝 update CHANGELOG.md. [Eduard Veit] * :memo: update CHANGELOG.md. [Eduard Veit]
* 📝 document docker parameters. [Eduard Veit] * :memo: document docker parameters. [Eduard Veit]
* 📝 change default dns server setting. [Eduard Veit] * :memo: change default dns server setting. [Eduard Veit]
* 📝 update CHANGELOG. [Eduard Veit] * :memo: update CHANGELOG. [Eduard Veit]
* 📝 update README.md. [Eduard Veit] * :memo: update README.md. [Eduard Veit]
### Other
* :art: lint README.md. [Eduard Veit]
* :art: add shfmt params to pre-commit check. [Eduard Veit]
* :art: fix shell style. [Eduard Veit]
* :recycle: seperate parsing logic. [Eduard Veit]
* :recycle: normalizing pre-commit configuration to a top-level map. [Eduard Veit]
* :recycle: refactorings. [Eduard Veit]
* Refactor: :recycle: remove unused help message. [Eduard Veit]
## 0.1.2 (2021-04-23) ## 0.1.2 (2021-04-23)
### Documentation ### Documentation
* 📝 document environment variables. [Eduard Veit] * :memo: document environment variables. [Eduard Veit]
### Other
* :recycle: refactor: method extractions and other beautifications. [Eduard Veit]
## 0.1.1 (2021-04-23) ## 0.1.1 (2021-04-23)
### Fix ### Fix
* 🐛 fix loop and error handling in case of connection issues. [Eduard Veit] * :bug: fix loop and error handling in case of connection issues. [Eduard Veit]
## 0.1.0 (2021-04-22) ## 0.1.0 (2021-04-22)
### Features ### New
* add Dockerfile. [Eduard Veit] * :sparkles: add Dockerfile. [Eduard Veit]
* add loop mode. [Eduard Veit] * :sparkles: add loop mode. [Eduard Veit]
* add support for Duck DNS as DynDNS2 provider. [Eduard Veit] * :sparkles: add support for Duck DNS as DynDNS2 provider. [Eduard Veit]
* add support for deSEC as DynDNS2 provider. [Eduard Veit] * :sparkles: add support for deSEC as DynDNS2 provider. [Eduard Veit]
* add completion. [Eduard Veit] * :sparkles: add completion. [Eduard Veit]
add man page :sparkles: add man page
* 🔃 replace getopt with argbash. [Eduard Veit] * :sparkles: replace getopt with argbash. [Eduard Veit]
* add interpretaton of status codes and act accordingly. [Eduard Veit] * :sparkles: add interpretaton of status codes and act accordingly. [Eduard Veit]
* make network interface configurable. [Eduard Veit] * :sparkles: make network interface configurable. [Eduard Veit]
* add DynDNS2 support for dynv6.com. [Eduard Veit] * :sparkles: add DynDNS2 support for dynv6.com. [Eduard Veit]
### Added * :sparkles: add .gitchangelog.rc. [Eduard Veit]
* 📝 README.md. [Eduard Veit] * :sparkles: add dynb.sh. [Eduard Veit]
* ✨ dynb.sh. [Eduard Veit]
### Changed
* 🔃 rename environment variables. [Eduard Veit]
### Fix ### Fix
* 🐛 fix error handling. [Eduard Veit] * :bug: fix sourcing of config file. [Eduard Veit]
* 🐛 fix sourcing of config file. [Eduard Veit] :recycle: do some shellcheck fixes
♻️ do some shellcheck fixes
### Documentation ### Documentation
* 📝 document example of an docker-compose.yml file. [Eduard Veit] * :memo: document example of an docker-compose.yml file. [Eduard Veit]
* 📝 document `loop mode` and mention `dig` as requirement. [Eduard Veit] * :memo: document loop mode and dig as requirement. [Eduard Veit]
* 📝 update example of .env in README.md. [Eduard Veit] * :memo: update example of .env in README.md. [Eduard Veit]
* 📝 CHANGELOG.md. [Eduard Veit] * :memo: add CHANGELOG.md. [Eduard Veit]
* 📝 add example.env. [Eduard Veit] * :memo: add example.env. [Eduard Veit]
* :memo: write README.md. [Eduard Veit]
### Other
* :recycle: refactor: rename environment variables. [Eduard Veit]
* :recycle: refactor, fix and debug error handling. [Eduard Veit]
* :recycle: refactor main code. [Eduard Veit]
* Initial commit. [EV21]
+1 -10
View File
@@ -1,5 +1,4 @@
FROM alpine:latest FROM alpine:latest
RUN \ RUN \
apk update \ apk update \
&& \ && \
@@ -7,15 +6,7 @@ apk add \
bash \ bash \
curl \ curl \
jq \ jq \
bind-tools \ bind-tools
tzdata
WORKDIR /usr/src/app WORKDIR /usr/src/app
COPY . . COPY . .
ENTRYPOINT ["/bin/bash", "/usr/src/app/dynb.sh"] ENTRYPOINT ["/bin/bash", "/usr/src/app/dynb.sh"]
LABEL org.opencontainers.image.source="https://github.com/EV21/dynb"
LABEL org.opencontainers.image.description="DynB - dynamic DNS update client."
LABEL org.opencontainers.image.licenses="MIT"
+39 -43
View File
@@ -7,6 +7,8 @@ IPv4 (A) and IPv6 (AAAA) record updates are supported.
<!-- TOC --> <!-- TOC -->
- [✨ Update Methods](#-update-methods) - [✨ Update Methods](#-update-methods)
- [APIs](#apis)
- [DynDNS2](#dyndns2)
- [📦 Requirements](#-requirements) - [📦 Requirements](#-requirements)
- [🚀 Installation](#-installation) - [🚀 Installation](#-installation)
- [⚙ Configuration](#-configuration) - [⚙ Configuration](#-configuration)
@@ -23,16 +25,18 @@ IPv4 (A) and IPv6 (AAAA) record updates are supported.
The following update methods are currently implemented: The following update methods are currently implemented:
| Provider | API | TTL in seconds | Credentials | own domain via NS record | free (sub-) domain | ### APIs
|---------------------|-----------------------|----------------|----------------------------------------------------------------------------------------------|--------------------------|------------------------------------------------|
| INWX.com | Domrobot JSON-RPC-API | 300 | customer login `username` & `password`. Mobile TAN (OTP) is currently not supported by DynB. | ✔️ | ⛔ choose one of your owned domains | - INWX.com Domrobot JSON-RPC-API\
| INWX.com | DynDNS2 | 60 | specific dyndns `username` & `password` | ✔️ | ⛔ choose one of your owned domains per account | Limitations:
| deSEC.io (dedyn.io) | DynDNS2 | 60 | `token` | ✔️ | ✔️ | - minimum TTL is 300 (5 minutes)
| DuckDNS.org | DynDNS2 | 60 | `token` | ⛔ | ✔️ |
| dynv6.com | DynDNS2 | 60 | `token` | ✔️ | ✔️ | ### DynDNS2
| ddnss.de | DynDNS2 | 10 | `update key` as `token` | ⛔ | ✔️ |
| IPv64.net | DynDNS2 | 60 | `DynDNS Updatehash` as `token` | ⛔ | ✔️ | - INWX.com
| dynu.com | DynDNS2 | 30 | `username` & `password` | ✔️ | ✔️ | - deSEC.io (dedyn.io)
- DuckDNS.org
- dynv6.com
## 📦 Requirements ## 📦 Requirements
@@ -53,7 +57,7 @@ or simply clone this repo
git clone https://github.com/EV21/dynb.git git clone https://github.com/EV21/dynb.git
``` ```
If you want to add the script to you PATH, run 👇 If you want to add the script to you PATH, run :point_down:
```shell ```shell
bash dynb.sh --link bash dynb.sh --link
@@ -75,7 +79,7 @@ DYNB_SERVICE_PROVIDER=inwx
## update method options: domrobot, dyndns ## update method options: domrobot, dyndns
DYNB_UPDATE_METHOD=domrobot DYNB_UPDATE_METHOD=domrobot
## ip mode could be either: 4, 6 or 64 for dualstack ## ip mode could be either: 4, 6 or dual for dualstack
DYNB_IP_MODE=64 DYNB_IP_MODE=64
## If you are using the DomRobot RPC-API enter your credentials for the web interface login here ## If you are using the DomRobot RPC-API enter your credentials for the web interface login here
@@ -88,14 +92,14 @@ DYNB_TOKEN=
## 🏃 Run ## 🏃 Run
If you have a config file just run 👇 If you have a config file just run :point_down:
```bash ```bash
dynb dynb
``` ```
Alternatively you can use parameters if your system meets the relevant requirements. This example shows the long form parameter, there are also short ones.\ Alternatively you can use parameters if your system meets the relevant requirements. This example shows the long form parameter, there are also short ones.\
Call the help function 👇 Call the help function :point_down:
```bash ```bash
dynb --help dynb --help
@@ -119,13 +123,13 @@ Just use the parameter `--interval 60` or the environment variable `DYNB_INTERVA
### crontab ### crontab
execute 👇 execute :point_down:
```bash ```bash
crontab -e crontab -e
``` ```
then add the following line 👇 to run dynb every five minutes. then enter :point_down: to run dynb every five minutes.
```bash ```bash
*/5 * * * * $HOME/.local/bin/dynb >> $HOME/.local/share/dynb/dynb-cron.log */5 * * * * $HOME/.local/bin/dynb >> $HOME/.local/share/dynb/dynb-cron.log
@@ -151,40 +155,32 @@ services:
image: ev21/dynb image: ev21/dynb
container_name: dynb container_name: dynb
network_mode: host network_mode: host
stdin_open: true build:
tty: true context: .
dockerfile: ./Dockerfile
environment: environment:
- DYNB_DYN_DOMAIN=dyndns.example.com - DYNB_DYN_DOMAIN=dyndns.example.com
# Providers: deSec, DuckDNS, dynv6, inwx, ddnss, ipv64 - DYNB_SERVICE_PROVIDER=inwx
- DYNB_SERVICE_PROVIDER=desec
# Possible update methods are: dyndns, domrobot
- DYNB_UPDATE_METHOD=dyndns - DYNB_UPDATE_METHOD=dyndns
# IP modes: 4 (IPv4 only), 6 (IPv6 only), 64 both
- DYNB_IP_MODE=64 - DYNB_IP_MODE=64
# If your provider uses tokens use DYNB_TOKEN instead of DYNB_USERNAME and DYNB_PASSWORD
- DYNB_USERNAME=User42 - DYNB_USERNAME=User42
- DYNB_PASSWORD=SuperSecretPassword - DYNB_PASSWORD=SuperSecretPassword
# The interval in seconds is the time the script waits before executing it again - DYNB_INTERVAL=60
- DYNB_INTERVAL=300
# TZ: Timezone setting for correct log time
- TZ=Europe/Berlin
# TERM: For colorful console output (attached mode)
- TERM=xterm-256color
``` ```
## environment variables ## environment variables
| variable | default value | description | | variable | default value | description |
|-----------------------|--------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| | --------------------- | --------------- | -------------------------------------------------------------------------------------------------------------- |
| DYNB_DYN_DOMAIN | undefined | required; `dyndns.example.com` | | DYNB_DYN_DOMAIN | undefined | required; `dyndns.example.com` |
| DYNB_SERVICE_PROVIDER | undefined | required; `deSEC`, `duckdns`, `dynv6`, `inwx`, `ddnss`, `ipv64` | | DYNB_SERVICE_PROVIDER | undefined | required; `deSEC`, `duckdns`, `dynv6`, `inwx` |
| DYNB_UPDATE_METHOD | undefined | required; `dyndns` or `domrobot` (with inwx) | | DYNB_UPDATE_METHOD | undefined | required; `dyndns` or `domrobot` (with inwx) |
| DYNB_IP_MODE | undefined | required; `4`, `6` or `64` for both | | DYNB_IP_MODE | undefined | required; `4`, `6` or `64` for both |
| DYNB_USERNAME | undefined | the requirement depends on your provider and the update method | | DYNB_USERNAME | undefined | the requirement depends on your provider and the update method |
| DYNB_PASSWORD | undefined | the requirement depends on your provider and the update method | | DYNB_PASSWORD | undefined | the requirement depends on your provider and the update method |
| DYNB_TOKEN | undefined | the requirement depends on your provider and the update method | | DYNB_TOKEN | undefined | the requirement depends on your provider and the update method |
| DYNB_INTERVAL | undefined | without this setting the script/docker container will run one time and exits | | DYNB_INTERVAL | undefined | without this setting the script/docker container will run one time and exits |
| DYNB_DEBUG | undefined | more console outputs | | DYNB_DEBUG | undefined | more console outputs |
| DYNB_IPv4_CHECK_SITE | tries in this order `ip64.ev21.de` (anonymous logging for 7 days), `api64.ipify.org`, `api.my-ip.io/ip`, `ip.anysrc.net/plain` | You need a website or Web-API that outputs your remote IP | | DYNB_IPv4_CHECK_SITE | api64.ipify.org | You need a website or Web-API that outputs your remote IP |
| DYNB_IPv6_CHECK_SITE | tries in this order `ip64.ev21.de` (anonymous logging for 7 days), `api64.ipify.org`, `api.my-ip.io/ip`, `ip.anysrc.net/plain` | You need a website or Web-API that outputs your remote IP | | DYNB_IPv6_CHECK_SITE | api64.ipify.org | You need a website or Web-API that outputs your remote IP |
| DYNB_DNS_CHECK_SERVER | using the DynDNS2 providers DNS servers | If you are using a local DNS Resolver/Server make sure it answers with the public answer or set another server | | DYNB_DNS_CHECK_SERVER | undefined | If you are using a local DNS Resolver/Server make sure it answers with the public answer or set another server |
+328 -683
View File
File diff suppressed because it is too large Load Diff