Duck DNS Add-on gets into an infinite loop when starting

Hello everyone!
Newly installed and configured Duck DNS

domains:
  - xxxxxx-ha.duckdns.org
token: YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY
aliases: []
lets_encrypt:
  accept_terms: true
  algo: secp384r1
  certfile: fullchain.pem
  keyfile: privkey.pem
seconds: 300

Cyclically gives the same message in the following logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service duckdns: starting
s6-rc: info: service duckdns successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
# INFO: Using main config file /data/workdir/config
+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account URL...
+ Done!
[11:47:50] INFO: Starting DuckDNS...
[11:47:51] INFO: Renew certificate for domains: xxxxxx-ha.duckdns.org and aliases: 
# INFO: Using main config file /data/workdir/config
 + Creating chain cache directory /data/workdir/chains
Processing xxxxxx-ha.duckdns.org
 + Creating new directory /data/letsencrypt/xxxxxx-ha.duckdns.org ...
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 1 authorizations URLs from the CA
 + Handling authorization for xxxxxx-ha.duckdns.org
 + 1 pending challenge(s)
 + Deploying challenge tokens...
grep: unrecognized option: b
BusyBox v1.36.1 (2024-06-10 07:11:47 UTC) multi-call binary.
Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...
Search for PATTERN in FILEs (or stdin)
	-H	Add 'filename:' prefix
	-h	Do not add 'filename:' prefix
	-n	Add 'line_no:' prefix
	-l	Show only names of files that match
	-L	Show only names of files that don't match
	-c	Show only count of matching lines
	-o	Show only the matching part of line
	-q	Quiet. Return 0 if PATTERN is found, 1 otherwise
	-v	Select non-matching lines
	-s	Suppress open and read errors
	-r	Recurse
	-R	Recurse and dereference symlinks
	-i	Ignore case
	-w	Match whole words only
	-x	Match whole lines only
	-F	PATTERN is a literal (not regexp)
	-E	PATTERN is an extended regexp
	-m N	Match up to N times per file
	-A N	Print N lines of trailing context
	-B N	Print N lines of leading context
	-C N	Same as '-A N -B N'
	-e PTRN	Pattern to match
	-f FILE	Read pattern from file
grep: unrecognized option: b
BusyBox v1.36.1 (2024-06-10 07:11:47 UTC) multi-call binary.
Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...
Search for PATTERN in FILEs (or stdin)
	-H	Add 'filename:' prefix
	-h	Do not add 'filename:' prefix
	-n	Add 'line_no:' prefix
	-l	Show only names of files that match
	-L	Show only names of files that don't match
	-c	Show only count of matching lines
	-o	Show only the matching part of line
	-q	Quiet. Return 0 if PATTERN is found, 1 otherwise
	-v	Select non-matching lines
	-s	Suppress open and read errors
	-r	Recurse
	-R	Recurse and dereference symlinks
	-i	Ignore case
	-w	Match whole words only
	-x	Match whole lines only
	-F	PATTERN is a literal (not regexp)
	-E	PATTERN is an extended regexp
	-m N	Match up to N times per file
	-A N	Print N lines of trailing context
	-B N	Print N lines of leading context
	-C N	Same as '-A N -B N'
	-e PTRN	Pattern to match
	-f FILE	Read pattern from file
grep: unrecognized option: b

I need SSL/TLS but it seems that the script is not compatible with my Linux and can’t process the command

Can anyone help me with such issue?

I have the same type of problem.
Same config but i get.
grep: unrecognized option: G

my research led to the line home-assistant / addons / duckdns / rootfs / root / hooks.sh#L36

while ! dig -t txt \"_acme-challenge.$ALIAS\" | grep -F \"$TOKEN_VALUE\" > /dev/null; do

I also found 2 such files on the HA host.
After adding some debug “echo” messages, I got that the string grep -F \"$TOKEN_VALUE\" was expanded into grep -F "-bBLA-BLA-BLA"
I patched this line to grep -F -- \"$TOKEN_VALUE\" in both of found files (but worked only one from /var/lib/docker/overlay2/.../diff/root/hooks.sh)

After [re]starting duckdns addon the issue disappeared as if it never happened :grinning:

So, the finally patched row looks

while ! dig -t txt \"_acme-challenge.$ALIAS\" | grep -F -- \"$TOKEN_VALUE\" > /dev/null; do

I think it will be necessary to create an issue in github or make a PR with these “double-dash” fixes :confused: