diff --git a/Dockerfile b/Dockerfile index 4618efaf..c42f4f39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,6 @@ FROM alpine:3.12 -RUN apk update -f \ - && apk --no-cache add -f \ +RUN apk --no-cache add -f \ openssl \ openssh-client \ coreutils \ @@ -12,8 +11,7 @@ RUN apk update -f \ tzdata \ oath-toolkit-oathtool \ tar \ - libidn \ - && rm -rf /var/cache/apk/* + libidn ENV LE_CONFIG_HOME /acme.sh @@ -22,7 +20,7 @@ ARG AUTO_UPGRADE=1 ENV AUTO_UPGRADE $AUTO_UPGRADE #Install -ADD ./ /install_acme.sh/ +COPY ./ /install_acme.sh/ RUN cd /install_acme.sh && ([ -f /install_acme.sh/acme.sh ] && /install_acme.sh/acme.sh --install || curl https://get.acme.sh | sh) && rm -rf /install_acme.sh/ diff --git a/README.md b/README.md index 07dc5d59..c1c3a3c4 100644 --- a/README.md +++ b/README.md @@ -469,7 +469,7 @@ TODO: ### Code Contributors -This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. +This project exists thanks to all the people who contribute. ### Financial Contributors diff --git a/dnsapi/dns_azion.sh b/dnsapi/dns_azion.sh index 2c5e8fda..3403ae46 100644 --- a/dnsapi/dns_azion.sh +++ b/dnsapi/dns_azion.sh @@ -3,8 +3,6 @@ # #AZION_Username="" #AZION_Password="" -#AZION_Token="" -#AZION_ZoneID="" # AZION_Api="https://api.azionapi.net" @@ -17,30 +15,6 @@ dns_azion_add() { fulldomain=$1 txtvalue=$2 - AZION_Username="${AZION_Username:-$(_readaccountconf_mutable AZION_Username)}" - AZION_Password="${AZION_Password:-$(_readaccountconf_mutable AZION_Password)}" - AZION_Token="${AZION_Token:-$(_readaccountconf_mutable AZION_Token)}" - AZION_ZoneID="${AZION_ZoneID:-$(_readaccountconf_mutable AZION_ZoneID)}" - - if ! _contains "$AZION_Username" "@"; then - _err "It seems that the AZION_Username is not a valid email address. Revalidate your environments." - return 1 - fi - - if [ -z "$AZION_Token" ]; then - if [ -z "$AZION_Username" ] || [ -z "$AZION_Password" ]; then - _err "You didn't specified a AZION_Username/AZION_Password to generate Azion token." - return 1 - fi - _get_token - AZION_Token="${AZION_Token:-$(_readaccountconf_mutable AZION_Token)}" - fi - - _saveaccountconf_mutable AZION_Username "$AZION_Username" - _saveaccountconf_mutable AZION_Password "$AZION_Password" - _saveaccountconf_mutable AZION_Token "$AZION_Token" - _saveaccountconf_mutable AZION_ZoneID "$AZION_ZoneID" - _debug "Detect the root zone" if ! _get_root "$fulldomain"; then _err "Domain not found" @@ -52,7 +26,7 @@ dns_azion_add() { _debug _domain_id "$_domain_id" _info "Add or update record" - _get_record "$_sub_domain" + _get_record "$_domain_id" "$_sub_domain" if [ "$record_id" ]; then _payload="{\"record_type\": \"TXT\", \"entry\": \"$_sub_domain\", \"answers_list\": [$answers_list, \"$txtvalue\"], \"ttl\": 20}" if _azion_rest PUT "intelligent_dns/$_domain_id/records/$record_id" "$_payload"; then @@ -80,25 +54,6 @@ dns_azion_rm() { fulldomain=$1 txtvalue=$2 - AZION_Username="${AZION_Username:-$(_readaccountconf_mutable AZION_Username)}" - AZION_Password="${AZION_Password:-$(_readaccountconf_mutable AZION_Password)}" - AZION_Token="${AZION_Token:-$(_readaccountconf_mutable AZION_Token)}" - AZION_ZoneID="${AZION_ZoneID:-$(_readaccountconf_mutable AZION_ZoneID)}" - - if ! _contains "$AZION_Username" "@"; then - _err "It seems that the AZION_Username is not a valid email address. Revalidate your environments." - return 1 - fi - - if [ -z "$AZION_Token" ]; then - if [ -z "$AZION_Username" ] || [ -z "$AZION_Password" ]; then - _err "You didn't specified a AZION_Username/AZION_Password to generate Azion token." - return 1 - fi - _get_token - AZION_Token="${AZION_Token:-$(_readaccountconf_mutable AZION_Token)}" - fi - _debug "Detect the root zone" if ! _get_root "$fulldomain"; then _err "Domain not found" @@ -110,7 +65,7 @@ dns_azion_rm() { _debug _domain_id "$_domain_id" _info "Removing record" - _get_record "$_sub_domain" + _get_record "$_domain_id" "$_sub_domain" if [ "$record_id" ]; then if _azion_rest DELETE "intelligent_dns/$_domain_id/records/$record_id"; then _info "Record removed." @@ -136,27 +91,6 @@ _get_root() { i=1 p=1 - # Use Zone ID directly if provided - if [ "$AZION_ZoneID" ]; then - if ! _azion_rest GET "intelligent_dns/$AZION_ZoneID"; then - return 1 - else - if _contains "$response" "\"domain\":\"" >/dev/null; then - _domain=$(echo "$response" | _egrep_o "\"domain\":\"[^\"]*\"" | cut -d : -f 2 | _head_n 1 | tr -d \") - if [ "$_domain" ]; then - _cutlength=$((${#domain} - ${#_domain} - 1)) - _sub_domain=$(printf "%s" "$domain" | cut -c "1-$_cutlength") - _domain_id=$AZION_ZoneID - return 0 - else - return 1 - fi - else - return 1 - fi - fi - fi - if ! _azion_rest GET "intelligent_dns"; then return 1 fi @@ -175,7 +109,6 @@ _get_root() { if [ "$_domain_id" ]; then _sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-$p) _domain=$h - _saveaccountconf_mutable AZION_ZoneID "$_domain_id" return 0 fi return 1 @@ -187,11 +120,10 @@ _get_root() { } _get_record() { - _record=$1 + _domain_id=$1 + _record=$2 - AZION_ZoneID="${AZION_ZoneID:-$(_readaccountconf_mutable AZION_ZoneID)}" - - if ! _azion_rest GET "intelligent_dns/$AZION_ZoneID/records"; then + if ! _azion_rest GET "intelligent_dns/$_domain_id/records"; then return 1 fi @@ -211,6 +143,19 @@ _get_token() { AZION_Username="${AZION_Username:-$(_readaccountconf_mutable AZION_Username)}" AZION_Password="${AZION_Password:-$(_readaccountconf_mutable AZION_Password)}" + if ! _contains "$AZION_Username" "@"; then + _err "It seems that the AZION_Username is not a valid email address. Revalidate your environments." + return 1 + fi + + if [ -z "$AZION_Username" ] || [ -z "$AZION_Password" ]; then + _err "You didn't specified a AZION_Username/AZION_Password to generate Azion token." + return 1 + fi + + _saveaccountconf_mutable AZION_Username "$AZION_Username" + _saveaccountconf_mutable AZION_Password "$AZION_Password" + _basic_auth=$(printf "%s:%s" "$AZION_Username" "$AZION_Password" | _base64) _debug _basic_auth "$_basic_auth" @@ -219,11 +164,9 @@ _get_token() { export _H3="Authorization: Basic $_basic_auth" response="$(_post "" "$AZION_Api/tokens" "" "POST")" - _debug2 response "$response" if _contains "$response" "\"token\":\"" >/dev/null; then _azion_token=$(echo "$response" | _egrep_o "\"token\":\"[^\"]*\"" | cut -d : -f 2 | tr -d \") - _debug _azion_token "$_azion_token" - _saveaccountconf_mutable AZION_Token "$_azion_token" + export AZION_Token="$_azion_token" else _err "Failed to generate Azion token" return 1 @@ -235,7 +178,10 @@ _azion_rest() { _uri="$2" _data="$3" - AZION_Token="${AZION_Token:-$(_readaccountconf_mutable AZION_Token)}" + if [ -z "$AZION_Token" ]; then + _get_token + fi + _debug2 token "$AZION_Token" export _H1="Accept: application/json; version=3" export _H2="Content-Type: application/json" diff --git a/dnsapi/dns_nsd.sh b/dnsapi/dns_nsd.sh index 83cc4cac..0d29a485 100644 --- a/dnsapi/dns_nsd.sh +++ b/dnsapi/dns_nsd.sh @@ -51,7 +51,7 @@ dns_nsd_rm() { Nsd_ZoneFile="${Nsd_ZoneFile:-$(_readdomainconf Nsd_ZoneFile)}" Nsd_Command="${Nsd_Command:-$(_readdomainconf Nsd_Command)}" - sed -i "/$fulldomain. $ttlvalue IN TXT \"$txtvalue\"/d" "$Nsd_ZoneFile" + _sed_i "/$fulldomain. $ttlvalue IN TXT \"$txtvalue\"/d" "$Nsd_ZoneFile" _info "Removed TXT record for $fulldomain" _debug "Running $Nsd_Command" if eval "$Nsd_Command"; then