This commit is contained in:
rootzoll
2021-12-19 22:44:48 +01:00
6 changed files with 112 additions and 70 deletions

View File

@@ -34,38 +34,43 @@ Channel Data and download that file to your laptop.
Do you want to download Lightning Data Backup now? Do you want to download Lightning Data Backup now?
" 12 58 " 12 58
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
clear if [ "${lightning}" == "lnd" ] || [ "${lnd}" = "on" ]; then
echo "*************************************" clear
echo "* PREPARING LIGHTNING BACKUP DOWNLOAD" echo "***********************************"
echo "*************************************" echo "* PREPARING THE LND BACKUP DOWNLOAD"
echo "please wait .." echo "***********************************"
sleep 2 echo "please wait .."
if [ "${lightning}" == "lnd" ]; then
/home/admin/config.scripts/lnd.compact.sh interactive /home/admin/config.scripts/lnd.compact.sh interactive
/home/admin/config.scripts/lnd.backup.sh lnd-export-gui /home/admin/config.scripts/lnd.backup.sh lnd-export-gui
elif [ "${lightning}" == "cl" ]; then echo
/home/admin/config.scripts/cl.backup.sh cl-export-gui echo "PRESS ENTER to continue once you're done downloading."
else read key
echo "TODO: Implement Data Backup for '${lightning}'" fi
if [ "${lightning}" == "cl" ] || [ "${cl}" = "on" ]; then
clear
echo "*******************************************"
echo "* PREPARING THE C-LIGHTNING BACKUP DOWNLOAD"
echo "*******************************************"
echo "please wait .."
/home/admin/config.scripts/cl.backup.sh cl-export-gui
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
fi fi
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
else else
clear clear
echo "*************************************" echo "*****************************************"
echo "* JUST MAKING BACKUP TO OLD SD CARD" echo "* JUST MAKING A BACKUP TO THE OLD SD CARD"
echo "*************************************" echo "*****************************************"
echo "please wait .." echo "please wait .."
sleep 2 sleep 2
if [ "${lightning}" == "lnd" ]; then if [ "${lightning}" == "lnd" ] || [ "${lnd}" = "on" ]; then
/home/admin/config.scripts/lnd.backup.sh lnd-export /home/admin/config.scripts/lnd.backup.sh lnd-export
elif [ "${lightning}" == "cl" ]; then
/home/admin/config.scripts/cl.backup.sh cl-export
else
echo "TODO: Implement Data Backup for '${lightning}'"
sleep 3
fi fi
if [ "${lightning}" == "cl" ] || [ "${cl}" = "on" ]; then
/home/admin/config.scripts/cl.backup.sh cl-export
fi
sleep 3
fi fi
fi fi

View File

