2018-12-02 19:52:01 +01:00
#!/bin/bash
# Background:
# https://medium.com/@lopp/how-to-run-bitcoin-as-a-tor-hidden-service-on-ubuntu-cff52d543756
# https://bitcoin.stackexchange.com/questions/70069/how-can-i-setup-bitcoin-to-be-anonymous-with-tor
# https://github.com/lightningnetwork/lnd/blob/master/docs/configuring_tor.md
2021-03-15 23:16:27 +01:00
# INFO
# --------------------
# basic install of Tor is done by the build script now .. on/off will just switch service on/off
# also thats where the sources are set and the preparation is done
2018-12-02 19:52:01 +01:00
# command info
if [ $# -eq 0 ] || [ " $1 " = "-h" ] || [ " $1 " = "-help" ] ; then
2021-03-23 11:17:51 +00:00
echo "script to switch Tor on or off"
2021-03-15 23:16:27 +01:00
echo "internet.tor.sh [status|on|off|btcconf-on|btcconf-off|lndconf-on|update]"
2019-08-08 17:41:58 +02:00
exit 1
fi
2020-09-30 21:41:30 +02:00
torrc = "/etc/tor/torrc"
2019-06-13 00:58:52 +02:00
activateBitcoinOverTOR( )
{
echo " *** Changing ${ network } Config *** "
btcExists = $( sudo ls /home/bitcoin/.${ network } /${ network } .conf | grep -c " ${ network } .conf " )
if [ ${ btcExists } -gt 0 ] ; then
2020-09-30 21:41:30 +02:00
# make sure all is turned off and removed and then activate fresh (so that also old settings get removed)
deactivateBitcoinOverTOR
2021-03-23 11:17:51 +00:00
echo "# Make sure the user bitcoin is in the debian-tor group"
sudo usermod -a -G debian-tor bitcoin
2020-09-30 21:41:30 +02:00
sudo chmod 777 /home/bitcoin/.${ network } /${ network } .conf
2021-03-23 11:17:51 +00:00
echo " Adding Tor config to the the ${ network } .conf ... "
# deprecate 'torpassword='
sudo sed -i "s/^torpassword=.*//g" /home/bitcoin/.${ network } /${ network } .conf
2020-09-30 21:41:30 +02:00
echo "onlynet=onion" >> /home/bitcoin/.${ network } /${ network } .conf
echo "proxy=127.0.0.1:9050" >> /home/bitcoin/.${ network } /${ network } .conf
echo "main.bind=127.0.0.1" >> /home/bitcoin/.${ network } /${ network } .conf
echo "test.bind=127.0.0.1" >> /home/bitcoin/.${ network } /${ network } .conf
echo "dnsseed=0" >> /home/bitcoin/.${ network } /${ network } .conf
echo "dns=0" >> /home/bitcoin/.${ network } /${ network } .conf
if [ " ${ network } " = "bitcoin" ] ; then
# adding some bitcoin onion nodes to connect to to make connection easier
2021-03-22 23:21:23 +01:00
echo "main.addnode=ira7kqcbff52wofoong2dieh2xlvmw4e7ya3znsqn7wivn6armetvrqd.onion" >> /home/bitcoin/.${ network } /${ network } .conf
echo "main.addnode=xlpi353v7ia5b73msynr7tmddgxoco7n2r2bljt5txpv6bpzzphkreyd.onion" >> /home/bitcoin/.${ network } /${ network } .conf
echo "main.addnode=ccjrb6va3j6re4lg2lerlt6wyvlb4tod7qbe7rwiouuapb7etvterxyd.onion" >> /home/bitcoin/.${ network } /${ network } .conf
echo "main.addnode=s7m4mnd6bokujhywsocxibispktruormushdroeaeqeb3imvztfs3vid.onion" >> /home/bitcoin/.${ network } /${ network } .conf
echo "main.addnode=ldvhlpsrvspquqnl3gutz7grfu5lb3m2dgnezpl3tlkxgpoiw2g5mzid.onion" >> /home/bitcoin/.${ network } /${ network } .conf
echo "main.addnode=gliovxxzyy2rkwaoz25khf6oa64c3csqzjn3t6dodsjuf34w6a6ktsyd.onion" >> /home/bitcoin/.${ network } /${ network } .conf
2020-09-30 21:41:30 +02:00
fi
2021-03-23 11:17:51 +00:00
# remove empty lines
sudo sed -i '/^ *$/d' /home/bitcoin/.${ network } /${ network } .conf
2020-09-30 21:41:30 +02:00
sudo chmod 444 /home/bitcoin/.${ network } /${ network } .conf
# copy new bitcoin.conf to admin user for cli access
sudo cp /home/bitcoin/.${ network } /${ network } .conf /home/admin/.${ network } /${ network } .conf
sudo chown admin:admin /home/admin/.${ network } /${ network } .conf
2019-06-13 00:58:52 +02:00
else
2019-08-08 17:41:58 +02:00
echo "BTC config does not found (yet) - try with 'internet.tor.sh btcconf-on' again later"
2019-06-13 00:58:52 +02:00
fi
}
2019-08-08 17:41:58 +02:00
deactivateBitcoinOverTOR( )
{
2020-09-30 21:41:30 +02:00
# always make sure also to remove old settings
2019-08-08 17:41:58 +02:00
sudo sed -i "s/^onlynet=.*//g" /home/bitcoin/.${ network } /${ network } .conf
2020-01-06 22:22:51 +01:00
sudo sed -i "s/^main.addnode=.*//g" /home/bitcoin/.${ network } /${ network } .conf
sudo sed -i "s/^test.addnode=.*//g" /home/bitcoin/.${ network } /${ network } .conf
2019-11-23 17:19:09 +01:00
sudo sed -i "s/^proxy=.*//g" /home/bitcoin/.${ network } /${ network } .conf
2020-01-06 22:22:51 +01:00
sudo sed -i "s/^main.bind=.*//g" /home/bitcoin/.${ network } /${ network } .conf
sudo sed -i "s/^test.bind=.*//g" /home/bitcoin/.${ network } /${ network } .conf
2019-11-23 17:19:09 +01:00
sudo sed -i "s/^dnsseed=.*//g" /home/bitcoin/.${ network } /${ network } .conf
sudo sed -i "s/^dns=.*//g" /home/bitcoin/.${ network } /${ network } .conf
2021-03-23 11:17:51 +00:00
# remove empty lines
2019-08-08 17:41:58 +02:00
sudo sed -i '/^ *$/d' /home/bitcoin/.${ network } /${ network } .conf
sudo cp /home/bitcoin/.${ network } /${ network } .conf /home/admin/.${ network } /${ network } .conf
sudo chown admin:admin /home/admin/.${ network } /${ network } .conf
}
2019-06-13 00:58:52 +02:00
activateLndOverTOR( )
{
2021-03-23 11:17:51 +00:00
echo "*** Putting LND behind Tor ***"
2019-06-13 00:58:52 +02:00
lndExists = $( sudo ls /etc/systemd/system/lnd.service | grep -c "lnd.service" )
if [ ${ lndExists } -gt 0 ] ; then
2021-03-23 11:17:51 +00:00
echo "# Make sure the user bitcoin is in the debian-tor group"
sudo usermod -a -G debian-tor bitcoin
# deprecate 'torpassword='
sudo sed -i '/\[Tor\]*/d' /mnt/hdd/lnd/lnd.conf
sudo sed -i '/^tor.password=*/d' /mnt/hdd/lnd/lnd.conf
2019-06-13 00:58:52 +02:00
# modify LND service
echo "Make sure LND is disabled"
sudo systemctl disable lnd 2>/dev/null
echo "editing /etc/systemd/system/lnd.service"
2020-03-21 23:18:19 -07:00
sudo sed -i "s/^ExecStart=\/usr\/local\/bin\/lnd.*/ExecStart=\/usr\/local\/bin\/lnd --tor\.active --tor\.streamisolation --tor\.v3 --listen=127\.0\.0\.1\:9735 \${lndExtraParameter}/g" /etc/systemd/system/lnd.service
2020-09-28 21:26:04 +02:00
2019-06-13 00:58:52 +02:00
echo "Enable LND again"
sudo systemctl enable lnd
echo "OK"
echo ""
else
2019-08-08 17:41:58 +02:00
echo "LND service not found (yet) - try with 'internet.tor.sh lndconf-on' again later"
2019-06-13 00:58:52 +02:00
fi
}
2019-12-10 14:53:43 +01:00
# check and load raspiblitz config
# to know which network is running
if [ -f "/home/admin/raspiblitz.info" ] ; then
source /home/admin/raspiblitz.info
fi
if [ -f "/mnt/hdd/raspiblitz.conf" ] ; then
source /mnt/hdd/raspiblitz.conf
fi
2020-09-30 21:41:30 +02:00
# if started with status
if [ " $1 " = "status" ] ; then
# is Tor activated
if [ " ${ runBehindTor } " = = "on" ] ; then
echo "activated=1"
else
echo "activated=0"
fi
2021-03-15 23:16:27 +01:00
2020-09-30 21:41:30 +02:00
echo " config=' ${ torrc } ' "
exit 0
fi
2019-11-24 14:39:07 +01:00
# if started with btcconf-on
2019-08-08 17:41:58 +02:00
if [ " $1 " = "btcconf-on" ] ; then
2019-06-13 00:58:52 +02:00
activateBitcoinOverTOR
exit 0
fi
2019-11-24 14:39:07 +01:00
# if started with btcconf-off
2019-08-08 17:41:58 +02:00
if [ " $1 " = "btcconf-off" ] ; then
deactivateBitcoinOverTOR
2019-06-13 00:58:52 +02:00
exit 0
fi
2019-11-24 14:39:07 +01:00
# if started with lndconf-on
2019-08-08 17:41:58 +02:00
if [ " $1 " = "lndconf-on" ] ; then
activateLndOverTOR
exit 0
2018-12-02 19:52:01 +01:00
fi
2018-12-02 21:46:00 +01:00
# add default value to raspi config if needed
2019-08-07 01:49:17 +02:00
checkTorEntry = $( sudo cat /mnt/hdd/raspiblitz.conf | grep -c "runBehindTor" )
if [ ${ checkTorEntry } -eq 0 ] ; then
2018-12-02 21:46:00 +01:00
echo "runBehindTor=off" >> /mnt/hdd/raspiblitz.conf
fi
2018-12-02 19:52:01 +01:00
# location of TOR config
2019-02-05 14:16:23 +00:00
# make sure /etc/tor exists
2019-02-10 16:55:41 +01:00
sudo mkdir /etc/tor 2>/dev/null
2018-12-02 19:52:01 +01:00
2020-11-15 22:16:13 +00:00
if [ " $1 " != "update" ] ; then
# stop services (if running)
echo "making sure services are not running"
sudo systemctl stop lnd 2>/dev/null
sudo systemctl stop ${ network } d 2>/dev/null
sudo systemctl stop tor@default 2>/dev/null
fi
2018-12-02 19:52:01 +01:00
# switch on
2018-12-02 20:43:48 +01:00
if [ " $1 " = "1" ] || [ " $1 " = "on" ] ; then
2021-03-23 11:17:51 +00:00
echo "# switching Tor ON"
2018-12-02 19:52:01 +01:00
2021-03-26 03:17:13 +01:00
# *** CURL TOR PROXY ***
2021-03-26 16:16:41 +01:00
# see https://github.com/rootzoll/raspiblitz/issues/1341
#echo "socks5-hostname localhost:9050" > .curlrc.tmp
#sudo cp ./.curlrc.tmp /root/.curlrc
#sudo chown root:root /home/admin/.curlrc
#sudo cp ./.curlrc.tmp /home/pi/.curlrc
#sudo chown pi:pi /home/pi/.curlrc
#sudo cp ./.curlrc.tmp /home/admin/.curlrc
#sudo chown admin:admin /home/admin/.curlrc
#rm .curlrc.tmp
2021-03-26 03:17:13 +01:00
2020-11-16 16:29:08 +01:00
# make sure the network was set (by sourcing raspiblitz.conf)
if [ ${# network } -eq 0 ] ; then
2021-03-23 11:17:51 +00:00
echo "!! FAIL - unknown network due to missing /mnt/hdd/raspiblitz.conf"
2021-03-15 23:16:27 +01:00
echo "# switching Tor config on for RaspiBlitz services is just possible after basic hdd/ssd setup"
echo "# but with new 'Tor by default' basic Tor socks will already be available from the start"
2020-11-16 16:29:08 +01:00
exit 1
fi
2018-12-02 19:52:01 +01:00
# setting value in raspi blitz config
sudo sed -i "s/^runBehindTor=.*/runBehindTor=on/g" /mnt/hdd/raspiblitz.conf
2021-03-23 11:17:51 +00:00
# check if Tor was already installed and is funtional
2018-12-02 19:52:01 +01:00
echo ""
2021-03-23 11:17:51 +00:00
echo "*** Check if Tor service is functional ***"
2020-01-06 22:22:51 +01:00
torRunning = $( curl --connect-timeout 10 --socks5-hostname 127.0.0.1:9050 https://check.torproject.org 2>/dev/null | grep "Congratulations. This browser is configured to use Tor." -c)
2018-12-02 19:52:01 +01:00
if [ ${ torRunning } -gt 0 ] ; then
clear
2021-03-23 11:17:51 +00:00
echo "You are all good - Tor is already running."
2018-12-02 19:52:01 +01:00
echo ""
exit 0
else
2021-03-23 11:17:51 +00:00
echo "Tor not running ... proceed with switching to Tor."
2018-12-02 19:52:01 +01:00
echo ""
fi
2021-03-15 23:16:27 +01:00
# install package just in case it was deinstalled
2019-02-04 22:32:46 +01:00
packageInstalled = $( dpkg -s tor-arm | grep -c 'Status: install ok' )
if [ ${ packageInstalled } -eq 0 ] ; then
2020-11-23 22:13:55 +01:00
sudo apt install tor tor-arm torsocks -y
2021-03-15 23:16:27 +01:00
fi
2019-02-04 22:32:46 +01:00
2021-03-15 23:16:27 +01:00
# create tor data directory if it not exist
if [ ! -d "/mnt/hdd/tor" ] ; then
echo "# - creating tor data directory"
2020-09-28 21:26:04 +02:00
sudo mkdir -p /mnt/hdd/tor
sudo mkdir -p /mnt/hdd/tor/sys
2021-03-15 23:16:27 +01:00
else
echo "# - tor data directory exists"
fi
# make sure its the correct owner
sudo chmod -R 700 /mnt/hdd/tor
sudo chown -R debian-tor:debian-tor /mnt/hdd/tor
# create tor config .. if not exists or is old
isTorConfigOK = $( sudo cat /etc/tor/torrc 2>/dev/null | grep -c "BITCOIN" )
if [ ${ isTorConfigOK } -eq 0 ] ; then
echo " # - updating Tor config ${ torrc } "
2020-09-28 21:26:04 +02:00
PASSWORD_B = $( sudo cat /mnt/hdd/${ network } /${ network } .conf | grep rpcpassword | cut -c 13-)
HASHED_PASSWORD = $( sudo -u debian-tor tor --hash-password " $PASSWORD_B " )
2019-02-04 22:32:46 +01:00
cat > ./torrc <<EOF
2018-12-02 19:52:01 +01:00
### See 'man tor', or https://www.torproject.org/docs/tor-manual.html
DataDirectory /mnt/hdd/tor/sys
PidFile /mnt/hdd/tor/sys/tor.pid
SafeLogging 0
Log notice stdout
Log notice file /mnt/hdd/tor/notice.log
Log info file /mnt/hdd/tor/info.log
RunAsDaemon 1
ControlPort 9051
SocksPort 9050
2019-01-13 22:03:23 +01:00
ExitRelay 0
2021-03-23 11:17:51 +00:00
CookieAuthentication 1
2021-03-23 11:34:34 +00:00
CookieAuthFileGroupReadable 1
2018-12-02 19:52:01 +01:00
2020-01-23 18:59:53 +01:00
# Hidden Service for WEB ADMIN INTERFACE
2018-12-02 19:52:01 +01:00
HiddenServiceDir /mnt/hdd/tor/web80/
2020-01-27 16:59:26 +01:00
HiddenServiceVersion 3
2018-12-02 19:52:01 +01:00
HiddenServicePort 80 127.0.0.1:80
2021-03-25 16:40:56 +01:00
# Hidden Service for BITCOIN RPC (mainnet, testnet, signet)
2020-01-27 16:59:26 +01:00
HiddenServiceDir /mnt/hdd/tor/bitcoin8332/
HiddenServiceVersion 3
2020-01-25 01:15:38 +01:00
HiddenServicePort 8332 127.0.0.1:8332
2021-03-25 16:40:56 +01:00
HiddenServicePort 18332 127.0.0.1:18332
HiddenServicePort 38332 127.0.0.1:38332
2021-03-23 11:17:51 +00:00
# NOTE: since Bitcoin Core v0.21.0 sets up a v3 Tor service automatically
# see /mnt/hdd/bitcoin for the onion private key - delete and restart bitcoind to reset
# Hidden Service for BITCOIN P2P (v2FallBack for Bisq)
HiddenServiceDir /mnt/hdd/tor/bitcoin8333
HiddenServiceVersion 2
HiddenServicePort 8333 127.0.0.1:8333
2020-01-25 01:15:38 +01:00
2020-01-27 16:59:26 +01:00
# Hidden Service for LND (incoming connections)
HiddenServiceDir /mnt/hdd/tor/lnd9735
HiddenServiceVersion 3
HiddenServicePort 9735 127.0.0.1:9735
2020-01-23 18:59:53 +01:00
# Hidden Service for LND RPC
2018-12-02 19:52:01 +01:00
HiddenServiceDir /mnt/hdd/tor/lndrpc10009/
2020-01-27 16:59:26 +01:00
HiddenServiceVersion 3
HiddenServicePort 10009 127.0.0.1:10009
# Hidden Service for LND RPC (v2Fallback)
HiddenServiceDir /mnt/hdd/tor/lndrpc10009fallback/
HiddenServiceVersion 2
2020-01-25 01:15:38 +01:00
HiddenServicePort 10009 127.0.0.1:10009
2018-12-02 19:52:01 +01:00
2020-01-23 18:59:53 +01:00
# Hidden Service for LND REST
HiddenServiceDir /mnt/hdd/tor/lndrest8080/
2020-01-27 16:59:26 +01:00
HiddenServiceVersion 3
2020-01-23 18:59:53 +01:00
HiddenServicePort 8080 127.0.0.1:8080
2020-01-27 16:59:26 +01:00
# Hidden Service for LND REST (v2Fallback)
HiddenServiceDir /mnt/hdd/tor/lndrest8080fallback/
HiddenServiceVersion 2
HiddenServicePort 8080 127.0.0.1:8080
2018-12-02 19:52:01 +01:00
EOF
2019-02-04 22:32:46 +01:00
sudo rm $torrc
sudo mv ./torrc $torrc
sudo chmod 644 $torrc
2020-09-28 21:26:04 +02:00
sudo chown -R debian-tor:debian-tor /var/run/tor/ 2>/dev/null
2019-02-04 22:32:46 +01:00
echo ""
2018-12-02 19:52:01 +01:00
2020-09-10 14:04:29 +02:00
sudo mkdir -p /etc/systemd/system/tor@default.service.d
2020-09-28 21:26:04 +02:00
sudo tee /etc/systemd/system/tor@default.service.d/raspiblitz.conf >/dev/null <<EOF
2021-03-23 11:17:51 +00:00
# DO NOT EDIT! This file is generated by raspiblitz and will be overwritten
2020-09-28 21:26:04 +02:00
[ Service]
ReadWriteDirectories = -/mnt/hdd/tor
2020-11-25 11:39:19 +01:00
[ Unit]
After = network.target nss-lookup.target mnt-hdd.mount
2020-09-28 21:26:04 +02:00
EOF
2019-02-04 22:32:46 +01:00
2019-06-12 23:40:56 +02:00
else
2021-03-15 23:16:27 +01:00
echo " # - Tor config ${ torrc } is already updated "
2019-06-12 23:40:56 +02:00
fi
2019-02-04 22:32:46 +01:00
2019-06-12 23:40:56 +02:00
# ACTIVATE TOR SERVICE
2021-03-23 11:17:51 +00:00
echo "*** Enable Tor Service ***"
2019-06-12 23:40:56 +02:00
sudo systemctl daemon-reload
sudo systemctl enable tor@default
echo ""
2018-12-02 19:52:01 +01:00
2019-06-13 00:58:52 +02:00
# ACTIVATE BITCOIN OVER TOR (function call)
activateBitcoinOverTOR
2018-12-11 01:00:55 +01:00
2019-06-13 00:58:52 +02:00
# ACTIVATE LND OVER TOR (function call)
activateLndOverTOR
2018-12-02 19:52:01 +01:00
2020-01-26 23:57:27 +01:00
# ACTIVATE APPS OVER TOR
source /mnt/hdd/raspiblitz.conf 2>/dev/null
if [ " ${ BTCRPCexplorer } " = "on" ] ; then
/home/admin/config.scripts/internet.hiddenservice.sh btc-rpc-explorer 80 3002
fi
if [ " ${ rtlWebinterface } " = "on" ] ; then
2020-07-18 15:26:56 +02:00
/home/admin/config.scripts/internet.hiddenservice.sh RTL 80 3002 443 3003
2020-01-26 23:57:27 +01:00
fi
if [ " ${ BTCPayServer } " = "on" ] ; then
2020-07-18 15:26:56 +02:00
/home/admin/config.scripts/internet.hiddenservice.sh btcpay 80 23002 443 23003
2020-01-26 23:57:27 +01:00
fi
if [ " ${ ElectRS } " = "on" ] ; then
/home/admin/config.scripts/internet.hiddenservice.sh electrs 50002 50002 50001 50001
fi
2020-04-23 23:10:30 +02:00
if [ " ${ LNBits } " = "on" ] ; then
2020-07-18 15:26:56 +02:00
/home/admin/config.scripts/internet.hiddenservice.sh lnbits 80 5002 443 5003
fi
if [ " ${ thunderhub } " = "on" ] ; then
/home/admin/config.scripts/internet.hiddenservice.sh thunderhub 80 3012 443 3013
fi
if [ " ${ specter } " = "on" ] ; then
# specter makes only sense to be served over https
/home/admin/config.scripts/internet.hiddenservice.sh cryptoadvance-specter 443 25441
2020-02-10 12:33:03 +01:00
fi
2020-11-17 02:27:15 +01:00
if [ " ${ sphinxrelay } " = "on" ] ; then
/home/admin/config.scripts/internet.hiddenservice.sh sphinxrelay 80 3302 443 3303
toraddress = $( sudo cat /mnt/hdd/tor/sphinxrelay/hostname 2>/dev/null)
sudo -u sphinxrelay bash -c " echo ' ${ toraddress } ' > /home/sphinxrelay/sphinx-relay/dist/toraddress.txt "
fi
# get TOR address and store it readable for sphixrelay user
toraddress = $( sudo cat /mnt/hdd/tor/sphinxrelay/hostname 2>/dev/null)
sudo -u sphinxrelay bash -c " echo ' ${ toraddress } ' > /home/sphinxrelay/sphinx-relay/dist/toraddress.txt "
2020-01-26 23:57:27 +01:00
2020-09-05 22:30:19 +02:00
echo "Setup logrotate"
2020-09-28 21:26:04 +02:00
# add logrotate config for modified Tor dir on ext. disk
sudo tee /etc/logrotate.d/raspiblitz-tor >/dev/null <<EOF
2020-09-05 22:30:19 +02:00
/mnt/hdd/tor/*log {
daily
rotate 5
compress
delaycompress
missingok
notifempty
2020-09-28 21:26:04 +02:00
create 0640 debian-tor debian-tor
2020-09-05 22:30:19 +02:00
sharedscripts
postrotate
if invoke-rc.d tor status > /dev/null; then
invoke-rc.d tor reload > /dev/null
fi
endscript
}
EOF
2020-09-28 21:26:04 +02:00
sudo systemctl restart tor@default
2020-09-05 22:30:19 +02:00
2021-03-23 11:17:51 +00:00
echo "OK - Tor is now ON"
2018-12-02 19:52:01 +01:00
echo "needs reboot to activate new setting"
exit 0
fi
# switch off
2018-12-02 20:43:48 +01:00
if [ " $1 " = "0" ] || [ " $1 " = "off" ] ; then
2021-03-23 11:17:51 +00:00
echo "# switching Tor OFF"
2018-12-02 19:52:01 +01:00
# setting value in raspi blitz config
sudo sed -i "s/^runBehindTor=.*/runBehindTor=off/g" /mnt/hdd/raspiblitz.conf
2021-03-26 03:17:13 +01:00
# *** CURL TOR PROXY ***
2021-03-26 16:16:41 +01:00
# sudo rm /root/.curlrc
# sudo rm /home/pi/.curlrc
# sudo rm /home/admin/.curlrc
2021-03-26 03:17:13 +01:00
2018-12-02 19:52:01 +01:00
# disable TOR service
2021-03-23 11:17:51 +00:00
echo "# *** Disable Tor service ***"
2018-12-02 19:52:01 +01:00
sudo systemctl disable tor@default
echo ""
2019-08-08 17:41:58 +02:00
# DEACTIVATE BITCOIN OVER TOR (function call)
deactivateBitcoinOverTOR
2018-12-02 19:52:01 +01:00
echo ""
2021-03-23 11:17:51 +00:00
echo "# *** Removing Tor from LND ***"
2018-12-02 19:52:01 +01:00
sudo systemctl disable lnd
2021-03-15 23:16:27 +01:00
echo "# editing /etc/systemd/system/lnd.service"
2020-03-21 23:18:19 -07:00
sudo sed -i "s/^ExecStart=\/usr\/local\/bin\/lnd.*/ExecStart=\/usr\/local\/bin\/lnd --externalip=\${publicIP}:\${lndPort} \${lndExtraParameter}/g" /etc/systemd/system/lnd.service
2018-12-11 01:00:55 +01:00
2020-11-30 21:27:51 +01:00
sudo /home/admin/config.scripts/internet.sh update-publicip
2018-12-02 19:52:01 +01:00
sudo systemctl enable lnd
2021-03-15 23:16:27 +01:00
echo "# OK"
2018-12-02 19:52:01 +01:00
echo ""
2021-03-23 11:17:51 +00:00
echo "# *** Stop Tor service ***"
2020-09-28 21:26:04 +02:00
sudo systemctl stop tor@default
echo ""
2020-09-30 21:41:30 +02:00
if [ " $2 " = = "clear" ] ; then
2021-03-15 23:16:27 +01:00
echo "# *** Deinstall Tor & Delete Data ***"
sudo rm -r /mnt/hdd/tor 2>/dev/null
sudo apt remove tor tor-arm -y
2020-09-30 21:41:30 +02:00
fi
2021-03-15 23:16:27 +01:00
echo "# needs reboot to activate new setting"
2018-12-02 19:52:01 +01:00
exit 0
fi
2020-11-15 22:16:13 +00:00
# update
if [ " $1 " = "update" ] ; then
# as in https://2019.www.torproject.org/docs/debian#source
echo "# Install the dependencies"
sudo apt update
sudo apt install -y build-essential fakeroot devscripts
sudo apt build-dep -y tor deb.torproject.org-keyring
rm -rf /home/admin/download/debian-packages
mkdir -p /home/admin/download/debian-packages
cd /home/admin/download/debian-packages
echo "# Building Tor from the source code ..."
apt source tor
cd tor-*
debuild -rfakeroot -uc -us
cd ..
echo "# Stopping the tor.service before updating"
sudo systemctl stop tor
echo "# Update ..."
sudo dpkg -i tor_*.deb
echo "# Starting the tor.service "
sudo systemctl start tor
echo " # Installed $( tor --version) "
exit 0
fi
2021-03-15 23:16:27 +01:00
echo " # FAIL - Unknown Parameter $1 "
echo "# may needs reboot to run normal again"
2019-11-24 14:39:07 +01:00
exit 1