|
@ -275,31 +275,23 @@ _delete_txt() { |
|
|
-s \ |
|
|
-s \ |
|
|
-b "${cookiejar}" \ |
|
|
-b "${cookiejar}" \ |
|
|
--compressed \ |
|
|
--compressed \ |
|
|
-H "X-Requested-With: XMLHttpRequest") |
|
|
|
|
|
|
|
|
-H "X-Requested-With: XMLHttpRequest" | \ |
|
|
|
|
|
sed -e 's/data-hash/\\ndata-hash/g') |
|
|
|
|
|
|
|
|
_debug list_txt_response "${list_txt_response}" |
|
|
_debug list_txt_response "${list_txt_response}" |
|
|
|
|
|
|
|
|
_check_2fa_miss "${list_txt_response}" |
|
|
_check_2fa_miss "${list_txt_response}" |
|
|
|
|
|
|
|
|
# Find and delete all acme challenge entries for the $fulldomain. |
|
|
# Find and delete all acme challenge entries for the $fulldomain. |
|
|
_dns_entries=$(echo "$list_txt_response" | jq -r --arg fulldomain_idn "${fulldomain_idn}." ' |
|
|
|
|
|
.rows[] | |
|
|
|
|
|
label $out| |
|
|
|
|
|
if .[0] != $fulldomain_idn then |
|
|
|
|
|
break $out |
|
|
|
|
|
else |
|
|
|
|
|
.[4]| |
|
|
|
|
|
capture("data-hash=\"(?<hash>[^\"]*)\" data-identifier=\"(?<identifier>[^\"]*)\"";"g")| |
|
|
|
|
|
.hash + " " + .identifier |
|
|
|
|
|
end') |
|
|
|
|
|
_dns_entries_cnt=$(echo "${_dns_entries}" | wc -l | grep -o '\d') |
|
|
|
|
|
|
|
|
|
|
|
_info " (entries found: ${_dns_entries_cnt})" |
|
|
|
|
|
|
|
|
|
|
|
_dns_entry_num=0 |
|
|
|
|
|
|
|
|
_dns_entries=$(echo -e "$list_txt_response" | sed -n 's/data-hash=\\"\([^"]*\)\\" data-identifier=\\"\([^"]*\)\\".*/\1 \2/p') |
|
|
|
|
|
|
|
|
echo "${_dns_entries}" | while read -r _hash _identifier; do |
|
|
echo "${_dns_entries}" | while read -r _hash _identifier; do |
|
|
_dns_entry_num=$((_dns_entry_num + 1)) |
|
|
|
|
|
|
|
|
dns_type="$(echo "$_identifier" | cut -d'|' -f1)" |
|
|
|
|
|
dns_domain="$(echo "$_identifier" | cut -d'|' -f2)" |
|
|
|
|
|
|
|
|
|
|
|
if [ "${dns_type}" != "TXT" ] || [ "${dns_domain}" != "${fulldomain_idn}." ]; then |
|
|
|
|
|
continue |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
delete_txt_response=$(curl \ |
|
|
delete_txt_response=$(curl \ |
|
|
"https://my.cyon.ch/domain/dnseditor/delete-record-async" \ |
|
|
"https://my.cyon.ch/domain/dnseditor/delete-record-async" \ |
|
@ -322,9 +314,9 @@ _delete_txt() { |
|
|
if [ "${delete_txt_status}" = "null" ]; then |
|
|
if [ "${delete_txt_status}" = "null" ]; then |
|
|
delete_txt_message=$(echo "${delete_txt_response}" | jq -r '.error.message') |
|
|
delete_txt_message=$(echo "${delete_txt_response}" | jq -r '.error.message') |
|
|
fi |
|
|
fi |
|
|
_err " [${_dns_entry_num}/${_dns_entries_cnt}] ${delete_txt_message} (${_identifier})" |
|
|
|
|
|
|
|
|
_err " ${delete_txt_message} (${_identifier})" |
|
|
else |
|
|
else |
|
|
_info " [${_dns_entry_num}/${_dns_entries_cnt}] success (${_identifier})" |
|
|
|
|
|
|
|
|
_info " success (${_identifier})" |
|
|
fi |
|
|
fi |
|
|
done |
|
|
done |
|
|
|
|
|
|
|
|