#!/bin/bash domain="dyn.uvok.de" [[ -z ${1} ]] && { echo "Must provide arg" >&2 ; exit 1; } if type -p pass >/dev/null 2>&1; then tokid=$(pass desec/dyndns/user) toksec=$(pass desec/dyndns/pass) else read -r -p "Enter token ID: " tokid read -r -s -p "Enter token secret: " toksec fi url="https://desec.io/api/v1/auth/tokens/${tokid}/policies/domain/" authhdr="Authorization: Token ${toksec}" echo case "$1" in create) curl -X POST "$url" --header "$authhdr" --header "Content-Type: application/json" --data @- <<< '{"domain": null}' echo # fall-through ;& update) curl -X POST "$url" --header "$authhdr" --header "Content-Type: application/json" --data @- <<< '{"domain": "'"$domain"'", "perm_dyndns": true}' echo ;; check) curl -X GET "$url" --header "$authhdr" echo ;; *) echo "Invalid parameter. Please enter one of 'create', 'update', 'check'." ;; esac