#!/bin/bash # based on: https://github.com/Stadicus/guides/issues/249 if [ $# -eq 0 ]; then echo "small config script to switch the LND autoNatDiscovery on or off" echo "lnd.autonat.sh [on|off]" exit 1 fi # check lnd.conf exits lndConfExists=$(sudo ls /mnt/hdd/lnd/lnd.conf | grep -c 'lnd.conf') if [ ${lndConfExists} -eq 0 ]; then echo "FAIL - /mnt/hdd/lnd/lnd.conf not found" exit 1 fi # check if "nat=" exists in lnd config valueExists=$(sudo cat /mnt/hdd/lnd/lnd.conf | grep -c 'nat=') if [ ${valueExists} -eq 0 ]; then echo "Adding autonat config defaults to /mnt/hdd/lnd/lnd.conf" sudo sed -i '$ a nat=false' /mnt/hdd/lnd/lnd.conf fi # stop services echo "making sure services are not running" sudo systemctl stop lnd 2>/dev/null # add default value to raspi config if needed source /mnt/hdd/raspiblitz.conf if [ ${#autoNatDiscovery} -eq 0 ]; then echo "autoNatDiscovery=off" >> /mnt/hdd/raspiblitz.conf fi # switch on if [ "$1" = "1" ] || [ "$1" = "on" ]; then echo "switching the LND autonat ON" # disable lnd service echo "disable lnd" sudo systemctl disable lnd # editing lnd config echo "editing /mnt/hdd/lnd/lnd.conf" sudo sed -i "s/^nat=.*/nat=true/g" /mnt/hdd/lnd/lnd.conf # editing lnd service (removing the static publicip) echo "editing /etc/systemd/system/lnd.service" sudo sed -i "s/^ExecStart=\/usr\/local\/bin\/lnd --externalip=.*/ExecStart=\/usr\/local\/bin\/lnd/g" /etc/systemd/system/lnd.service # edit raspi blitz config echo "editing /mnt/hdd/raspiblitz.conf" sudo sed -i "s/^autoNatDiscovery=.*/autoNatDiscovery=on/g" /mnt/hdd/raspiblitz.conf # enable lnd service echo "enable lnd" sudo systemctl enable lnd echo "OK - autonat is now ON" echo "needs reboot to activate new setting" exit 0 fi # switch off if [ "$1" = "0" ] || [ "$1" = "off" ]; then echo "switching the LND autonat OFF" # disable lnd service echo "disable lnd" sudo systemctl disable lnd # editing lnd config echo "editing /mnt/hdd/lnd/lnd.conf" sudo sed -i "s/^nat=.*/nat=false/g" /mnt/hdd/lnd/lnd.conf # editing lnd service (adding the static publicip) echo "editing /etc/systemd/system/lnd.service" sudo sed -i "s/^ExecStart=\/usr\/local\/bin\/lnd.*/ExecStart=\/usr\/local\/bin\/lnd --externalip=\${publicIP}/g" /etc/systemd/system/lnd.service # edit raspi blitz config echo "editing /mnt/hdd/raspiblitz.conf" sudo sed -i "s/^autoNatDiscovery=.*/autoNatDiscovery=off/g" /mnt/hdd/raspiblitz.conf # enable lnd service echo "enable lnd" sudo systemctl enable lnd echo "OK - autonat is now OFF" echo "needs reboot to activate new setting" exit 0 fi echo "FAIL - Unknown Paramter $1" echo "may needs reboot to run normal again" exit 1