mirror of
https://github.com/haveno-dex/haveno.git
synced 2024-12-23 03:59:36 +00:00
63 lines
2.1 KiB
Bash
63 lines
2.1 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
|
||
|
# This script serves as the execution entry point for the Haveno application from a desktop menu icon,
|
||
|
# specifically tailored for use in the Tails OS. It is intended to be linked as the 'Exec' command
|
||
|
# in a .desktop file, enabling users to start Haveno directly from the desktop interface.
|
||
|
#
|
||
|
# FUNCTIONAL OVERVIEW:
|
||
|
# - Automatic installation and configuration of Haveno if not already set up.
|
||
|
# - Linking Haveno data directories to persistent storage to preserve user data across sessions.
|
||
|
#
|
||
|
# NOTE:
|
||
|
# This script assumes that Haveno's related utility scripts and files are correctly placed and accessible
|
||
|
# in the specified directories.
|
||
|
|
||
|
|
||
|
# Function to print messages in blue
|
||
|
echo_blue() {
|
||
|
if [ -t 1 ]; then
|
||
|
# If File descriptor 1 (stdout) is open and refers to a terminal
|
||
|
echo -e "\033[1;34m$1\033[0m"
|
||
|
else
|
||
|
# If stdout is not a terminal, send a desktop notification
|
||
|
notify-send -i "/home/amnesia/Persistent/haveno/App/utils/icon.png" "Starting Haveno" "$1"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
|
||
|
# Function to print error messages in red
|
||
|
echo_red() {
|
||
|
if [ -t 1 ]; then
|
||
|
# If File descriptor 1 (stdout) is open and refers to a terminal
|
||
|
echo -e "\033[0;31m$1\033[0m"
|
||
|
else
|
||
|
# If stdout is not a terminal, send a desktop notification
|
||
|
notify-send -u critical -i "error" "Staring Haveno" "$1\nExiting..."
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
|
||
|
# Define file locations
|
||
|
persistence_dir="/home/amnesia/Persistent"
|
||
|
data_dir="${persistence_dir}/haveno/Data"
|
||
|
|
||
|
|
||
|
# Create data dir
|
||
|
mkdir -p "${data_dir}"
|
||
|
|
||
|
|
||
|
# Check if Haveno is already installed and configured
|
||
|
if [ ! -f "/opt/haveno/bin/Haveno" ] || [ ! -f "/etc/onion-grater.d/haveno.yml" ]; then
|
||
|
echo_blue "Installing Haveno and configuring system..."
|
||
|
pkexec "${persistence_dir}/haveno/App/utils/install.sh"
|
||
|
# Redirect user data to Tails Persistent Storage
|
||
|
ln -s "${data_dir}" /home/amnesia/.local/share/Haveno
|
||
|
else
|
||
|
echo_blue "Haveno is already installed and configured."
|
||
|
fi
|
||
|
|
||
|
|
||
|
echo_blue "Starting Haveno..."
|
||
|
/opt/haveno/bin/Haveno --torControlPort 951 --torControlCookieFile=/var/run/tor/control.authcookie --torControlUseSafeCookieAuth --userDataDir=${data_dir} --useTorForXmr=on --socks5ProxyXmrAddress=127.0.0.1:9050
|