haveno/scripts/install_tails/assets/install.sh
woodser 6d1f1e43d6
update installation process for tails
Co-authored-by: anonymous
2024-09-09 07:34:39 -04:00

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."