#!/usr/bin/env sh # acme.sh DNS API hook for MOKLAV DNS (https://dns.moklav.com) # Install: cp dns_moklav.sh ~/.acme.sh/dnsapi/ # Usage: export MOKLAV_API_KEY="mk_..." (key scoped to the domain) # acme.sh --issue --dns dns_moklav -d example.com -d '*.example.com' MOKLAV_API="${MOKLAV_API:-https://dns.moklav.com/api/v1}" dns_moklav_add() { fulldomain=$1; txtvalue=$2 MOKLAV_API_KEY="${MOKLAV_API_KEY:-$(_readaccountconf_mutable MOKLAV_API_KEY)}" [ -z "$MOKLAV_API_KEY" ] && { _err "Set MOKLAV_API_KEY"; return 1; } _saveaccountconf_mutable MOKLAV_API_KEY "$MOKLAV_API_KEY" export _H1="Authorization: Bearer $MOKLAV_API_KEY" _H2="Content-Type: application/json" resp=$(_post "{\"fqdn\":\"$fulldomain\",\"value\":\"$txtvalue\"}" "$MOKLAV_API/acme/present") _contains "$resp" '"ok":true' || { _err "MOKLAV add failed: $resp"; return 1; } } dns_moklav_rm() { fulldomain=$1; txtvalue=$2 MOKLAV_API_KEY="${MOKLAV_API_KEY:-$(_readaccountconf_mutable MOKLAV_API_KEY)}" export _H1="Authorization: Bearer $MOKLAV_API_KEY" _H2="Content-Type: application/json" _post "{\"fqdn\":\"$fulldomain\",\"value\":\"$txtvalue\"}" "$MOKLAV_API/acme/cleanup" >/dev/null return 0 }