@@ -71,7 +71,7 @@ chown -R admin:admin /home/admin/.${network} >>${logFile} 2>&1
/home/admin/config.scripts/blitz.datadrive.sh link >> ${logFile} /home/admin/config.scripts/blitz.datadrive.sh link >> ${logFile}
# test bitcoin config # test bitcoin config
confExists=$(sudo ls /mnt/hdd/${network}/${network}.conf | grep -c "${network}.conf") confExists=$(ls /mnt/hdd/${network}/${network}.conf | grep -c "${network}.conf")
echo "File Exists: /mnt/hdd/${network}/${network}.conf --> ${confExists}" >> ${logFile} echo "File Exists: /mnt/hdd/${network}/${network}.conf --> ${confExists}" >> ${logFile}
# set password B as RPC password (from setup file) # set password B as RPC password (from setup file)
@@ -142,9 +142,9 @@ if [ "${lightning}" != "lnd" ]; then
# Remove LND from systemd # Remove LND from systemd
echo "Remove LND" >> ${logFile} echo "Remove LND" >> ${logFile}
/home/admin/_cache.sh set message "Deactivate Lightning" /home/admin/_cache.sh set message "Deactivate Lightning"
sudo systemctl disable lnd systemctl disable lnd
sudo rm /etc/systemd/system/lnd.service 2>/dev/null rm /etc/systemd/system/lnd.service 2>/dev/null
sudo systemctl daemon-reload systemctl daemon-reload
fi fi
if [ "${lightning}" == "lnd" ]; then if [ "${lightning}" == "lnd" ]; then
@@ -163,7 +163,7 @@ if [ "${lightning}" == "lnd" ]; then
# if user uploaded an LND rescue file (raspiblitz.setup) # if user uploaded an LND rescue file (raspiblitz.setup)
if [ "${lndrescue}" != "" ]; then if [ "${lndrescue}" != "" ]; then
echo "Restore LND data from uploaded rescue file ${lndrescue} ..." >> ${logFile} echo "Restore LND data from uploaded rescue file ${lndrescue} ..." >> ${logFile}
source <(sudo /home/admin/config.scripts/lnd.backup.sh lnd-import ${lndrescue}) source <(/home/admin/config.scripts/lnd.backup.sh lnd-import ${lndrescue})
if [ "${error}" != "" ]; then if [ "${error}" != "" ]; then
/home/admin/config.scripts/blitz.error.sh _provision.setup.sh "lndrescue-import" "setup: lnd import backup failed" "${error}" ${logFile} /home/admin/config.scripts/blitz.error.sh _provision.setup.sh "lndrescue-import" "setup: lnd import backup failed" "${error}" ${logFile}
exit 6 exit 6
@@ -172,17 +172,17 @@ if [ "${lightning}" == "lnd" ]; then
# preparing new LND config (raspiblitz.setup) # preparing new LND config (raspiblitz.setup)
echo "Creating new LND config ..." >> ${logFile} echo "Creating new LND config ..." >> ${logFile}
sudo -u bitcoin mkdir /mnt/hdd/lnd 2> /dev/null sudo -u bitcoin mkdir /mnt/hdd/lnd 2> /dev/null
sudo cp /home/admin/assets/lnd.bitcoin.conf /mnt/hdd/lnd/lnd.conf cp /home/admin/assets/lnd.bitcoin.conf /mnt/hdd/lnd/lnd.conf
sudo chown bitcoin:bitcoin /mnt/hdd/lnd/lnd.conf chown bitcoin:bitcoin /mnt/hdd/lnd/lnd.conf
sudo /home/admin/config.scripts/lnd.install.sh on mainnet /home/admin/config.scripts/lnd.install.sh on mainnet
sudo /home/admin/config.scripts/lnd.setname.sh mainnet ${hostname} /home/admin/config.scripts/lnd.setname.sh mainnet ${hostname}
fi fi
# make sure all directories are linked # make sure all directories are linked
sudo /home/admin/config.scripts/blitz.datadrive.sh link /home/admin/config.scripts/blitz.datadrive.sh link
# check if now a config exists # check if now a config exists
configLinkedCorrectly=$(sudo ls sudo ls /home/bitcoin/.lnd/lnd.conf | grep -c "lnd.conf") configLinkedCorrectly=$(ls /home/bitcoin/.lnd/lnd.conf | grep -c "lnd.conf")
if [ "${configLinkedCorrectly}" != "1" ]; then if [ "${configLinkedCorrectly}" != "1" ]; then
/home/admin/config.scripts/blitz.error.sh _provision.setup.sh "lnd-link-broken" "link /home/bitcoin/.lnd/lnd.conf broken" "" ${logFile} /home/admin/config.scripts/blitz.error.sh _provision.setup.sh "lnd-link-broken" "link /home/bitcoin/.lnd/lnd.conf broken" "" ${logFile}
exit 7 exit 7
@@ -193,16 +193,16 @@ if [ "${lightning}" == "lnd" ]; then
/home/admin/_cache.sh set message "LND Testrun" /home/admin/_cache.sh set message "LND Testrun"
# just in case # just in case
sudo systemctl stop lnd 2>/dev/null systemctl stop lnd 2>/dev/null
sudo systemctl disable lnd 2>/dev/null systemctl disable lnd 2>/dev/null
# copy lnd service # copy lnd service
sudo cp /home/admin/assets/lnd.service /etc/systemd/system/lnd.service >> ${logFile} cp /home/admin/assets/lnd.service /etc/systemd/system/lnd.service >> ${logFile}
# start lnd up # start lnd up
echo "Starting LND Service ..." >> ${logFile} echo "Starting LND Service ..." >> ${logFile}
sudo systemctl enable lnd >> ${logFile} systemctl enable lnd >> ${logFile}
sudo systemctl start lnd >> ${logFile} systemctl start lnd >> ${logFile}
echo "Starting LND Service ... executed" >> ${logFile} echo "Starting LND Service ... executed" >> ${logFile}
# check that lnd started # check that lnd started
@@ -302,7 +302,7 @@ if [ "${lightning}" == "lnd" ]; then
fi fi
# now sync macaroons & TLS zo other users # now sync macaroons & TLS zo other users
sudo /home/admin/config.scripts/lnd.credentials.sh sync >> ${logFile} /home/admin/config.scripts/lnd.credentials.sh sync >> ${logFile}
# make a final lnd check # make a final lnd check
source <(/home/admin/config.scripts/lnd.check.sh basic-setup) source <(/home/admin/config.scripts/lnd.check.sh basic-setup)
@@ -324,7 +324,7 @@ if [ "${lightning}" == "cl" ]; then
echo "############## c-lightning" >> ${logFile} echo "############## c-lightning" >> ${logFile}
/home/admin/_cache.sh set message "C-Lightning Install" /home/admin/_cache.sh set message "C-Lightning Install"
sudo /home/admin/config.scripts/cl.install.sh on mainnet >> ${logFile} /home/admin/config.scripts/cl.install.sh on mainnet >> ${logFile}
/home/admin/_cache.sh set message "C-Lightning Setup" /home/admin/_cache.sh set message "C-Lightning Setup"
# OLD WALLET FROM CLIGHTNING RESCUE # OLD WALLET FROM CLIGHTNING RESCUE
@@ -337,6 +337,41 @@ if [ "${lightning}" == "cl" ]; then
exit 16 exit 16
fi fi
# detect if the imported hsm_secret is encrypted and set in raspiblitz.conf
# use the variables for the default network
source <(/home/admin/config.scripts/network.aliases.sh getvars cl mainnet)
hsmSecretPath="/home/bitcoin/.lightning/bitcoin/hsm_secret"
# check if encrypted
trap 'rm -f "$output"' EXIT
output=$(mktemp -p /dev/shm/)
echo "test" | sudo -u bitcoin lightning-hsmtool decrypt "$hsmSecretPath" \
2> "$output"
if [ "$(grep -c "hsm_secret is not encrypted" < "$output")" -gt 0 ];then
echo "# The hsm_secret is not encrypted"
echo "# Record in raspiblitz.conf"
/home/admin/config.scripts/blitz.conf.sh set ${netprefix}clEncryptedHSM "off"
else
cat $output
echo "# The hsm_secret is encrypted"
echo "# Record in raspiblitz.conf"
/home/admin/config.scripts/blitz.conf.sh set ${netprefix}clEncryptedHSM "off"
fi
# set the lightningd service file on each active network
# init backup plugin, restart cl
if [ "${cl}" == "on" ] || [ "${cl}" == "1" ]; then
/home/admin/config.scripts/cl.install-service.sh mainnet
/home/admin/config.scripts/cl-plugin.backup.sh on mainnet
fi
if [ "${tcl}" == "on" ] || [ "${tcl}" == "1" ]; then
/home/admin/config.scripts/cl.install-service.sh testnet
/home/admin/config.scripts/cl-plugin.backup.sh on testnet
fi
if [ "${scl}" == "on" ] || [ "${scl}" == "1" ]; then
/home/admin/config.scripts/cl.install-service.sh signet
/home/admin/config.scripts/cl-plugin.backup.sh on signet
fi
# OLD WALLET FROM SEEDWORDS # OLD WALLET FROM SEEDWORDS
elif [ "${seedWords}" != "" ]; then elif [ "${seedWords}" != "" ]; then
@@ -355,8 +390,16 @@ if [ "${lightning}" == "cl" ]; then
echo "Generate new CL wallet ..." >> ${logFile} echo "Generate new CL wallet ..." >> ${logFile}
# generate new wallet # a new wallet is generated in /home/admin/config.scripts/cl.install.sh on mainnet
source <(/home/admin/config.scripts/cl.hsmtool.sh new-force mainnet) walletExistsNow=$(ls /home/bitcoin/.lightning/bitcoin/hsm_secret 2>/dev/null | grep -c "hsm_secret")
seedwordsFileExitNow=$(ls /home/bitcoin/.lightning/bitcoin/seedwords.info 2>/dev/null | grep -c "seedwords.info")
if [ "${walletExistsNow}" -gt 0 ] && [ "${seedwordsFileExitNow}" -gt 0 ]; then
# get existing ${seedwords} and "${seedwords6x4}"
source /home/bitcoin/.lightning/bitcoin/seedwords.info
else
# generate new wallet
source <(/home/admin/config.scripts/cl.hsmtool.sh new-force mainnet)
fi
# check if got new seedwords # check if got new seedwords
if [ "${seedwords}" == "" ] || [ "${seedwords6x4}" == "" ]; then if [ "${seedwords}" == "" ] || [ "${seedwords6x4}" == "" ]; then
@@ -365,9 +408,9 @@ if [ "${lightning}" == "cl" ]; then
fi fi
# check if wallet really got created # check if wallet really got created
walletExistsNow=$(sudo ls /home/bitcoin/.lightning/bitcoin/hsm_secret 2>/dev/null | grep -c "hsm_secret") walletExistsNow=$(ls /home/bitcoin/.lightning/bitcoin/hsm_secret 2>/dev/null | grep -c "hsm_secret")
if [ $walletExistsNow -eq 0 ]; then if [ $walletExistsNow -eq 0 ]; then
/home/admin/config.scripts/blitz.error.sh _provision.setup.sh "cl-wallet-new-nowallet" "cl.hsmtool.sh new-force did not created wallet" "/home/bitcoin/.lightning/bitcoin/hsm_secret --> missing" ${logFile} /home/admin/config.scripts/blitz.error.sh _provision.setup.sh "cl-wallet-new-nowallet" "cl.hsmtool.sh new-force did not create wallet" "/home/bitcoin/.lightning/bitcoin/hsm_secret --> missing" ${logFile}
exit 19 exit 19
fi fi

