#!/bin/bash # get raspiblitz config echo "get raspiblitz config" source /home/admin/raspiblitz.info source /mnt/hdd/raspiblitz.conf echo "services default values" if [ ${#autoPilot} -eq 0 ]; then autoPilot="off"; fi if [ ${#loop} -eq 0 ]; then loop="off"; fi if [ ${#autoUnlock} -eq 0 ]; then autoUnlock="off"; fi if [ ${#runBehindTor} -eq 0 ]; then runBehindTor="off"; fi if [ ${#rtlWebinterface} -eq 0 ]; then rtlWebinterface="off"; fi if [ ${#BTCRPCexplorer} -eq 0 ]; then BTCRPCexplorer="off"; fi if [ ${#specter} -eq 0 ]; then specter="off"; fi if [ ${#chain} -eq 0 ]; then chain="main"; fi if [ ${#autoNatDiscovery} -eq 0 ]; then autoNatDiscovery="off"; fi if [ ${#networkUPnP} -eq 0 ]; then networkUPnP="off"; fi if [ ${#touchscreen} -eq 0 ]; then touchscreen=0; fi if [ ${#lcdrotate} -eq 0 ]; then lcdrotate=0; fi if [ ${#BTCPayServer} -eq 0 ]; then BTCPayServer="off"; fi if [ ${#ElectRS} -eq 0 ]; then ElectRS="off"; fi if [ ${#lndmanage} -eq 0 ]; then lndmanage="off"; fi if [ ${#joinmarket} -eq 0 ]; then joinmarket="off"; fi if [ ${#LNBits} -eq 0 ]; then LNBits="off"; fi if [ ${#faraday} -eq 0 ]; then faraday="off"; fi if [ ${#bos} -eq 0 ]; then bos="off"; fi echo "map dropboxbackup to on/off" DropboxBackup="off"; if [ ${#dropboxBackupTarget} -gt 0 ]; then DropboxBackup="on"; fi echo "map chain to on/off" chainValue="off" if [ "${chain}" = "test" ]; then chainValue="on"; fi echo "map domain to on/off" domainValue="off" dynDomainMenu='DynamicDNS' if [ ${#dynDomain} -gt 0 ]; then domainValue="on" dynDomainMenu="${dynDomain}" fi echo "map lcdrotate to on/off" lcdrotateMenu='off' if [ ${lcdrotate} -gt 0 ]; then lcdrotateMenu='on' fi echo "map touchscreen to on/off" touchscreenMenu='off' if [ ${touchscreen} -gt 0 ]; then touchscreenMenu='on' fi 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 echo "map keysend to on/off" keysend="on" source <(sudo /home/admin/config.scripts/lnd.keysend.sh status) if [ ${keysendOn} -eq 0 ]; then keysend="off" fi # show select dialog echo "run dialog ..." if [ "${runBehindTor}" = "on" ]; then CHOICES=$(dialog --title ' Additional Services ' --checklist ' use spacebar to activate/de-activate ' 20 45 12 \ 1 'Channel Autopilot' ${autoPilot} \ k 'Accept Keysend' ${keysend} \ l 'Lightning Loop' ${loop} \ 2 'Testnet' ${chainValue} \ 3 ${dynDomainMenu} ${domainValue} \ 4 'Run behind TOR' ${runBehindTor} \ 5 'RTL Webinterface' ${rtlWebinterface} \ b 'BTC-RPC-Explorer' ${BTCRPCexplorer} \ s 'Cryptoadvance Specter' ${specter} \ 6 'LND Auto-Unlock' ${autoUnlock} \ 9 'Touchscreen' ${touchscreenMenu} \ r 'LCD Rotate' ${lcdrotateMenu} \ e 'Electrum Rust Server' ${ElectRS} \ p 'BTCPayServer' ${BTCPayServer} \ m 'lndmanage' ${lndmanage} \ f 'Faraday' ${faraday} \ o 'Balance of Satoshis' ${bos} \ i 'LNbits' ${LNBits} \ d 'StaticChannelBackup on DropBox' ${DropboxBackup} \ j 'JoinMarket' ${joinmarket} \ 2>&1 >/dev/tty) else CHOICES=$(dialog --title ' Additional Services ' --checklist ' use spacebar to activate/de-activate ' 20 45 12 \ 1 'Channel Autopilot' ${autoPilot} \ k 'Accept Keysend' ${keysend} \ l 'Lightning Loop' ${loop} \ 2 'Testnet' ${chainValue} \ 3 ${dynDomainMenu} ${domainValue} \ 4 'Run behind TOR' ${runBehindTor} \ 5 'RTL Webinterface' ${rtlWebinterface} \ b 'BTC-RPC-Explorer' ${BTCRPCexplorer} \ s 'Cryptoadvance Specter' ${specter} \ 6 'LND Auto-Unlock' ${autoUnlock} \ 7 'BTC UPnP (AutoNAT)' ${networkUPnP} \ 8 'LND UPnP (AutoNAT)' ${autoNatDiscovery} \ 9 'Touchscreen' ${touchscreenMenu} \ r 'LCD Rotate' ${lcdrotateMenu} \ e 'Electrum Rust Server' ${ElectRS} \ p 'BTCPayServer' ${BTCPayServer} \ m 'lndmanage' ${lndmanage} \ f 'Faraday' ${faraday} \ o 'Balance of Satoshis' ${bos} \ i 'LNbits' ${LNBits} \ d 'StaticChannelBackup on DropBox' ${DropboxBackup} \ j 'JoinMarket' ${joinmarket} \ 2>&1 >/dev/tty) fi dialogcancel=$? echo "done dialog" clear # check if user canceled dialog echo "dialogcancel(${dialogcancel})" if [ ${dialogcancel} -eq 1 ]; then echo "user canceled" exit 1 elif [ ${dialogcancel} -eq 255 ]; then echo "ESC pressed" exit 1 fi needsReboot=0 anychange=0 # TESTNET process choice - KEEP FIRST IN ORDER 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 elif [ "${BTCRPCexplorer}" = "on" ]; then dialog --title 'NOTICE' --msgbox 'Please turn off BTC-RPC-Explorer FIRST\nbefore changing testnet.' 6 45 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 else echo "Testnet Setting changed .." anychange=1 sudo /home/admin/config.scripts/network.chain.sh ${choice}net 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 echo "Need to creating a new wallet ... wait 20secs" sudo systemctl start lnd 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 "****************************************************************************" 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 sleep 2 # 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 echo "Check for Macaroon .. (10sec)" sleep 10 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" lncli unlock 2>/dev/null 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 echo "stopping lnd again" sleep 5 sudo systemctl stop lnd fi echo "Update Admin Macaroon" 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/ needsReboot=1 fi else echo "Testnet Setting unchanged." fi # 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 needsReboot=1 # always reboot so that RTL gets restarted to show/hide support loop /home/admin/config.scripts/bonus.loop.sh ${choice} errorOnInstall=$? if [ "${choice}" = "on" ]; then if [ ${errorOnInstall} -eq 0 ]; then sudo systemctl start loopd /home/admin/config.scripts/bonus.loop.sh menu 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 # Dynamic Domain choice="off"; check=$(echo "${CHOICES}" | grep -c "3") if [ ${check} -eq 1 ]; then choice="on"; fi if [ "${domainValue}" != "${choice}" ]; then echo "Dynamic Domain changed .." anychange=1 sudo /home/admin/config.scripts/internet.dyndomain.sh ${choice} needsReboot=1 else echo "Dynamic Domain unchanged." fi # 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 # TOR process choice choice="off"; check=$(echo "${CHOICES}" | grep -c "4") if [ ${check} -eq 1 ]; then choice="on"; fi if [ "${runBehindTor}" != "${choice}" ]; then echo "TOR Setting changed .." # special actions if TOR is turned on if [ "${choice}" = "on" ]; then # inform user about privacy risk whiptail --title " PRIVACY NOTICE " --msgbox " 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 # make sure AutoNAT & UPnP is off /home/admin/config.scripts/lnd.autonat.sh off /home/admin/config.scripts/network.upnp.sh off fi # change TOR anychange=1 sudo /home/admin/config.scripts/internet.tor.sh ${choice} needsReboot=1 else echo "TOR Setting unchanged." fi # RTL process choice choice="off"; check=$(echo "${CHOICES}" | grep -c "5") if [ ${check} -eq 1 ]; then choice="on"; fi if [ "${rtlWebinterface}" != "${choice}" ]; then echo "RTL Webinterface Setting changed .." anychange=1 /home/admin/config.scripts/bonus.rtl.sh ${choice} errorOnInstall=$? if [ "${choice}" = "on" ]; then if [ ${errorOnInstall} -eq 0 ]; then sudo systemctl start RTL echo "waiting 10 secs .." sleep 10 /home/admin/config.scripts/bonus.rtl.sh menu 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 fi fi else echo "RTL Webinterface Setting unchanged." 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 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 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 # 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 # LND Auto-Unlock choice="off"; check=$(echo "${CHOICES}" | grep -c "6") if [ ${check} -eq 1 ]; then choice="on"; fi if [ "${autoUnlock}" != "${choice}" ]; then echo "LND Autounlock Setting changed .." anychange=1 sudo /home/admin/config.scripts/lnd.autounlock.sh ${choice} l1="AUTO-UNLOCK IS NOW OFF" if [ "${choice}" = "on" ]; then 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 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} 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 # lcd rotate choice="0"; check=$(echo "${CHOICES}" | grep -c "r") if [ ${check} -eq 1 ]; then choice="1"; fi if [ "${lcdrotate}" != "${choice}" ]; then echo "LCD Rotate Setting changed .." anychange=1 sudo /home/admin/config.scripts/blitz.lcdrotate.sh ${choice} needsReboot=1 else echo "LCD Rotate Setting unchanged." 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 extraparameter="" if [ "${choice}" = "on" ]; then # check on HDD size source <(sudo /home/admin/config.scripts/blitz.datadrive.sh status) if [ ${hddGigaBytes} -lt 800 ]; then whiptail --title " HDD/SSD TOO SMALL " --msgbox "\ Since v1.5 we recommend at least a 1TB HDD/SSD if you want to run ElectRS.\n This is due to the eletcrum index that will grow over time and needs space.\n To migrate to a bigger HDD/SSD check RaspiBlitz README on 'migration'.\n " 14 50 else /home/admin/config.scripts/bonus.electrs.sh on ${extraparameter} errorOnInstall=$? if [ ${errorOnInstall} -eq 0 ]; then sudo systemctl start electrs 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 fi 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 /home/admin/config.scripts/bonus.electrs.sh off ${extraparameter} fi else echo "ElectRS Setting unchanged." fi # 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 .." # check if TOR is installed source /mnt/hdd/raspiblitz.conf if [ "${choice}" = "on" ] && [ "${runBehindTor}" = "off" ]; then whiptail --title " BTCPayServer needs TOR " --msgbox "\ At the moment the BTCPayServer on the RaspiBlitz needs TOR.\n Please activate TOR in SERVICES first.\n Then try activating BTCPayServer again in SERVICES.\n " 13 42 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 " Installed BTCPay Server " --msgbox "\ BTCPay server was installed.\n Use the new 'BTCPay' entry in Main Menu for more info.\n " 10 35 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 fi fi else echo "BTCPayServer setting not changed." fi # 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 sudo -u admin /home/admin/config.scripts/bonus.lndmanage.sh ${choice} source /mnt/hdd/raspiblitz.conf if [ "${lndmanage}" = "on" ]; then sudo -u admin /home/admin/config.scripts/bonus.lndmanage.sh menu fi else echo "lndmanage setting unchanged." fi # FARADAY process choice choice="off"; check=$(echo "${CHOICES}" | grep -c "f") if [ ${check} -eq 1 ]; then choice="on"; fi if [ "${faraday}" != "${choice}" ]; then echo "faraday Setting changed .." anychange=1 sudo -u admin /home/admin/config.scripts/bonus.faraday.sh ${choice} source /mnt/hdd/raspiblitz.conf if [ "${faraday}" = "on" ]; then sudo -u admin /home/admin/config.scripts/bonus.faraday.sh menu fi else echo "faraday setting unchanged." fi # Balance of Satoshis process choice choice="off"; check=$(echo "${CHOICES}" | grep -c "o") if [ ${check} -eq 1 ]; then choice="on"; fi if [ "${bos}" != "${choice}" ]; then echo "Balance of Satoshis Setting changed .." anychange=1 sudo -u admin /home/admin/config.scripts/bonus.bos.sh ${choice} source /mnt/hdd/raspiblitz.conf if [ "${bos}" = "on" ]; then sudo -u admin /home/admin/config.scripts/bonus.faraday.sh menu fi else echo "Balance of Satoshis setting unchanged." fi # LNbits process choice choice="off"; check=$(echo "${CHOICES}" | grep -c "i") 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 sudo systemctl start lnbits sudo -u admin /home/admin/config.scripts/bonus.lnbits.sh menu fi else echo "LNbits setting unchanged." fi # 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 "Dropbox backup setting unchanged." fi # Keysend 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 sudo -u admin /home/admin/config.scripts/lnd.keysend.sh ${choice} dialog --msgbox "Accept Keysend is now ${choice} after Reboot." 5 46 else echo "keysend setting unchanged." fi # JoinMarket process choice choice="off"; check=$(echo "${CHOICES}" | grep -c "j") if [ ${check} -eq 1 ]; then choice="on"; fi if [ "${joinmarket}" != "${choice}" ]; then echo "JoinMarket setting changed .." # check if TOR is installed source /mnt/hdd/raspiblitz.conf if [ "${choice}" = "on" ] && [ "${runBehindTor}" = "off" ]; then whiptail --title " Use Tor with JoinMarket" --msgbox "\ It is highly recommended to use Tor with JoinMarket.\n Please activate TOR in SERVICES first.\n Then try activating JoinMarket again in SERVICES.\n " 13 42 else anychange=1 sudo /home/admin/config.scripts/bonus.joinmarket.sh ${choice} errorOnInstall=$? if [ "${choice}" = "on" ]; then if [ ${errorOnInstall} -eq 0 ]; then sudo /home/admin/config.scripts/bonus.joinmarket.sh menu else whiptail --title 'FAIL' --msgbox "JoinMarket installation is cancelled\nTry again from the menu or install from the terminal with:\nsudo /home/admin/config.scripts/bonus.joinmarket.sh on" 9 65 fi fi fi else echo "JoinMarket not changed." fi if [ ${anychange} -eq 0 ]; then dialog --msgbox "NOTHING CHANGED!\nUse Spacebar to check/uncheck services." 8 58 exit 0 fi if [ ${needsReboot} -eq 1 ]; then sleep 2 dialog --pause "OK. System will reboot to activate changes." 8 58 8 clear echo "rebooting .. (please wait)" # stop bitcoind sudo -u bitcoin ${network}-cli stop sleep 4 sudo /home/admin/XXshutdown.sh reboot fi