raspiblitz/home.admin/00settingsMenuServices.sh

610 lines
21 KiB
Bash
Raw Normal View History

#!/bin/bash
# get raspiblitz config
2019-01-18 23:38:36 +01:00
echo "get raspiblitz config"
2019-02-02 23:49:04 +01:00
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
2019-02-02 23:49:04 +01:00
2019-01-18 23:38:36 +01:00
echo "services default values"
2018-12-02 23:08:20 +01:00
if [ ${#autoPilot} -eq 0 ]; then autoPilot="off"; fi
2019-12-14 02:26:10 +01:00
if [ ${#loop} -eq 0 ]; then loop="off"; fi
2018-12-22 16:44:15 +01:00
if [ ${#autoUnlock} -eq 0 ]; then autoUnlock="off"; fi
2018-12-02 23:08:20 +01:00
if [ ${#runBehindTor} -eq 0 ]; then runBehindTor="off"; fi
if [ ${#rtlWebinterface} -eq 0 ]; then rtlWebinterface="off"; fi
if [ ${#BTCRPCexplorer} -eq 0 ]; then BTCRPCexplorer="off"; fi
2020-03-16 15:11:39 +01:00
if [ ${#specter} -eq 0 ]; then specter="off"; fi
2018-12-02 23:08:20 +01:00
if [ ${#chain} -eq 0 ]; then chain="main"; fi
2019-06-13 16:50:06 +02:00
if [ ${#autoNatDiscovery} -eq 0 ]; then autoNatDiscovery="off"; fi
2019-06-13 18:03:17 +02:00
if [ ${#networkUPnP} -eq 0 ]; then networkUPnP="off"; fi
2019-07-03 04:17:31 +02:00
if [ ${#touchscreen} -eq 0 ]; then touchscreen=0; fi
2019-07-29 00:45:35 +02:00
if [ ${#lcdrotate} -eq 0 ]; then lcdrotate=0; fi
2019-12-04 09:13:21 +01:00
if [ ${#BTCPayServer} -eq 0 ]; then BTCPayServer="off"; fi
if [ ${#ElectRS} -eq 0 ]; then ElectRS="off"; fi
2019-12-17 19:33:18 +01:00
if [ ${#lndmanage} -eq 0 ]; then lndmanage="off"; fi
2020-02-10 20:44:41 +01:00
if [ ${#LNBits} -eq 0 ]; then LNBits="off"; fi
2018-12-02 23:08:20 +01:00
2020-03-22 07:26:45 +01:00
echo "map dropboxbackup to on/off"
2020-03-22 05:54:44 +01:00
DropboxBackup="off";
if [ ${#dropboxBackupTarget} -gt 0 ]; then DropboxBackup="on"; fi
2019-01-18 23:38:36 +01:00
echo "map chain to on/off"
2018-12-02 23:08:20 +01:00
chainValue="off"
if [ "${chain}" = "test" ]; then chainValue="on"; fi
2019-01-18 23:38:36 +01:00
echo "map domain to on/off"
2018-12-20 14:13:42 +01:00
domainValue="off"
2018-12-21 01:28:42 +01:00
dynDomainMenu='DynamicDNS'
2018-12-21 00:47:46 +01:00
if [ ${#dynDomain} -gt 0 ]; then
domainValue="on"
2018-12-21 00:50:01 +01:00
dynDomainMenu="${dynDomain}"
2018-12-21 00:47:46 +01:00
fi
2018-12-20 14:13:42 +01:00
2019-07-29 00:59:51 +02:00
echo "map lcdrotate to on/off"
lcdrotateMenu='off'
if [ ${lcdrotate} -gt 0 ]; then
lcdrotateMenu='on'
fi
2019-07-03 04:03:40 +02:00
echo "map touchscreen to on/off"
2020-01-16 15:50:58 +01:00
touchscreenMenu='off'
2019-07-03 04:25:18 +02:00
if [ ${touchscreen} -gt 0 ]; then
2020-01-16 15:50:58 +01:00
touchscreenMenu='on'
2019-07-03 04:03:40 +02:00
fi
2019-01-21 21:47:16 +01:00
echo "check autopilot by lnd.conf"
lndAutoPilotOn=$(sudo cat /mnt/hdd/lnd/lnd.conf | grep -c 'autopilot.active=1')
if [ ${lndAutoPilotOn} -eq 1 ]; then
autoPilot="on"
else
autoPilot="off"
fi
2020-03-22 07:26:45 +01:00
echo "map keysend to on/off"
keysend="on"
source <(sudo /home/admin/config.scripts/lnd.keysend.sh status)
2020-03-22 07:31:43 +01:00
if [ ${keysendOn} -eq 0 ]; then
2020-03-22 07:26:45 +01:00
keysend="off"
fi
# show select dialog
2019-01-18 23:38:36 +01:00
echo "run dialog ..."
2019-06-14 00:25:49 +02:00
if [ "${runBehindTor}" = "on" ]; then
2020-02-19 23:35:35 +01:00
CHOICES=$(dialog --title ' Additional Services ' --checklist ' use spacebar to activate/de-activate ' 20 45 12 \
2019-06-14 00:25:49 +02:00
1 'Channel Autopilot' ${autoPilot} \
2020-03-22 07:26:45 +01:00
k 'Accept Keysend' ${keysend} \
2019-12-14 02:26:10 +01:00
l 'Lightning Loop' ${loop} \
2019-06-14 00:25:49 +02:00
2 'Testnet' ${chainValue} \
3 ${dynDomainMenu} ${domainValue} \
4 'Run behind TOR' ${runBehindTor} \
5 'RTL Webinterface' ${rtlWebinterface} \
b 'BTC-RPC-Explorer' ${BTCRPCexplorer} \
2020-03-16 15:11:39 +01:00
s 'Cyryptoadvance Specter' ${specter} \
2019-06-14 00:25:49 +02:00
6 'LND Auto-Unlock' ${autoUnlock} \
2020-01-16 15:50:58 +01:00
9 'Touchscreen' ${touchscreenMenu} \
2019-07-29 00:59:51 +02:00
r 'LCD Rotate' ${lcdrotateMenu} \
e 'Electrum Rust Server' ${ElectRS} \
2019-12-04 09:13:21 +01:00
p 'BTCPayServer' ${BTCPayServer} \
2019-12-17 19:33:18 +01:00
m 'lndmanage' ${lndmanage} \
2020-02-10 20:44:41 +01:00
i 'LNBits' ${LNBits} \
2020-03-22 05:56:17 +01:00
d 'StaticChannelBackup on DropBox' ${DropboxBackup} \
2019-06-14 00:25:49 +02:00
2>&1 >/dev/tty)
else
2020-02-19 23:35:35 +01:00
CHOICES=$(dialog --title ' Additional Services ' --checklist ' use spacebar to activate/de-activate ' 20 45 12 \
2019-06-14 00:25:49 +02:00
1 'Channel Autopilot' ${autoPilot} \
2020-03-22 07:26:45 +01:00
k 'Accept Keysend' ${keysend} \
2019-12-14 02:26:10 +01:00
l 'Lightning Loop' ${loop} \
2018-12-20 22:52:54 +01:00
2 'Testnet' ${chainValue} \
2019-01-10 18:17:03 +01:00
3 ${dynDomainMenu} ${domainValue} \
4 'Run behind TOR' ${runBehindTor} \
5 'RTL Webinterface' ${rtlWebinterface} \
b 'BTC-RPC-Explorer' ${BTCRPCexplorer} \
2020-03-16 15:11:39 +01:00
s 'Cyryptoadvance Specter' ${specter} \
2019-01-10 18:17:03 +01:00
6 'LND Auto-Unlock' ${autoUnlock} \
2019-06-14 00:33:46 +02:00
7 'BTC UPnP (AutoNAT)' ${networkUPnP} \
8 'LND UPnP (AutoNAT)' ${autoNatDiscovery} \
2020-01-16 15:50:58 +01:00
9 'Touchscreen' ${touchscreenMenu} \
2019-07-29 00:59:51 +02:00
r 'LCD Rotate' ${lcdrotateMenu} \
e 'Electrum Rust Server' ${ElectRS} \
2019-12-04 09:13:21 +01:00
p 'BTCPayServer' ${BTCPayServer} \
2019-12-17 19:33:18 +01:00
m 'lndmanage' ${lndmanage} \
2020-02-10 20:44:41 +01:00
i 'LNBits' ${LNBits} \
2020-03-22 05:56:17 +01:00
d 'StaticChannelBackup on DropBox' ${DropboxBackup} \
2019-06-14 00:25:49 +02:00
2>&1 >/dev/tty)
2019-06-14 00:22:27 +02:00
fi
2019-06-14 00:25:49 +02:00
2018-10-16 00:04:20 +02:00
dialogcancel=$?
2019-01-18 23:38:36 +01:00
echo "done dialog"
clear
# check if user canceled dialog
2019-01-18 23:38:36 +01:00
echo "dialogcancel(${dialogcancel})"
2018-10-16 00:04:20 +02:00
if [ ${dialogcancel} -eq 1 ]; then
echo "user canceled"
exit 1
elif [ ${dialogcancel} -eq 255 ]; then
echo "ESC pressed"
exit 1
fi
2018-12-01 20:25:33 +01:00
needsReboot=0
2019-02-11 19:59:09 +01:00
anychange=0
2018-12-01 20:25:33 +01:00
2020-01-23 11:15:46 +01:00
# TESTNET process choice - KEEP FIRST IN ORDER
2018-12-01 20:25:33 +01:00
choice="main"; check=$(echo "${CHOICES}" | grep -c "2")
if [ ${check} -eq 1 ]; then choice="test"; fi
if [ "${chain}" != "${choice}" ]; then
if [ "${network}" = "litecoin" ] && [ "${choice}"="test" ]; then
dialog --title 'FAIL' --msgbox 'Litecoin-Testnet not available.' 5 25
2020-01-23 11:15:46 +01:00
elif [ "${BTCRPCexplorer}" = "on" ]; then
2020-01-23 11:54:31 +01:00
dialog --title 'NOTICE' --msgbox 'Please turn off BTC-RPC-Explorer FIRST\nbefore changing testnet.' 6 45
2020-01-23 11:15:46 +01:00
exit 1
elif [ "${BTCPayServer}" = "on" ]; then
dialog --title 'NOTICE' --msgbox 'Please turn off BTC-Pay-Server FIRST\nbefore changing testnet.' 6 45
exit 1
elif [ "${ElectRS}" = "on" ]; then
dialog --title 'NOTICE' --msgbox 'Please turn off Electrum-Rust-Server FIRST\nbefore changing testnet.' 6 48
exit 1
elif [ "${loop}" = "on" ]; then
dialog --title 'NOTICE' --msgbox 'Please turn off Loop-Service FIRST\nbefore changing testnet.' 6 48
exit 1
2018-12-01 20:25:33 +01:00
else
2018-12-02 19:52:01 +01:00
echo "Testnet Setting changed .."
2019-02-11 19:59:09 +01:00
anychange=1
2018-12-01 20:25:33 +01:00
sudo /home/admin/config.scripts/network.chain.sh ${choice}net
2018-12-04 22:24:28 +01:00
walletExists=$(sudo ls /mnt/hdd/lnd/data/chain/${network}/${choice}net/wallet.db 2>/dev/null | grep -c 'wallet.db')
if [ ${walletExists} -eq 0 ]; then
2018-12-05 01:49:34 +01:00
echo "Need to creating a new wallet ... wait 20secs"
sudo systemctl start lnd
2018-12-05 01:49:34 +01:00
sleep 20
tryAgain=1
while [ ${tryAgain} -eq 1 ]
do
echo "****************************************************************************"
echo "Creating a new LND Wallet for ${network}/${choice}net"
echo "****************************************************************************"
echo "A) For 'Wallet Password' use your PASSWORD C --> !! minimum 8 characters !!"
echo "B) Answere 'n' because you dont have a 'cipher seed mnemonic' (24 words) yet"
echo "C) For 'passphrase' to encrypt your 'cipher seed' use PASSWORD D (optional)"
echo "****************************************************************************"
2018-12-20 20:11:02 +01:00
sudo -u bitcoin /usr/local/bin/lncli --chain=${network} --network=${chain}net create 2>error.out
error=`sudo cat error.out`
if [ ${#error} -eq 0 ]; then
2018-12-05 01:12:45 +01:00
sleep 2
2018-12-05 01:53:28 +01:00
# WIN
tryAgain=0
echo "!!! Make sure to write down the 24 words (cipher seed mnemonic) !!!"
echo "If you are ready. Press ENTER."
else
# FAIL
tryAgain=1
echo "!!! FAIL ---> SOMETHING WENT WRONG !!!"
echo "${error}"
echo "Press ENTER to retry ... or CTRL-c to EXIT"
fi
read key
done
2018-12-05 11:18:18 +01:00
echo "Check for Macaroon .. (10sec)"
sleep 10
2018-12-05 01:48:37 +01:00
macaroonExists=$(sudo ls /home/bitcoin/.lnd/data/chain/${network}/${choice}net/admin.macaroon | grep -c 'admin.macaroon')
if [ ${macaroonExists} -eq 0 ]; then
echo "*** PLEASE UNLOCK your wallet with PASSWORD C to create macaroon"
2018-12-05 11:18:18 +01:00
lncli unlock 2>/dev/null
2018-12-05 01:48:37 +01:00
sleep 6
fi
macaroonExists=$(sudo ls /home/bitcoin/.lnd/data/chain/${network}/${choice}net/admin.macaroon | grep -c 'admin.macaroon')
if [ ${macaroonExists} -eq 0 ]; then
echo "FAIL --> Was not able to create macaroon"
echo "Please report problem."
exit 1
fi
2018-12-05 00:58:44 +01:00
echo "stopping lnd again"
sleep 5
sudo systemctl stop lnd
fi
2018-12-05 01:48:37 +01:00
echo "Update Admin Macaroon"
2018-12-05 01:12:45 +01:00
sudo rm -r /home/admin/.lnd/data/chain/${network}/${choice}net 2>/dev/null
sudo mkdir /home/admin/.lnd/data/chain/${network}/${choice}net
sudo cp /home/bitcoin/.lnd/data/chain/${network}/${choice}net/admin.macaroon /home/admin/.lnd/data/chain/${network}/${choice}net
sudo chown -R admin:admin /home/admin/.lnd/
2018-12-05 01:48:37 +01:00
2018-12-01 20:25:33 +01:00
needsReboot=1
fi
else
echo "Testnet Setting unchanged."
fi
2020-01-23 11:15:46 +01:00
# AUTOPILOT process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "1")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${autoPilot}" != "${choice}" ]; then
echo "Autopilot Setting changed .."
anychange=1
sudo /home/admin/config.scripts/lnd.autopilot.sh ${choice}
needsReboot=1
else
echo "Autopilot Setting unchanged."
fi
# LOOP process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "l")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${loop}" != "${choice}" ]; then
echo "Loop Setting changed .."
anychange=1
2020-03-23 03:52:31 +01:00
needsReboot=1 # always reboot so that RTL gets restarted to show/hide support loop
2020-01-23 11:15:46 +01:00
/home/admin/config.scripts/bonus.loop.sh ${choice}
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
sudo systemctl start loopd
2020-01-26 23:06:03 +01:00
/home/admin/config.scripts/bonus.loop.sh menu
2020-01-23 11:15:46 +01:00
else
l1="FAILED to install Lightning LOOP"
l2="Try manual install in the terminal with:"
l3="/home/admin/config.scripts/bonus.loop.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "Loop Setting unchanged."
fi
2018-12-20 14:13:42 +01:00
# Dynamic Domain
2019-01-10 18:17:03 +01:00
choice="off"; check=$(echo "${CHOICES}" | grep -c "3")
2018-12-02 19:52:01 +01:00
if [ ${check} -eq 1 ]; then choice="on"; fi
2018-12-20 14:13:42 +01:00
if [ "${domainValue}" != "${choice}" ]; then
echo "Dynamic Domain changed .."
2019-02-11 19:59:09 +01:00
anychange=1
2018-12-20 22:52:54 +01:00
sudo /home/admin/config.scripts/internet.dyndomain.sh ${choice}
needsReboot=1
2018-12-20 14:13:42 +01:00
else
echo "Dynamic Domain unchanged."
fi
2019-06-14 00:03:44 +02:00
# UPnP
choice="off"; check=$(echo "${CHOICES}" | grep -c "7")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${networkUPnP}" != "${choice}" ]; then
echo "BTC UPnP Setting changed .."
anychange=1
if [ "${choice}" = "on" ]; then
echo "Starting BTC UPNP ..."
/home/admin/config.scripts/network.upnp.sh on
networkUPnP="on"
needsReboot=1
else
echo "Stopping BTC UPNP ..."
/home/admin/config.scripts/network.upnp.sh off
networkUPnP="off"
needsReboot=1
fi
else
echo "BTC UPnP Setting unchanged."
fi
# AutoNAT
choice="off"; check=$(echo "${CHOICES}" | grep -c "8")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${autoNatDiscovery}" != "${choice}" ]; then
echo "AUTO NAT Setting changed .."
anychange=1
if [ "${choice}" = "on" ]; then
echo "Starting autoNAT ..."
/home/admin/config.scripts/lnd.autonat.sh on
autoNatDiscovery="on"
needsReboot=1
else
echo "Stopping autoNAT ..."
/home/admin/config.scripts/lnd.autonat.sh off
autoNatDiscovery="off"
needsReboot=1
fi
else
echo "LND AUTONAT Setting unchanged."
fi
2018-12-20 14:13:42 +01:00
# TOR process choice
2019-01-10 18:17:03 +01:00
choice="off"; check=$(echo "${CHOICES}" | grep -c "4")
2018-12-20 14:13:42 +01:00
if [ ${check} -eq 1 ]; then choice="on"; fi
2018-12-02 19:52:01 +01:00
if [ "${runBehindTor}" != "${choice}" ]; then
echo "TOR Setting changed .."
2019-06-14 00:03:44 +02:00
2019-08-07 15:01:48 +02:00
# special actions if TOR is turned on
if [ "${choice}" = "on" ]; then
# inform user about privacy risk
whiptail --title " PRIVACY NOTICE " --msgbox "
2019-08-07 14:53:48 +02:00
RaspiBlitz will now install/activate TOR & after reboot run behind it.
Please keep in mind that thru your LND node id & your previous IP history with your internet provider your lightning node could still be linked to your personal id even when running behind TOR. To unlink you from that IP history its recommended that after the switch/reboot to TOR you also use the REPAIR > RESET-LND option to create a fresh LND wallet. That might involve closing all channels & move your funds out of RaspiBlitz before that RESET-LND.
" 16 76
2019-08-07 15:01:48 +02:00
# make sure AutoNAT & UPnP is off
/home/admin/config.scripts/lnd.autonat.sh off
/home/admin/config.scripts/network.upnp.sh off
fi
2019-06-14 00:03:44 +02:00
# change TOR
2019-02-11 19:59:09 +01:00
anychange=1
2018-12-02 19:52:01 +01:00
sudo /home/admin/config.scripts/internet.tor.sh ${choice}
needsReboot=1
2019-06-14 00:03:44 +02:00
2018-12-02 19:52:01 +01:00
else
echo "TOR Setting unchanged."
fi
# RTL process choice
2019-01-10 18:17:03 +01:00
choice="off"; check=$(echo "${CHOICES}" | grep -c "5")
2018-12-02 19:52:01 +01:00
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${rtlWebinterface}" != "${choice}" ]; then
echo "RTL Webinterface Setting changed .."
2019-02-18 11:32:27 +01:00
anychange=1
/home/admin/config.scripts/bonus.rtl.sh ${choice}
2019-03-13 18:13:49 +01:00
errorOnInstall=$?
2018-12-03 23:25:55 +01:00
if [ "${choice}" = "on" ]; then
2019-03-13 18:13:49 +01:00
if [ ${errorOnInstall} -eq 0 ]; then
sudo systemctl start RTL
2020-01-26 23:41:28 +01:00
echo "waiting 10 secs .."
sleep 10
2020-01-26 23:35:02 +01:00
/home/admin/config.scripts/bonus.rtl.sh menu
2019-03-13 18:13:49 +01:00
else
l1="!!! FAIL on RTL install !!!"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.rtl.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
2019-03-13 18:13:49 +01:00
fi
2018-12-02 19:52:01 +01:00
fi
2018-12-02 23:50:14 +01:00
else
2018-12-02 19:52:01 +01:00
echo "RTL Webinterface Setting unchanged."
2018-12-01 22:24:32 +01:00
fi
# BTC-RPC-Explorer process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "b")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${BTCRPCexplorer}" != "${choice}" ]; then
echo "RTL Webinterface Setting changed .."
anychange=1
/home/admin/config.scripts/bonus.btc-rpc-explorer.sh ${choice}
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
sudo sytemctl start btc-rpc-explorer
2020-01-27 02:26:45 +01:00
whiptail --title " Installed BTC-RPC-Explorer " --msgbox "\
The txindex may need to be created before BTC-RPC-Explorer can be active.\n
This can take ~7 hours on a RPi4 with SSD. Monitor the progress on the LCD.\n
When finished use the new 'EXPLORE' entry in Main Menu for more info.\n
" 14 50
2020-01-23 11:20:43 +01:00
needsReboot=1
else
l1="!!! FAIL on BTC-RPC-Explorer install !!!"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.btc-rpc-explorer.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "BTC-RPC-Explorer Setting unchanged."
fi
2020-03-16 15:11:39 +01:00
# cryptoadvance Specter process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "s")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${specter}" != "${choice}" ]; then
echo "Cryptoadvance Specter Setting changed .."
anychange=1
/home/admin/config.scripts/bonus.cryptoadvance-specter.sh ${choice}
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
#sudo sytemctl start cryptoadvance-specter
/home/admin/config.scripts/bonus.cryptoadvance-specter.sh menu
#whiptail --title " Installed Cryptoadvance Specter " --msgbox "\
#You should be able to reach specter on port 25441. The Login is Password B.\n
#" 14 50
else
l1="!!! FAIL on Cryptoadvance Specter install !!!"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.cryptoadvance-specter.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "Cryptoadvance Specter Setting unchanged."
fi
2018-12-22 16:44:15 +01:00
# LND Auto-Unlock
2019-01-10 18:17:03 +01:00
choice="off"; check=$(echo "${CHOICES}" | grep -c "6")
2018-12-22 16:44:15 +01:00
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${autoUnlock}" != "${choice}" ]; then
echo "LND Autounlock Setting changed .."
2019-02-11 19:59:09 +01:00
anychange=1
2018-12-22 16:44:15 +01:00
sudo /home/admin/config.scripts/lnd.autounlock.sh ${choice}
2019-01-18 03:34:20 +01:00
l1="AUTO-UNLOCK IS NOW OFF"
2019-01-18 03:12:26 +01:00
if [ "${choice}" = "on" ]; then
2019-01-18 03:34:20 +01:00
l1="AUTO-UNLOCK IS NOW ACTIVE"
fi
l2="-------------------------"
l3="mobile/external wallets may need reconnect"
l4="possible change in macaroon / TLS cert"
dialog --title 'OK' --msgbox "${l1}\n${l2}\n${l3}\n${l4}" 11 60
2018-12-22 16:44:15 +01:00
needsReboot=1
else
echo "LND Autounlock Setting unchanged."
fi
# touchscreen
choice="0"; check=$(echo "${CHOICES}" | grep -c "9")
if [ ${check} -eq 1 ]; then choice="1"; fi
if [ "${touchscreen}" != "${choice}" ]; then
echo "Touchscreen Setting changed .."
anychange=1
sudo /home/admin/config.scripts/blitz.touchscreen.sh ${choice}
2020-01-26 17:43:45 +01:00
if [ "${choice}" == "1" ]; then
dialog --title 'Touchscreen Activated' --msgbox 'Touchscreen was activated - will reboot.\n\nAfter reboot use the SCREEN option in main menu to calibrate the touchscreen.' 9 48
fi
needsReboot=1
else
echo "Touchscreen Setting unchanged."
fi
2019-07-29 01:02:34 +02:00
# lcd rotate
2019-07-29 00:45:35 +02:00
choice="0"; check=$(echo "${CHOICES}" | grep -c "r")
if [ ${check} -eq 1 ]; then choice="1"; fi
2019-07-29 01:02:34 +02:00
if [ "${lcdrotate}" != "${choice}" ]; then
2019-07-29 00:45:35 +02:00
echo "LCD Rotate Setting changed .."
anychange=1
sudo /home/admin/config.scripts/blitz.lcdrotate.sh ${choice}
needsReboot=1
else
2019-07-29 01:02:34 +02:00
echo "LCD Rotate Setting unchanged."
2019-07-29 00:45:35 +02:00
fi
# ElectRS process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "e")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${ElectRS}" != "${choice}" ]; then
echo "ElectRS Setting changed .."
anychange=1
2020-01-27 23:55:12 +01:00
extraparameter=""
if [ "${choice}" = "off" ]; then
whiptail --title "Delete Electrum Index?" \
--yes-button "Keep Index" \
--no-button "Delete Index" \
--yesno "ElectRS is getting uninstalled. Do you also want to delete the Electrum Index? It contains no important data, but can take multiple hours to rebuild if needed again." 10 60
if [ $? -eq 1 ]; then
extraparameter="deleteindex"
fi
fi
/home/admin/config.scripts/bonus.electrs.sh ${choice} ${extraparameter}
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
sudo systemctl start electrs
2020-01-27 06:44:10 +01:00
whiptail --title " Installed ElectRS Server " --msgbox "\
The index database needs to be created before Electrum Server can be used.\n
This can take hours/days depending on your RaspiBlitz. Monitor the progress on the LCD.\n
When finished use the new 'ELECTRS' entry in Main Menu for more info.\n
" 14 50
else
l1="!!! FAIL on ElectRS install !!!"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.electrs.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "ElectRS Setting unchanged."
fi
2019-12-04 09:13:21 +01:00
# BTCPayServer process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "p")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${BTCPayServer}" != "${choice}" ]; then
echo "BTCPayServer setting changed .."
2020-03-23 06:47:36 +01:00
# check if TOR is installed
source /mnt/hdd/raspiblitz.conf
if [ "${choice}" = "on" ] && [ "${runBehindTor}" != "on" ]; then
whiptail --title " BTCPayServer needs TOR " --msgbox "\
At the moment the BTCPayServer on the RaspiBlitz needs TOR.\n
Please activate TOR in SERVICES first and then try again..\n
2020-03-23 07:03:29 +01:00
" 11 35
2020-03-23 06:47:36 +01:00
else
anychange=1
/home/admin/config.scripts/bonus.btcpayserver.sh ${choice} tor
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
source /home/btcpay/.btcpayserver/Main/settings.config
whiptail --title " BTCPayServer needs TOR " --msgbox "\
At the moment the BTCPayServer on the RaspiBlitz needs TOR.\n
Please activate TOR in SERVICES first and then try again.\n
" 11 38
else
l1="BTCPayServer installation is cancelled"
l2="Try again from the menu or install from the terminal with:"
l3="/home/admin/config.scripts/bonus.btcpayserver.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
2019-12-04 09:13:21 +01:00
fi
fi
else
echo "BTCPayServer setting not changed."
fi
2019-12-17 19:33:18 +01:00
# LNDMANAGE process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "m")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${lndmanage}" != "${choice}" ]; then
echo "lndmanage Setting changed .."
anychange=1
2020-01-20 23:12:55 +01:00
sudo -u admin /home/admin/config.scripts/bonus.lndmanage.sh ${choice}
2020-02-19 17:05:07 +01:00
source /mnt/hdd/raspiblitz.conf
if [ "${lndmanage}" = "on" ]; then
2020-01-26 22:30:26 +01:00
sudo -u admin /home/admin/config.scripts/bonus.lndmanage.sh menu
fi
2019-12-17 19:33:18 +01:00
else
echo "lndmanage setting unchanged."
fi
2020-02-10 20:44:41 +01:00
# LNBits process choice
2020-02-10 20:46:23 +01:00
choice="off"; check=$(echo "${CHOICES}" | grep -c "i")
2020-02-10 20:44:41 +01:00
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${LNBits}" != "${choice}" ]; then
echo "LNBits Setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/bonus.lnbits.sh ${choice}
if [ "${choice}" = "on" ]; then
2020-02-10 21:43:35 +01:00
sudo systemctl start lnbits
2020-02-10 20:44:41 +01:00
sudo -u admin /home/admin/config.scripts/bonus.lnbits.sh menu
fi
else
echo "lndmanage setting unchanged."
fi
2020-03-22 05:54:44 +01:00
# DropBox process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "d")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${DropboxBackup}" != "${choice}" ]; then
echo "DropBox Setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/dropbox.upload.sh ${choice}
if [ "${choice}" = "on" ]; then
# doing initial upload so that user can see result
source /mnt/hdd/raspiblitz.conf
sudo /home/admin/config.scripts/dropbox.upload.sh upload ${dropboxBackupTarget} /home/admin/.lnd/data/chain/${network}/${chain}net/channel.backup
fi
else
echo "lndmanage setting unchanged."
fi
2020-03-22 07:26:45 +01:00
# Kexysend process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "k")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${keysend}" != "${choice}" ]; then
echo "keysend setting changed .."
anychange=1
needsReboot=1
2020-03-22 07:26:45 +01:00
sudo -u admin /home/admin/config.scripts/lnd.keysend.sh ${choice}
dialog --msgbox "Accept Keysend is now ${choice} after Reboot." 5 46
2020-03-22 07:26:45 +01:00
else
echo "keysend setting unchanged."
2020-03-22 07:26:45 +01:00
fi
2019-02-11 20:06:19 +01:00
if [ ${anychange} -eq 0 ]; then
2019-07-29 00:49:00 +02:00
dialog --msgbox "NOTHING CHANGED!\nUse Spacebar to check/uncheck services." 8 58
2019-02-11 20:06:19 +01:00
exit 0
2019-02-11 19:59:09 +01:00
fi
2018-12-01 20:25:33 +01:00
if [ ${needsReboot} -eq 1 ]; then
2018-12-02 19:52:01 +01:00
sleep 2
2018-12-24 14:57:47 +01:00
dialog --pause "OK. System will reboot to activate changes." 8 58 8
2019-01-17 23:12:30 +01:00
clear
2018-12-24 14:57:47 +01:00
echo "rebooting .. (please wait)"
2019-01-28 16:55:51 +01:00
# stop bitcoind
sudo -u bitcoin ${network}-cli stop
sleep 4
2019-12-11 14:03:52 +01:00
sudo /home/admin/XXshutdown.sh reboot
2019-03-28 03:51:46 +01:00
fi