Troubleshooting Dynamic DNS
Posted: Fri Sep 13, 2019 8:49 am
Running 1.11.0 on TL-WDR3600 v1
I have a dynamic domain at afraid.org but I can't successfully add it to the DDNS service. How do I effectively troubleshoot?
The paragraph in /etc/ddns_providers.conf was set to:
but it looks like they've switched to a token method (and the token is not an sha1sum of [[USERNAME]]|[[PASSWORD]] - and a secondary issue is that my password has a % in it which throws off printf)
I changed the paragraph to this
If I literally put my token at the end, I get this (the x's are to obfuscate):
So it seems like success_regexp should match but when run thru the GUI I get a "Update of new dynamic DNS service configuration(s) failed:" pop-up
I have another DDNS entry at ddns.org and that is working so I know the pkg is good.
What am I missing and can I somehow get logs from the ddns pkg?
Regarding the % in password thing I mentioned earlier, printf needs the % escaped with another %
No escape
Escaped
And escaped version matches echo -n
I have a dynamic domain at afraid.org but I can't successfully add it to the DDNS service. How do I effectively troubleshoot?
The paragraph in /etc/ddns_providers.conf was set to:
Code: Select all
service freedns.afraid.org
url_template [[META_URL]]
required_variables domain username password
required_variable_names DyDNS.DoNm,DyDNS.UsrN,DyDNS.Pssw
success_regexp /(^Updated|has not changed.)/
meta_variables meta_url
meta_variables_to_cache meta_url
meta_url ewget -O - "https://freedns.afraid.org/api/?action=getdyndns&sha="$(printf "[[USERNAME]]|[[PASSWORD]]" | sha1sum | awk ' { print $1 }') 2>/dev/null |
grep "[[DOMAIN]]" | sed 's/^.*|//g'
I changed the paragraph to this
Code: Select all
service freedns.afraid.org
url_template [[META_URL]]
required_variables domain token
required_variable_names DyDNS.DoNm,DyDNS.Tokn
success_regexp /(Updated|has not changed)/
meta_variables meta_url
meta_url ewget -O - "https://freedns.afraid.org/dynamic/update.php?[[TOKEN]]" 2>/dev/null
Code: Select all
root@Gargoyle:/etc# ewget -O - "https://freedns.afraid.org/dynamic/update.php?d3VExxxxxxxxxxxxxZE86MTg2OTkwMjQ=" 2>/dev/null
ERROR: Address 73.237.xx.xx has not changed.
I have another DDNS entry at ddns.org and that is working so I know the pkg is good.
What am I missing and can I somehow get logs from the ddns pkg?
Regarding the % in password thing I mentioned earlier, printf needs the % escaped with another %
No escape
Code: Select all
root@Gargoyle:/etc# printf "username|%qwerty" | sha1sum
ash: %qwerty: invalid format
14cc980b41e487e479b57166fcb3e206fa2672d9 -
Code: Select all
root@Gargoyle:/etc# printf "username|%%qwerty" | sha1sum
6f4e7c015cd3d9ff2ca56e73d8ad0966d82e13c4 -
Code: Select all
root@Gargoyle:/etc# echo -n "username|%qwerty" | sha1sum
6f4e7c015cd3d9ff2ca56e73d8ad0966d82e13c4 -