raspiblitz/home.admin/97addMobileWalletLNDconnect.sh

130 lines
4 KiB
Bash
Raw Normal View History

2018-08-31 19:22:41 +02:00
#!/bin/bash
2019-04-04 03:25:13 +01:00
# get service port from argument
servicePort="10009"
if [ $# -gt 0 ]; then
2019-04-04 03:32:44 +01:00
if [ "$1" == "RPC" ]; then
echo "running RPC mode"
servicePort="10009"
fi
if [ "$1" == "REST" ]; then
echo "running REST mode"
servicePort="8080"
fi
2019-04-04 03:25:13 +01:00
fi
2018-12-21 01:59:26 +01:00
# load raspiblitz config data
2019-02-02 23:49:04 +01:00
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
2018-08-31 19:22:41 +02:00
2019-01-17 22:40:26 +01:00
# export go vars (if needed)
if [ ${#GOROOT} -eq 0 ]; then
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
fi
if [ ${#GOPATH} -eq 0 ]; then
export GOPATH=/usr/local/gocode
export PATH=$PATH:$GOPATH/bin
fi
2019-01-17 18:26:57 +01:00
2019-01-17 22:58:15 +01:00
# make sure go is installed
2019-03-14 11:39:56 +01:00
goVersion="1.11"
echo "### Check Framework: GO ###"
2019-01-17 22:58:15 +01:00
goInstalled=$(go version 2>/dev/null | grep -c 'go')
if [ ${goInstalled} -eq 0 ];then
2019-03-14 11:39:56 +01:00
echo "---> Installing GO"
wget https://storage.googleapis.com/golang/go${goVersion}.linux-armv6l.tar.gz
sudo tar -C /usr/local -xzf go${goVersion}.linux-armv6l.tar.gz
2019-01-17 18:24:14 +01:00
sudo rm *.gz
sudo mkdir /usr/local/gocode
sudo chmod 777 /usr/local/gocode
2019-01-17 22:58:15 +01:00
goInstalled=$(go version 2>/dev/null | grep -c 'go')
2019-01-17 18:24:14 +01:00
fi
2019-01-17 22:58:15 +01:00
if [ ${goInstalled} -eq 0 ];then
2019-01-31 21:10:01 +01:00
echo "FAIL: Was not able to install GO (needed to run LndConnect)"
2019-03-14 11:39:56 +01:00
sleep 4
2019-01-17 18:24:14 +01:00
exit 1
fi
2019-04-04 03:43:54 +01:00
2019-03-14 11:39:56 +01:00
correctGoVersion=$(go version | grep -c "go${goVersion}")
if [ ${correctGoVersion} -eq 0 ]; then
echo "WARNING: You work with a untested version of GO - should be ${goVersion} .. trying to continue"
go version
sleep 6
echo ""
fi
2019-01-17 18:24:14 +01:00
2018-08-31 19:22:41 +02:00
# make sure qrcode-encoder in installed
echo "*** Setup ***"
echo ""
echo "Installing lndconnect. Please wait..."
2018-08-31 19:22:41 +02:00
echo ""
2019-03-17 18:59:57 +01:00
echo "Getting github.com/LN-Zap/lndconnect (please wait - can take several minutes) ..."
2019-01-31 21:10:01 +01:00
go get -d github.com/LN-Zap/lndconnect
cd $GOPATH/src/github.com/LN-Zap/lndconnect
2018-08-31 19:22:41 +02:00
echo ""
2019-01-31 21:10:01 +01:00
echo "Building github.com/LN-Zap/lndconnect ..."
2018-12-21 03:03:06 +01:00
make
cd
sleep 3
2018-08-31 19:22:41 +02:00
2019-04-04 03:25:13 +01:00
# default host to local IP and port
2019-04-04 01:04:10 +01:00
local=1
host=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/')
2019-04-04 03:25:13 +01:00
port="${servicePort}"
2019-04-04 01:04:10 +01:00
# change host to dynDNS if set
if [ ${#dynDomain} -gt 0 ]; then
local=0
host="${dynDomain}"
2019-04-04 03:25:13 +01:00
echo "port ${servicePort} forwarding from dynDomain ${host}"
2019-04-04 01:04:10 +01:00
fi
2019-04-04 03:25:13 +01:00
# check if local service port is forwarded
2019-04-04 01:04:10 +01:00
if [ ${#sshtunnel} -gt 0 ]; then
2019-04-04 03:25:13 +01:00
isForwarded=$(echo ${sshtunnel} | grep -c "${servicePort}<")
2019-04-04 01:04:10 +01:00
if [ ${isForwarded} -gt 0 ]; then
local=0
host=$(echo $sshtunnel | cut -d '@' -f2 | cut -d ' ' -f1)
2019-04-04 03:43:54 +01:00
if [ "${servicePort}" = "1009" ]; then
2019-04-04 03:32:44 +01:00
port=$(echo $sshtunnel | awk '{split($0,a,"10009<"); print a[2]}' | cut -d ' ' -f1 | sed 's/[^0-9]//g')
2019-04-04 03:43:54 +01:00
elif [ "${servicePort}" = "8080" ]; then
2019-04-04 03:32:44 +01:00
port=$(echo $sshtunnel | awk '{split($0,a,"8080<"); print a[2]}' | cut -d ' ' -f1 | sed 's/[^0-9]//g')
fi
2019-04-04 03:25:13 +01:00
echo "port ${servicePort} forwarding from port ${port} from server ${host}"
2019-04-04 01:04:10 +01:00
else
2019-04-04 03:25:13 +01:00
echo "port ${servicePort} is not part of the ssh forwarding - keep default port ${servicePort}"
2019-04-04 01:04:10 +01:00
fi
fi
2018-08-31 19:22:41 +02:00
echo "******************************"
echo "Connect Zap Mobile Wallet"
echo "******************************"
echo ""
echo "GETTING THE APP"
echo "At the moment this app is in closed beta testing and the source code has not been published yet."
2019-03-14 12:07:38 +01:00
echo "1. Install the app 'TestFlight' from Apple Appstore. Open it and agree to all terms of services."
echo "2. Open on your iOS device https://github.com/LN-Zap/zap-iOS and follow 'Download the Alpha'"
2018-08-31 19:22:41 +02:00
echo ""
2019-03-14 12:07:38 +01:00
echo "*** PAIRING STEP 1 ***"
2019-04-04 01:04:10 +01:00
if [ ${local} -eq 1 ]; then
2018-12-21 02:48:25 +01:00
echo "Once you have the app is running make sure you are on the same local network (WLAN same as LAN)."
fi
echo "During Setup of the Zap app you should get to the 'Connect Remote-Node' screen."
2018-08-31 19:22:41 +02:00
echo ""
2018-12-21 02:48:25 +01:00
echo "---> Click on Scan"
2018-08-31 19:22:41 +02:00
echo "Make the this terminal as big as possible - fullscreen would be best."
echo "Then PRESS ENTER here in the terminal to generare the QR code and scan it with the app."
read key
clear
2019-03-14 12:07:38 +01:00
echo "*** PAIRING STEP 2 : Click on Scan (make whole QR code fill camera) ***"
2018-08-31 19:22:41 +02:00
2019-04-03 12:47:41 +01:00
lndconnect --host=${host} --port=${port}
2019-04-04 01:04:10 +01:00
echo "(To shrink QR code: CTRL- or CMD-) Press ENTER when finished."
2018-08-31 19:22:41 +02:00
read key
clear
echo "If it's not working - check issues on GitHub:"
2019-01-31 21:10:01 +01:00
echo "https://github.com/LN-Zap/lndconnect/issues"
2019-04-04 01:04:10 +01:00
echo ""