View File

@@ -94,15 +94,15 @@ if [ ${mode} = "cl-export-gui" ]; then
# offer SCP for download # offer SCP for download
clear clear
echo echo
echo "****************************" echo "****************************************"
echo "* DOWNLOAD THE RESCUE FILE *" echo "* DOWNLOAD THE C-LIGHTNING RESCUE FILE *"
echo "****************************" echo "****************************************"
echo echo
echo "ON YOUR MAC & LINUX LAPTOP - RUN IN NEW TERMINAL:" echo "ON YOUR MAC & LINUX LAPTOP - RUN IN NEW TERMINAL:"
echo "scp '${fileowner}@${localip}:${filename}' ./" echo "scp '${fileowner}@${localip}:${filename}' ./"
echo "ON WINDOWS USE:" echo "ON WINDOWS USE:"
echo "scp ${fileowner}@${localip}:${filename} ." echo "scp ${fileowner}@${localip}:${filename} ."
echo "" echo
echo "Use password A to authenticate file transfer." echo "Use password A to authenticate file transfer."
echo "Check for correct file size after transfer: ${size} byte" echo "Check for correct file size after transfer: ${size} byte"
echo echo
@@ -191,19 +191,19 @@ if [ ${mode} = "cl-import-gui" ]; then
while [ "${filename}" == "" ] while [ "${filename}" == "" ]
do do
clear clear
echo "**************************" echo "**************************************"
echo "* UPLOAD THE RESCUE FILE *" echo "* UPLOAD THE C-LIGHTNING RESCUE FILE *"
echo "**************************" echo "**************************************"
echo "If you have a cl-rescue backup file on your laptop you can now" echo "If you have a cl-rescue backup file on your laptop you can now"
echo "upload it and restore your latest C-Lightning state." echo "upload it and restore your latest C-Lightning state."
echo echo
echo "CAUTION: Dont restore outdated states - risk of loosing funds!" echo "CAUTION: Don't restore outdated states - risk of loosing funds!"
echo echo
echo "To make upload open a new terminal on your laptop," echo "To make upload open a new terminal on your laptop,"
echo "change into the directory where your cl-rescue file is and" echo "change into the directory where your cl-rescue file is and"
echo "COPY, PASTE AND EXECUTE THE FOLLOWING COMMAND:" echo "COPY, PASTE AND EXECUTE THE FOLLOWING COMMAND:"
echo "scp -r ./cl-rescue-*.tar.gz ${defaultUploadUser}@${localip}:${defaultUploadPath}/" echo "scp -r ./cl-rescue-*.tar.gz ${defaultUploadUser}@${localip}:${defaultUploadPath}/"
echo "" echo
echo "Use ${passwordInfo} to authenticate file transfer." echo "Use ${passwordInfo} to authenticate file transfer."
echo "PRESS ENTER when upload is done" echo "PRESS ENTER when upload is done"
read key read key

