mirror of
https://github.com/haveno-dex/haveno.git
synced 2024-12-27 00:09:34 -05:00
6d1f1e43d6
Co-authored-by: anonymous
80 lines
2.5 KiB
Bash
80 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
|
|
# This script automates the installation and configuration of Haveno on a Tails OS system,
|
|
#
|
|
# FUNCTIONAL OVERVIEW:
|
|
# - Verification of the Haveno installer's presence.
|
|
# - Installation of the Haveno application with dpkg.
|
|
# - Removal of automatically created desktop icons to clean up after installation.
|
|
# - Deployment of Tor configuration for Haveno.
|
|
# - Restart of the onion-grater service to apply new configurations.
|
|
#
|
|
# The script requires administrative privileges to perform system modifications.
|
|
|
|
|
|
# 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"
|
|
app_dir="${persistence_dir}/haveno/App"
|
|
install_dir="${persistence_dir}/haveno/Install"
|
|
haveno_installer="${install_dir}/haveno.deb"
|
|
haveno_config_file="${app_dir}/utils/haveno.yml"
|
|
|
|
|
|
# Check if the Haveno installer exists
|
|
if [ ! -f "${haveno_installer}" ]; then
|
|
echo_red "Haveno installer not found at ${haveno_installer}."
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Install Haveno
|
|
echo_blue "Installing Haveno..."
|
|
dpkg -i "${haveno_installer}" || { echo_red "Failed to install Haveno."; exit 1; }
|
|
|
|
|
|
# Remove installed desktop menu icon
|
|
rm -f /usr/share/applications/haveno-Haveno.desktop
|
|
|
|
|
|
# Change access rights for Tor control cookie
|
|
echo_blue "Changing access rights for Tor control cookie..."
|
|
chmod o+r /var/run/tor/control.authcookie || { echo_red "Failed to change access rights for Tor control cookie."; exit 1; }
|
|
|
|
|
|
# Copy haveno.yml configuration file
|
|
echo_blue "Copying Tor onion-grater configuration to /etc/onion-grater.d/..."
|
|
cp "${haveno_config_file}" /etc/onion-grater.d/haveno.yml || { echo_red "Failed to copy haveno.yml."; exit 1; }
|
|
|
|
|
|
# Restart onion-grater service
|
|
echo_blue "Restarting onion-grater service..."
|
|
systemctl restart onion-grater.service || { echo_red "Failed to restart onion-grater service."; exit 1; }
|
|
|
|
|
|
echo_blue "Haveno installation and configuration complete."
|