68 lines
2 KiB
Text
68 lines
2 KiB
Text
|
function contains () {
|
||
|
local n=$#
|
||
|
local value=${!n}
|
||
|
for ((i=1;i < $#;i++)) {
|
||
|
if [ "${!i}" == "${value}" ]; then
|
||
|
echo "y"
|
||
|
return 0
|
||
|
fi
|
||
|
}
|
||
|
echo "n"
|
||
|
return 1
|
||
|
}
|
||
|
|
||
|
function TLD () {
|
||
|
echo ${arg_u} | cut -d. -f2,3
|
||
|
}
|
||
|
|
||
|
function SLD () {
|
||
|
echo ${arg_u} | cut -d. -f1
|
||
|
}
|
||
|
|
||
|
function call_API () {
|
||
|
url="https://api.$NAMECHEAP_URL/xml.response\?ApiUser=${NAMECHEAP_API_USER}&ApiKey=${NAMECHEAP_API_KEY}&UserName=${NAMECHEAP_API_USER}&ClientIp=${IP}$1"
|
||
|
output=$(curl -s ${url})
|
||
|
|
||
|
if [ $(echo ${output} | grep -c 'Status="OK"') -eq 0 ]; then
|
||
|
error "API call failed. Please read the output"
|
||
|
echo ${output}
|
||
|
exit 1
|
||
|
else
|
||
|
info "API call is a success."
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
function _fmt () {
|
||
|
local color_ok="\x1b[32m"
|
||
|
local color_bad="\x1b[31m"
|
||
|
|
||
|
local color="${color_bad}"
|
||
|
if [ "${1}" = "debug" ] || [ "${1}" = "info" ] || [ "${1}" = "notice" ]; then
|
||
|
color="${color_ok}"
|
||
|
fi
|
||
|
|
||
|
local color_reset="\x1b[0m"
|
||
|
if [[ "${TERM}" != "xterm"* ]] || [ -t 1 ]; then
|
||
|
# Don't use colors on pipes or non-recognized terminals
|
||
|
color=""; color_reset=""
|
||
|
fi
|
||
|
echo -e "$(date -u +"%Y-%m-%d %H:%M:%S UTC") ${color}$(printf "[%9s]" ${1})${color_reset}";
|
||
|
}
|
||
|
function emergency () { echo "$(_fmt emergency) ${@}" 1>&2 || true; exit 1; }
|
||
|
function alert () { [ "${LOG_LEVEL}" -ge 1 ] && echo "$(_fmt alert) ${@}" 1>&2 || true; }
|
||
|
function critical () { [ "${LOG_LEVEL}" -ge 2 ] && echo "$(_fmt critical) ${@}" 1>&2 || true; }
|
||
|
function error () { [ "${LOG_LEVEL}" -ge 3 ] && echo "$(_fmt error) ${@}" 1>&2 || true; }
|
||
|
function warning () { [ "${LOG_LEVEL}" -ge 4 ] && echo "$(_fmt warning) ${@}" 1>&2 || true; }
|
||
|
function notice () { [ "${LOG_LEVEL}" -ge 5 ] && echo "$(_fmt notice) ${@}" 1>&2 || true; }
|
||
|
function info () { [ "${LOG_LEVEL}" -ge 6 ] && echo "$(_fmt info) ${@}" 1>&2 || true; }
|
||
|
function debug () { [ "${LOG_LEVEL}" -ge 7 ] && echo "$(_fmt debug) ${@}" 1>&2 || true; }
|
||
|
|
||
|
function help () {
|
||
|
echo "" 1>&2
|
||
|
echo " ${@}" 1>&2
|
||
|
echo "" 1>&2
|
||
|
echo " ${usage}" 1>&2
|
||
|
echo "" 1>&2
|
||
|
exit 1
|
||
|
}
|