91 lines
No EOL
3.1 KiB
Bash
Executable file
91 lines
No EOL
3.1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
function mainsail_message(){
|
|
top_line
|
|
title 'Mainsail' "${yellow}"
|
|
inner_line
|
|
hr
|
|
echo -e " │ ${cyan}Mainsail makes Klipper more accessible by adding a ${white}│"
|
|
echo -e " │ ${cyan}lightweight, responsive web user interface, centred around ${white}│"
|
|
echo -e " │ ${cyan}an intuitive and consistent design philosophy. ${white}│"
|
|
echo -e " │ ${cyan}It will be accessible on port 4409. ${white}│"
|
|
hr
|
|
bottom_line
|
|
}
|
|
|
|
function install_mainsail(){
|
|
mainsail_message
|
|
local yn
|
|
while true; do
|
|
install_msg "Mainsail" yn
|
|
case "${yn}" in
|
|
Y|y)
|
|
echo -e "${white}"
|
|
echo -e "Info: Downloading Mainsail file..."
|
|
"$CURL" -L "$MAINSAIL_URL" -o "$USR_DATA"/mainsail.zip
|
|
echo -e "Info: Creating directory..."
|
|
if [ -d "$MAINSAIL_FOLDER" ]; then
|
|
rm -rf "$MAINSAIL_FOLDER"
|
|
fi
|
|
mkdir -p "$MAINSAIL_FOLDER"
|
|
mv "$USR_DATA"/mainsail.zip "$MAINSAIL_FOLDER"
|
|
echo -e "Info: Extracting files..."
|
|
unzip "$MAINSAIL_FOLDER"/mainsail.zip -d "$MAINSAIL_FOLDER"
|
|
echo -e "Info: Removing file..."
|
|
rm -f "$MAINSAIL_FOLDER"/mainsail.zip
|
|
if grep -q "#\[update_manager mainsail\]" "$MOONRAKER_CFG" ; then
|
|
echo -e "Info: Enabling Mainsail configurations for Update Manager..."
|
|
sed -i -e 's/^\s*#[[:space:]]*\[update_manager mainsail\]/[update_manager mainsail]/' -e '/^\[update_manager mainsail\]/,/^\s*$/ s/^\(\s*\)#/\1/' "$MOONRAKER_CFG"
|
|
else
|
|
echo -e "Info: Mainsail configurations are already enabled for Update Manager..."
|
|
fi
|
|
echo -e "Info: Retarting Nginx service..."
|
|
restart_nginx
|
|
echo -e "Info: Restarting Moonraker service..."
|
|
stop_moonraker
|
|
start_moonraker
|
|
ok_msg "Mainsail has been installed successfully!"
|
|
echo -e " You can now connect to Mainsail Web Interface with ${yellow}http://$(check_ipaddress):4409${white}"
|
|
return;;
|
|
N|n)
|
|
error_msg "Installation canceled!"
|
|
return;;
|
|
*)
|
|
error_msg "Please select a correct choice!";;
|
|
esac
|
|
done
|
|
}
|
|
|
|
function remove_mainsail(){
|
|
mainsail_message
|
|
local yn
|
|
while true; do
|
|
remove_msg "Mainsail" yn
|
|
case "${yn}" in
|
|
Y|y)
|
|
echo -e "${white}"
|
|
echo -e "Info: Removing files..."
|
|
rm -rf "$MAINSAIL_FOLDER"
|
|
if grep -q "\[update_manager mainsail\]" "$MOONRAKER_CFG" ; then
|
|
echo -e "Info: Disabling Mainsail configurations for Update Manager..."
|
|
sed -i '/^\[update_manager mainsail\]/,/^\s*$/ s/^\(\s*\)\([^#]\)/#\1\2/' "$MOONRAKER_CFG"
|
|
echo -e "Info: Retarting Nginx service..."
|
|
restart_nginx
|
|
echo -e "Info: Restarting Moonraker service..."
|
|
stop_moonraker
|
|
start_moonraker
|
|
else
|
|
echo -e "Info: Mainsail configurations are already disabled for Update Manager..."
|
|
fi
|
|
ok_msg "Mainsail has been removed successfully!"
|
|
return;;
|
|
N|n)
|
|
error_msg "Deletion canceled!"
|
|
return;;
|
|
*)
|
|
error_msg "Please select a correct choice!";;
|
|
esac
|
|
done
|
|
} |