View File

@@ -93,16 +93,16 @@ if [ ${mode} = "lnd-export-gui" ]; then
# offer SCP for download # offer SCP for download
clear clear
echo echo
echo "****************************" echo "********************************"
echo "* DOWNLOAD THE RESCUE FILE *" echo "* DOWNLOAD THE LND RESCUE FILE *"
echo "****************************" echo "********************************"
echo echo
echo "ON YOUR MAC & LINUX LAPTOP - RUN IN NEW TERMINAL:" echo "ON YOUR MAC & LINUX LAPTOP - RUN IN NEW TERMINAL:"
echo "scp '${fileowner}@${localip}:${filename}' ./" echo "scp '${fileowner}@${localip}:${filename}' ./"
echo "ON WINDOWS USE:" echo "ON WINDOWS USE:"
echo "scp ${fileowner}@${localip}:${filename} ." echo "scp ${fileowner}@${localip}:${filename} ."
echo "Use password A to authenticate file transfer." echo "Use password A to authenticate file transfer."
echo "" echo
echo "Check for correct file size after transfer: ${size} byte" echo "Check for correct file size after transfer: ${size} byte"
echo "Use command: stat lnd-rescue-*.tar.gz" echo "Use command: stat lnd-rescue-*.tar.gz"
echo echo
@@ -188,9 +188,9 @@ if [ ${mode} = "lnd-import-gui" ]; then
while [ "${filename}" == "" ] while [ "${filename}" == "" ]
do do
clear clear
echo "**************************" echo "******************************"
echo "* UPLOAD THE RESCUE FILE *" echo "* UPLOAD THE LND RESCUE FILE *"
echo "**************************" echo "******************************"
echo "If you have a lnd-rescue backup file on your laptop you can now" echo "If you have a lnd-rescue backup file on your laptop you can now"
echo "upload it and restore your latest LND state." echo "upload it and restore your latest LND state."
echo echo
@@ -200,7 +200,7 @@ if [ ${mode} = "lnd-import-gui" ]; then
echo "change into the directory where your lnd-rescue file is and" echo "change into the directory where your lnd-rescue file is and"
echo "COPY, PASTE AND EXECUTE THE FOLLOWING COMMAND:" echo "COPY, PASTE AND EXECUTE THE FOLLOWING COMMAND:"
echo "scp -r ./lnd-rescue-*.tar.gz ${defaultUploadUser}@${localip}:${defaultUploadPath}/" echo "scp -r ./lnd-rescue-*.tar.gz ${defaultUploadUser}@${localip}:${defaultUploadPath}/"
echo "" echo
echo "Use ${passwordInfo} to authenticate file transfer." echo "Use ${passwordInfo} to authenticate file transfer."
echo "PRESS ENTER when upload is done" echo "PRESS ENTER when upload is done"
read key read key

