mirror of
https://github.com/nahuhh/basicswap-bash.git
synced 2024-12-22 19:49:21 +00:00
39 lines
1.5 KiB
Bash
Executable file
39 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Check for Tor installation
|
|
torinstall=$(apt-cache policy tor | grep "Installed:" | grep -E -o "[0-9]\w+")
|
|
if [[ "$torinstall" ]]; then
|
|
echo -e "\nTor is already installed :)"
|
|
else
|
|
# Install and configure tor
|
|
echo "Installing Tor..."
|
|
sudo apt install tor -y
|
|
fi
|
|
|
|
# Create HashesControlPassword
|
|
echo -e "In the next step you'll choose a password. NOTE: It will be saved in PLAIN TEXT."
|
|
read -p "Enter a (new) tor control password [example: 123123] " torcontrolpass
|
|
# Edit /etc/tor/torrc
|
|
torhashedpass=$(tor --hash-password $torcontrolpass)
|
|
enabledcontrol=$(echo "ControlPort 9051")
|
|
skipcontrol=$(grep -x "$enabledcontrol" /etc/tor/torrc)
|
|
if [[ $skipcontrol ]]; then
|
|
# Use Existing enabled ControlPort and append HashedControlPassword
|
|
echo -e "# Added by basicswap-bash\nHashedControlPassword $torhashedpass" | sudo tee -a /etc/tor/torrc
|
|
else
|
|
echo -e "# Added by basicswap-bash\n$enabledcontrol\nHashedControlPassword $torhashedpass" | sudo tee -a /etc/tor/torrc
|
|
fi
|
|
|
|
# Restart tor to apply
|
|
sudo systemctl restart tor
|
|
echo "Waiting for Tor... 5sec" && sleep 5
|
|
|
|
# lol are we there yet?
|
|
TOR_PROXY_HOST=127.0.0.1
|
|
basicswap-prepare --datadir=$SWAP_DATADIR --enabletor
|
|
|
|
# Workaround: Replace torpassword in various config files
|
|
oldtorpass=$(cat $SWAP_DATADIR/basicswap.json | jq -r .tor_control_password)
|
|
sed -i "s/$oldtorpass/$torcontrolpass/" $SWAP_DATADIR/*/*.conf $SWAP_DATADIR/basicswap.json
|
|
# Fix: localhost binding for btc/ltc/part (etc) configs
|
|
sed -i -z "s/\nbind=0.0.0.0/\nbind=127.0.0.1/" $SWAP_DATADIR/*/*.conf
|