#!/usr/bin/env sh # shellcheck disable=SC2034 dns_nic_info='nic.ru Site: nic.ru Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_nic Options: NIC_ClientID Client ID NIC_ClientSecret Client Secret NIC_Username Username NIC_Password Password Issues: github.com/acmesh-official/acme.sh/issues/2547 ' NIC_Api="https://api.nic.ru" dns_nic_add() { fulldomain="${1}" txtvalue="${2}" if ! _nic_get_authtoken save; then _err "get NIC auth token failed" return 1 fi _debug "First detect the root zone" if ! _get_root "$fulldomain"; then _err "Invalid domain" return 1 fi _debug _sub_domain "$_sub_domain" _debug _domain "$_domain" _debug _service "$_service" _info "Adding record" if ! _nic_rest PUT "services/$_service/zones/$_domain/records" "$_sub_domainTXT$txtvalue"; then _err "Add TXT record error" return 1 fi if ! _nic_rest POST "services/$_service/zones/$_domain/commit" ""; then return 1 fi _info "Added, OK" } dns_nic_rm() { fulldomain="${1}" txtvalue="${2}" if ! _nic_get_authtoken; then _err "get NIC auth token failed" return 1 fi if ! _get_root "$fulldomain"; then _err "Invalid domain" return 1 fi _debug _sub_domain "$_sub_domain" _debug _domain "$_domain" _debug _service "$_service" if ! _nic_rest GET "services/$_service/zones/$_domain/records"; then _err "Get records error" return 1 fi _domain_id=$(printf "%s" "$response" | grep "$_sub_domain" | grep -- "$txtvalue" | sed -r "s/.*"; then error=$(printf "%s" "$response" | grep "error code" | sed -r "s/.*(.*)<\/error>/\1/g") _err "Error: $error" return 1 fi if ! _contains "$response" "success"; then return 1 fi _debug2 response "$response" return 0 }