View File

@@ -45,9 +45,6 @@ echo
echo "# Stop LND" echo "# Stop LND"
sudo systemctl stop lnd sudo systemctl stop lnd
trap "exit" INT TERM ERR
trap "kill 0" EXIT
echo "# Run LND with --db.bolt.auto-compact" echo "# Run LND with --db.bolt.auto-compact"
sudo -u bitcoin /usr/local/bin/lnd --configfile=/home/bitcoin/.lnd/lnd.conf --db.bolt.auto-compact > /home/admin/lnd.db.bolt.auto-compact.log & sudo -u bitcoin /usr/local/bin/lnd --configfile=/home/bitcoin/.lnd/lnd.conf --db.bolt.auto-compact > /home/admin/lnd.db.bolt.auto-compact.log &
@@ -62,9 +59,6 @@ while [ $(sudo -u bitcoin lncli state 2>&1 | grep -c "connection refused") -gt 0
sleep 10 sleep 10
done done
echo "# LND state:"
sudo -u bitcoin lncli state
counter=0 counter=0
while [ $(sudo -u bitcoin lncli state | grep -c "WAITING_TO_START") -gt 0 ]; do while [ $(sudo -u bitcoin lncli state | grep -c "WAITING_TO_START") -gt 0 ]; do
echo echo
@@ -78,7 +72,7 @@ done
echo "# LND state:" echo "# LND state:"
sudo -u bitcoin lncli state sudo -u bitcoin lncli state
sudo killall lnd >> /home/admin/lnd.db.bolt.auto-compact.log 2>&1 sudo -u bitcoin pkill lnd 2>/dev/null
echo echo
echo "# Finished compacting." echo "# Finished compacting."

View File

@@ -110,7 +110,7 @@ if [ ${uploadRESCUE} -eq 1 ]; then
exit 3 exit 3
fi fi
# clear setup state from all fomer possible choices (previous loop) # clear setup state from all former possible choices (previous loop)
sudo sed -i '/^clrescue=/d' $SETUPFILE sudo sed -i '/^clrescue=/d' $SETUPFILE
# store result in setup state # store result in setup state