mirror of
https://github.com/openoms/joininbox.git
synced 2026-08-13 12:33:14 +02:00
159 lines
4.6 KiB
Bash
Executable file
159 lines
4.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
source /home/joinmarket/_functions.sh
|
|
source /home/joinmarket/joinin.conf
|
|
|
|
checkRPCwallet
|
|
|
|
# Basic Options
|
|
OPTIONS=(LINUX "Running Linux"
|
|
MAC "Running MacOS"
|
|
WINDOWS "Running Windows"
|
|
localhost "Linux on the same desktop"
|
|
)
|
|
|
|
CHOICE=$(dialog --clear --title "Choose a desktop OS" --menu "" 10 45 4 "${OPTIONS[@]}" 2>&1 >/dev/tty)
|
|
|
|
clear
|
|
case $CHOICE in
|
|
LINUX) echo "Showing instructions for Linux";;
|
|
MAC) echo "Showing intsructions for MacOS";;
|
|
WINDOWS) echo "Showing instructions for Windows";;
|
|
localhost) echo "Showing instructions for Linux on the same desktop";;
|
|
*) exit 1;;
|
|
esac
|
|
|
|
joinmarketSSHchanged=0
|
|
if grep -Eq "^DenyUsers joinmarket" /etc/ssh/sshd_config; then
|
|
sudo /home/joinmarket/set.ssh.sh on
|
|
joinmarketSSHchanged=1
|
|
fi
|
|
|
|
# switch on X11 forwarding
|
|
if [ ! -f /home/joinmarket/.Xauthority ]; then
|
|
sudo -u joinmarket touch /home/joinmarket/.Xauthority
|
|
fi
|
|
sudo sed -i "s/^X11Forwarding no/X11Forwarding yes/g" /etc/ssh/sshd_config
|
|
if ! grep -Eq "^X11Forwarding yes" /etc/ssh/sshd_config; then
|
|
echo "X11Forwarding yes" | sudo tee -a /etc/ssh/sshd_config
|
|
fi
|
|
echo "# Set 'X11Forwarding yes' and restarting sshd"
|
|
sudo service sshd restart
|
|
|
|
|
|
if [ "$RPCoverTor" = "on" ];then
|
|
tor="torsocks "
|
|
else
|
|
tor=""
|
|
fi
|
|
|
|
echo "
|
|
************************************************************************************
|
|
Instructions to open the JoinMarket-QT GUI on the desktop
|
|
************************************************************************************
|
|
"
|
|
|
|
if [ "${runningEnv}" = standalone ]; then
|
|
joinmarketUserPsw="ssh login password"
|
|
else
|
|
joinmarketUserPsw="PASSWORD_B (rpcpassword in the bitcoin.conf)"
|
|
fi
|
|
|
|
if [ "${CHOICE}" = "LINUX" ]; then
|
|
echo "
|
|
Use the following line in a new desktop terminal to connect:
|
|
|
|
ssh -X joinmarket@${localip} ${tor}joinmarket-clientserver/jmvenv/bin/python joinmarket-clientserver/scripts/joinmarket-qt.py
|
|
|
|
Use the ${joinmarketUserPsw} to open the JoinMarket-QT GUI
|
|
"
|
|
|
|
|
|
elif [ "${CHOICE}" = "MAC" ]; then
|
|
echo "
|
|
Install the XQuartz application from https://www.xquartz.org/
|
|
|
|
Use the following line in a new desktop terminal to connect:
|
|
|
|
ssh -X joinmarket@${localip} ${tor}joinmarket-clientserver/jmvenv/bin/python joinmarket-clientserver/scripts/joinmarket-qt.py
|
|
|
|
Use the ${joinmarketUserPsw} to open the JoinMarket-QT GUI
|
|
"
|
|
|
|
|
|
elif [ "${CHOICE}" = "WINDOWS" ]; then
|
|
echo "
|
|
Download, install and run XMing with the default settings - https://sourceforge.net/projects/xming/
|
|
|
|
Open Putty and fill in:
|
|
Host Name: $localip
|
|
Port: 22
|
|
|
|
Under Connection set:
|
|
Data -> Auto-login username: joinmarket
|
|
SSH -> X11 -> [x] Enable X11 forwarding
|
|
|
|
The settings can be saved in Session -> type a name under Saved session -> Save
|
|
Make sure that Xming is running (the icon is present on the taskbar)
|
|
|
|
Open the connection
|
|
Use the ${joinmarketUserPsw} to log in
|
|
In the terminal Exit to the Command Line and type:
|
|
|
|
qtgui
|
|
|
|
The QT GUI will appear on the Windows desktop running from your RaspiBlitz.
|
|
"
|
|
|
|
elif [ "${CHOICE}" = "localhost" ]; then
|
|
echo "
|
|
Use the following line in a new desktop terminal to connect:
|
|
|
|
ssh -X joinmarket@localhost ${tor}joinmarket-clientserver/jmvenv/bin/python joinmarket-clientserver/scripts/joinmarket-qt.py
|
|
|
|
Use the ${joinmarketUserPsw} to open the JoinMarket-QT GUI
|
|
|
|
|
|
Alternatively disable the display access control of the xserver:
|
|
* Open a new terminal on the desktop
|
|
* type:
|
|
xhost +
|
|
* use the shortcut in the JoininBox terminal to open the JoinMarket-QT GUI:
|
|
qtgui
|
|
* re-enable the access control with:
|
|
xhost -
|
|
"
|
|
fi
|
|
|
|
echo "
|
|
|
|
************************************************************************************
|
|
|
|
The graphical interface will run on the desktop relayed from the node via an encrypted ssh tunnel.
|
|
|
|
See the walkthrough for the JoinMarket-Qt GUI to send payments with coinjoin or run multiple coinjoins (tumbler):
|
|
https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/JOINMARKET-QT-GUIDE.md
|
|
|
|
Video demonstration of using the JoinMarket-Qt GUI by Adam Gibson (waxwing):
|
|
https://youtu.be/hwmvZVQ4C4M
|
|
|
|
See this review thread about the QT GUI:
|
|
https://twitter.com/zndtoshi/status/1191799199119134720
|
|
|
|
************************************************************************************
|
|
Press ENTER when the QT GUI is opened to prevent further connections and exit to the menu.
|
|
"
|
|
|
|
sleep 2
|
|
read key
|
|
|
|
if grep -Eq "^X11Forwarding yes" /etc/ssh/sshd_config; then
|
|
echo "# Setting 'X11Forwarding no' in the /etc/ssh/sshd_config"
|
|
sudo sed -i "s/^X11Forwarding yes/X11Forwarding no/g" /etc/ssh/sshd_config
|
|
echo "# Restarting sshd"
|
|
sudo service sshd restart
|
|
fi
|
|
|
|
if [ $joinmarketSSHchanged = 1 ];then
|
|
sudo /home/joinmarket/set.ssh.sh off
|
|
fi
|