2018-12-24 00:56:22 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# SHORTCUT COMMANDS you can call as user 'admin' from terminal
|
|
|
|
|
2020-04-29 14:16:47 +02:00
|
|
|
# command: raspiblitz
|
2019-06-30 19:55:18 +02:00
|
|
|
# calls the the raspiblitz mainmenu (legacy)
|
2020-04-29 14:16:47 +02:00
|
|
|
function raspiblitz() {
|
2019-06-30 19:55:18 +02:00
|
|
|
cd /home/admin
|
|
|
|
./00raspiblitz.sh
|
|
|
|
}
|
|
|
|
|
|
|
|
# command: blitz
|
|
|
|
# calls the the raspiblitz mainmenu (shortcut)
|
|
|
|
function blitz() {
|
2019-01-14 16:16:43 +01:00
|
|
|
cd /home/admin
|
2019-04-16 18:55:25 +01:00
|
|
|
./00raspiblitz.sh
|
2019-06-30 17:47:11 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# command: menu
|
|
|
|
# calls directly the main menu
|
|
|
|
function menu() {
|
|
|
|
cd /home/admin
|
|
|
|
./00mainMenu.sh
|
|
|
|
}
|
|
|
|
|
|
|
|
# command: repair
|
|
|
|
# calls directly the repair menu
|
2019-06-30 19:55:18 +02:00
|
|
|
function repair() {
|
2019-06-30 17:47:11 +02:00
|
|
|
cd /home/admin
|
|
|
|
./98repairMenu.sh
|
2019-12-19 00:23:54 +01:00
|
|
|
}
|
|
|
|
|
2020-02-20 13:24:57 +01:00
|
|
|
# command: check
|
|
|
|
function check() {
|
|
|
|
/home/admin/config.scripts/blitz.configcheck.py
|
|
|
|
}
|
|
|
|
|
2020-04-28 18:28:49 +02:00
|
|
|
# command: debug
|
|
|
|
function debug() {
|
|
|
|
cd /home/admin
|
|
|
|
./XXdebugLogs.sh
|
|
|
|
}
|
|
|
|
|
2020-06-28 14:56:31 +02:00
|
|
|
# command: patch
|
|
|
|
# syncs script with latest set github and branch
|
|
|
|
function patch() {
|
|
|
|
cd /home/admin
|
|
|
|
./XXsyncScripts.sh -run
|
|
|
|
}
|
|
|
|
|
2020-04-28 18:28:49 +02:00
|
|
|
# command: restart
|
|
|
|
function restart() {
|
|
|
|
cd /home/admin
|
|
|
|
./XXshutdown.sh reboot
|
|
|
|
}
|
|
|
|
|
2020-06-04 09:54:36 +01:00
|
|
|
# command: off
|
2020-04-28 18:28:49 +02:00
|
|
|
function off() {
|
|
|
|
cd /home/admin
|
|
|
|
./XXshutdown.sh
|
|
|
|
}
|
|
|
|
|
2020-09-16 13:33:14 +02:00
|
|
|
# command: github
|
|
|
|
# jumpng directly into the options to change branch/repo/pr
|
|
|
|
function github() {
|
|
|
|
cd /home/admin
|
|
|
|
./99updateMenu.sh github
|
|
|
|
}
|
|
|
|
|
2020-01-24 21:46:51 +01:00
|
|
|
# command: hdmi
|
|
|
|
function hdmi() {
|
|
|
|
echo "# SWITCHING VIDEO OUTPUT TO --> HDMI"
|
2020-01-24 21:55:54 +01:00
|
|
|
sudo /home/admin/config.scripts/blitz.lcd.sh hdmi on
|
2020-01-24 21:46:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# command: lcd
|
|
|
|
function lcd() {
|
|
|
|
echo "# SWITCHING VIDEO OUTPUT TO --> LCD"
|
2020-01-24 21:55:54 +01:00
|
|
|
sudo /home/admin/config.scripts/blitz.lcd.sh hdmi off
|
2020-01-24 21:46:51 +01:00
|
|
|
}
|
|
|
|
|
2019-12-19 00:29:53 +01:00
|
|
|
# command: manage
|
|
|
|
function manage() {
|
2019-12-19 00:23:54 +01:00
|
|
|
if [ $(cat /mnt/hdd/raspiblitz.conf 2>/dev/null | grep -c "lndmanage=on") -eq 1 ]; then
|
2019-12-19 00:29:53 +01:00
|
|
|
cd /home/admin/lndmanage
|
2019-12-19 00:23:54 +01:00
|
|
|
source venv/bin/activate
|
2020-01-22 02:52:15 +01:00
|
|
|
echo "NOTICE: Needs at least one active channel to run without error."
|
2019-12-19 00:29:53 +01:00
|
|
|
echo "to exit (venv) enter ---> deactivate"
|
2019-12-19 00:23:54 +01:00
|
|
|
lndmanage
|
|
|
|
else
|
2020-01-23 17:48:11 +01:00
|
|
|
echo "lndmanage not installed - to install run:"
|
2019-12-19 00:23:54 +01:00
|
|
|
echo "sudo /home/admin/config.scripts/bonus.lndmanage.sh on"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2020-04-29 14:16:47 +02:00
|
|
|
# command: torthistx
|
|
|
|
function torthistx() {
|
|
|
|
if [ $(cat /mnt/hdd/raspiblitz.conf 2>/dev/null | grep -c "runBehindTor=on") -eq 1 ]; then
|
|
|
|
echo "Broadcasting transaction through Tor to Blockstreams API and into the network."
|
|
|
|
curl --socks5-hostname localhost:9050 -d $1 -X POST http://explorerzydxu5ecjrkwceayqybizmpjjznk5izmitf2modhcusuqlid.onion/api/tx
|
|
|
|
else
|
|
|
|
echo "Not running behind Tor - to install run:"
|
|
|
|
echo "sudo /home/admin/config.scripts/internet.tor.sh on"
|
|
|
|
fi
|
|
|
|
}
|
2020-06-04 09:54:36 +01:00
|
|
|
|
|
|
|
# command: status
|
2020-06-20 10:01:06 +01:00
|
|
|
# start the status screen in the terminal
|
2020-06-04 09:54:36 +01:00
|
|
|
function status() {
|
2020-08-08 22:22:31 +02:00
|
|
|
echo "Gathering data - please wait a moment..."
|
|
|
|
sudo -u pi /home/admin/00infoLCD.sh --pause 0
|
2020-06-20 10:01:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# command: balance
|
|
|
|
# switch to the bos user for Balance of Satoshis
|
|
|
|
function balance() {
|
|
|
|
if [ $(cat /mnt/hdd/raspiblitz.conf 2>/dev/null | grep -c "bos=on") -eq 1 ]; then
|
|
|
|
sudo su - bos
|
|
|
|
else
|
|
|
|
echo "Balance of Satoshis is not installed - to install run:"
|
|
|
|
echo "/home/admin/config.scripts/bonus.bos.sh on"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# command: jmarket
|
|
|
|
# switch to the joinmarket user for the JoininBox menu
|
|
|
|
function jmarket() {
|
|
|
|
if [ $(cat /mnt/hdd/raspiblitz.conf 2>/dev/null | grep -c "joinmarket=on") -eq 1 ]; then
|
|
|
|
sudo su - joinmarket
|
|
|
|
else
|
|
|
|
echo "JoinMarket is not installed - to install run:"
|
|
|
|
echo "sudo /home/admin/config.scripts/bonus.joinmarket.sh on"
|
|
|
|
fi
|
|
|
|
}
|
2020-08-08 22:29:57 +02:00
|
|
|
|
|
|
|
# command: gettx
|
|
|
|
# retrieve transaction from mempool or blockchain and print as JSON
|
|
|
|
# $ gettx "f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16"
|
|
|
|
function gettx() {
|
|
|
|
tx_id="${1:-f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16}"
|
|
|
|
if result=$(bitcoin-cli getrawtransaction "${tx_id}" 1 2>/dev/null); then
|
|
|
|
echo "${result}"
|
|
|
|
else
|
|
|
|
echo "{\"error\": \"unable to find TX\", \"tx_id\": \"${tx_id}\"}"
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# command: watchtx
|
|
|
|
# try to retrieve transaction from mempool or blockchain until certain confirmation target
|
|
|
|
# is reached and then exit cleanly. Default is to wait for 2 confs and to sleep for 60 secs.
|
|
|
|
# $ watchtx "f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16" 6 30
|
|
|
|
function watchtx() {
|
|
|
|
tx_id="${1}"
|
|
|
|
wait_n_confirmations="${2:-2}"
|
|
|
|
sleep_time="${3:-60}"
|
|
|
|
|
|
|
|
echo "Waiting for ${wait_n_confirmations} confirmations"
|
|
|
|
|
|
|
|
while true; do
|
|
|
|
|
|
|
|
if result=$(bitcoin-cli getrawtransaction "${tx_id}" 1 2>/dev/null); then
|
|
|
|
confirmations=$(echo "${result}" | jq .confirmations)
|
|
|
|
|
|
|
|
if [[ "${confirmations}" -ge "${wait_n_confirmations}" ]]; then
|
|
|
|
printf "confirmations: ${confirmations} - target reached!\n"
|
|
|
|
return 0
|
|
|
|
else
|
|
|
|
printf "confirmations: ${confirmations} - "
|
|
|
|
fi
|
|
|
|
|
|
|
|
else
|
|
|
|
printf "unable to find TX - "
|
|
|
|
fi
|
|
|
|
|
|
|
|
printf "sleeping for ${sleep_time} seconds...\n"
|
|
|
|
sleep ${sleep_time}
|
|
|
|
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
# command: notifyme
|
|
|
|
# A wrapper for blitz.notify.sh that will send a notification using the configured
|
|
|
|
# method and settings.
|
|
|
|
# This makes sense when waiting for commands to finish and then sending a notification.
|
|
|
|
# $ notifyme "Hello there..!"
|
|
|
|
# $ ./run_job_which_takes_long.sh && notifyme "I'm done."
|
|
|
|
# $ ./run_job_which_takes_long.sh && notifyme "success" || notifyme "fail"
|
|
|
|
function notifyme() {
|
|
|
|
content="${1:-Notified}"
|
|
|
|
/home/admin/config.scripts/blitz.notify.sh send "${content}"
|
|
|
|
}
|