added saving of cPanel_Hostname

This commit is contained in:
Bjarne Saltbaek 2021-10-03 13:35:22 +02:00
parent 7f9b8d68ac
commit d2d023cca7

View File

@ -1,6 +1,7 @@
#!/bin/bash #!/usr/bin/env sh
#
#Author: Bjarne Saltbaek #Author: Bjarne Saltbaek
#Report Bugs here: https://github.com/acmesh-official/acme.sh #Report Bugs here: https://github.com/acmesh-official/acme.sh/issues/3732
# #
# #
######## Public functions ##################### ######## Public functions #####################
@ -10,8 +11,11 @@
# cPanel_Username=username # cPanel_Username=username
# cPanel_Apitoken=apitoken # cPanel_Apitoken=apitoken
# cPanel_Hostname=hostname # cPanel_Hostname=hostname
#
# Note: the program 'jq' must be availble on your system
#Usage: dns_cpanel_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" # Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
# Used to add txt record
dns_cpanel_add() { dns_cpanel_add() {
fulldomain=$1 fulldomain=$1
txtvalue=$2 txtvalue=$2
@ -26,7 +30,7 @@ dns_cpanel_add() {
fi fi
_debug "First detect the root zone" _debug "First detect the root zone"
if ! _get_domain "$fulldomain"; then if ! _get_root "$fulldomain"; then
_err "No matching root domain for $fulldomain found" _err "No matching root domain for $fulldomain found"
return 1 return 1
fi fi
@ -40,8 +44,8 @@ dns_cpanel_add() {
return 1 return 1
} }
#Usage: fulldomain txtvalue # Usage: fulldomain txtvalue
#Remove the txt record after validation. # Used to remove the txt record after validation
dns_cpanel_rm() { dns_cpanel_rm() {
fulldomain=$1 fulldomain=$1
txtvalue=$2 txtvalue=$2
@ -55,7 +59,7 @@ dns_cpanel_rm() {
return 1 return 1
fi fi
if ! _get_domain; then if ! _get_root; then
_err "No matching root domain for $fulldomain found" _err "No matching root domain for $fulldomain found"
return 1 return 1
fi fi
@ -79,17 +83,20 @@ dns_cpanel_rm() {
_checkcredentials() { _checkcredentials() {
cPanel_Username="${cPanel_Username:-$(_readaccountconf_mutable cPanel_Username)}" cPanel_Username="${cPanel_Username:-$(_readaccountconf_mutable cPanel_Username)}"
cPanel_Apitoken="${cPanel_Apitoken:-$(_readaccountconf_mutable cPanel_Apitoken)}" cPanel_Apitoken="${cPanel_Apitoken:-$(_readaccountconf_mutable cPanel_Apitoken)}"
cPanel_Hostname="${cPanel_Hostname:-$(_readaccountconf_mutable cPanel_Hostname)}"
if [ -z "$cPanel_Username" ] || [ -z "$cPanel_Apitoken" ]; then if [ -z "$cPanel_Username" ] || [ -z "$cPanel_Apitoken" ] || [ -z "$cPanel_Hostname" ]; then
cPanel_Username="" cPanel_Username=""
cPanel_Apitoken="" cPanel_Apitoken=""
_err "You haven't specified cPanel username and apitoken yet." cPanel_Hostname=""
_err "You haven't specified cPanel username, apitoken and hostname yet."
_err "Please add credentials and try again." _err "Please add credentials and try again."
return 1 return 1
fi fi
#save the credentials to the account conf file. #save the credentials to the account conf file.
_saveaccountconf_mutable cPanel_Username "$cPanel_Username" _saveaccountconf_mutable cPanel_Username "$cPanel_Username"
_saveaccountconf_mutable cPanel_Apitoken "$cPanel_Apitoken" _saveaccountconf_mutable cPanel_Apitoken "$cPanel_Apitoken"
_saveaccountconf_mutable cPanel_Hostname "$cPanel_Hostname"
return 0 return 0
} }
@ -109,7 +116,7 @@ _myget() {
_result=$(_get "$cPanel_Hostname/$1") _result=$(_get "$cPanel_Hostname/$1")
} }
_get_domain() { _get_root() {
_myget 'json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzones' _myget 'json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzones'
_domains=$(echo "$_result" | jq '.cpanelresult.data[]| {zones}| .zones| keys' | sed -e 's/"//g' -e 's/,//g' -e 's/\[//g' -e 's/\]//g' -e '/^$/d' -e 's/[[:space:]]//g') _domains=$(echo "$_result" | jq '.cpanelresult.data[]| {zones}| .zones| keys' | sed -e 's/"//g' -e 's/,//g' -e 's/\[//g' -e 's/\]//g' -e '/^$/d' -e 's/[[:space:]]//g')
_debug "_result is: $_result" _debug "_result is: $_result"