From e97e8337a35e11a5d8dff5df87721b0c374eaee4 Mon Sep 17 00:00:00 2001 From: kappernet <33451837+kappernet@users.noreply.github.com> Date: Tue, 7 Nov 2017 14:03:02 +0100 Subject: [PATCH] dns_kappernet.sh for acme.sh use with kapper.net DNS Panel API --- dnsapi/dns_kappernet.sh | 94 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 dnsapi/dns_kappernet.sh diff --git a/dnsapi/dns_kappernet.sh b/dnsapi/dns_kappernet.sh new file mode 100644 index 00000000..6d14f5b6 --- /dev/null +++ b/dnsapi/dns_kappernet.sh @@ -0,0 +1,94 @@ +#!/usr/bin/env sh + +# kapper.net domain api +# for further questions please contact: support@kapper.net +# https://kapper.net (c) 2017 mm +# +# 20171107 - v1: initial version uploaded to GitHub Project Neilpang/acme.sh + + +#KAPPERNETDNS_Key="yourKAPPERNETapikey" +#KAPPERNETDNS_Secret="yourKAPPERNETapisecret" +KAPPERNETDNS_Api="https://dnspanel.kapper.net/API/1.1?APIKey=$KAPPERNETDNS_Key&APISecret=$KAPPERNETDNS_Secret" + +############################################################################### +# called with +# fullhostname: something.example.com +# txtvalue: someacmegenerated string +dns_kappernet_add() +{ + fullhostname=$1 + txtvalue=$2 + + if [ -z "$KAPPERNETDNS_Key" ] || [ -z "$KAPPERNETDNS_Secret" ]; then + KAPPERNETDNS_Key="" + KAPPERNETDNS_Secret="" + _err "You haven't defined kapper.net api key and secret yet." + _err "Please send us mail to get your and secret." + return 1 + fi + +#store the api key and email to the account conf file. + _saveaccountconf KAPPERNETDNS_Key "$KAPPERNETDNS_Key" + _saveaccountconf KAPPERNETDNS_Secret "$KAPPERNETDNS_Secret" + _debug "Checking the Domain/Pruefe die Domainn" + if ! _get_root "$fullhostname"; then + _err "invalid domain" + return 1 + fi + _debug _sub_domain "SUBDOMAIN: $_sub_domain" + _debug _domain "DOMAIN: $_domain" + + _info "typing to add the TXT Record/versuche den TXT Record einzufuegen" + data="%7B%22name%22%3A%22$fullhostname%22%2C%22type%22%3A%22TXT%22%2C%22content%22%3A%22$txtvalue%22%2C%22ttl%22%3A%223600%22%2C%22prio%22%3A%22%22%7D" + if _kappernet_api GET "action=new&subject=$_domain&data=$data"; then +# if [ "$response" = "{\"OK\":true,\"info\":0,\"data\":\"\"}" ]; then + if _contains "$response" "{\"OK\":true" ; then +# _info "schlafe 10 sekunden" +# _sleep 10 + return 0 + else + _err "Error creating a TXT Record/Fehler beim Anlegen des Records: $fullhostname TXT $txtvalue" + _err "Error Message: $response" + return 1 + fi + fi + _err "Error creating a TXT Record/Fehler beim Anlegen eines TXT Records" +} + +############################################################################### +# called with +# fullhostname: something.example.com +dns_kappernet_rm() +{ + fullhostname=$1 + txtvalue=$2 + + if [ -z "$KAPPERNETDNS_Key" ] || [ -z "$KAPPERNETDNS_Secret" ]; then + KAPPERNETDNS_Key="" + KAPPERNETDNS_Secret="" + _err "You haven't defined kapper.net api key and secret yet." + _err "Please send us mail to get your and secret." + return 1 + fi + +#store the api key and email to the account conf file. + _saveaccountconf KAPPERNETDNS_Key "$KAPPERNETDNS_Key" + _saveaccountconf KAPPERNETDNS_Secret "$KAPPERNETDNS_Secret" + + _info "Trying to remove the TXT Record/Versuchee den TXT Record zu entfernen: $fullhostname" + + if _kappernet_api GET "action=del&subject=$fullhostname"; then +# if [ "$response" = "{\"OK\":true,\"info\":0,\"data\":\"\"}" ]; then + if _contains "$response" "{\"OK\":true"; then +# _info "schlafe 10 sekunden" +# _sleep 10 + return 0 + else + _err "Error deleting the Record/Fehler beim Entfernen des Records: $fullhostname" + _err "Problem: $response" + return 1 + fi + fi + _err "Problem creating the TXT record/Fehler beim Anlegen eines TXT records" +}