#!/bin/bash # # powerdns-tools # https://git.stack-source.com/msb/powerdns-tools # Copyright (c) 2022 Matthew Saunders Brown # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) if [[ ! -x /opt/certbot/bin/pip ]]; then echo "NOTICE: This package requires certbot pip install in /opt/certbot" echo "Package letsencrypt-tools will provide this and should be installed first." echo "https://git.stack-source.com/msb/letsencrypt-tools" exit 1 fi # pyyaml==5.3.1 currently needed by certbot-dns-powerdns /opt/certbot/bin/pip install certbot-dns-powerdns pyyaml==5.3.1 # Install dasel from binary. Used to convert json data to csv wget --quiet --output-document=/usr/local/bin/dasel https://github.com/TomWright/dasel/releases/download/v2.7.0/dasel_linux_amd64 chmod 755 /usr/local/bin/dasel # one liner to automatically get latest version. could also be used to update existing install # curl -sSLf "$(curl -sSLf https://api.github.com/repos/tomwright/dasel/releases/latest | grep browser_download_url | grep linux_amd64 | grep -v .gz | cut -d\" -f 4)" -L -o /usr/local/bin/dasel && chmod +x /usr/local/bin/dasel chmod 755 sbin/* cp sbin/* /usr/local/sbin/ echo if [[ ! -f /usr/local/etc/pdns.conf ]]; then cp etc/pdns.conf /usr/local/etc/pdns.conf chmod 640 /usr/local/etc/pdns.conf echo "Update /usr/local/etc/pdns.conf with your settings." fi if [[ ! -f /usr/local/etc/pdns-certbot-credentials.ini ]]; then echo "dns_powerdns_api_url =" > /usr/local/etc/pdns-certbot-credentials.ini echo "dns_powerdns_api_key =" >> /usr/local/etc/pdns-certbot-credentials.ini chmod 640 /usr/local/etc/pdns-certbot-credentials.ini echo "Update /usr/local/etc/pdns-certbot-credentials.ini with your settings (this is to be used with certbot-dns-powerdns)." fi