#!/bin/bash # Original script by https://github.com/GermanBread if [[ $TERM == dumb ]]; then exit; fi if [[ $(whoami) != "root" ]] ; then printf "[$(tput setaf 9 && tput blink)PANIC$(tput sgr0)] $(tput setaf 9)This script needs to run as root$(tput sgr0)\n"; exit; fi tput setaf 208 cat << "EOF" _ _ _ _ _ | | (_)__ _| |_| |_ __ ___ _ _ __| | | |__| / _` | ' \ _/ _/ _ \ '_/ _` | |____|_\__, |_||_\__\__\___/_| \__,_| |___/ Linux Installer and Updater EOF tput sgr0 printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)This script depends on unzip! Install that package first!$(tput sgr0)\n"; printf "Please select\n"; printf "1: Install Lightcord\n"; printf "2: Uninstall Lightcord\n"; printf "3: Update Lightcord\n" printf "\n"; #Repeat only if the user hasn't entered an integer... while ! [[ $selection =~ ^[0-9]+$ ]]; do read selection; #if the entered value was not an integer, show this if ! [[ $selection =~ ^[0-9]+$ ]]; then sleep 1; printf "$(tput setaf 9)Please try again$(tput sgr0)\n"; printf "1: Install Lightcord\n"; printf "2: Uninstall Lightcord\n"; printf "3: Update Lightcord\n" printf "\n"; fi done case $selection in 1) printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Installing Lightcord$(tput sgr0)\n"; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Downloading Lightcord zip to $(pwd && tput sgr0)\n"; rm -rf Lightcord.*; rm -rf Lightcord; rm -rf lightcord-linux-x64.*; wget https://lightcord.org/api/v1/gh/releases/Lightcord/Lightcord/dev/lightcord-linux-x64.zip; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Unzipping$(tput sgr0)\n"; unzip lightcord-linux-x64.zip -d Lightcord; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Deleting zip$(tput sgr0)\n"; rm lightcord-linux-x64.zip; prev_pwd = pwd; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Changing directory into $(pwd)/Lightcord$(tput sgr0)\n"; cd Lightcord; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Giving $(pwd)/lightcord executable execute permissions$(tput sgr0)\n"; chmod +x ./lightcord; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Changing directory into ${prev_pwd}$(tput sgr0)\n"; cd ..; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Moving $(pwd)/Lightcord folder to /opt$(tput sgr0)\n"; mv Lightcord/ /opt/; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Deleting $(pwd)/Lightcord folder$(tput sgr0)\n"; rm Lightcord/; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Downloading lightcord.svg icon to $(pwd && tput sgr0)\n"; wget https://raw.githubusercontent.com/Lightcord/LightcordLogos/master/lightcord/lightcord.svg; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Moving $(pwd)/lightcord.svg file to /usr/share/pixmaps$(tput sgr0)\n"; mv lightcord.svg /usr/share/pixmaps; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Generating and moving Lightcord.desktop file to /usr/share/Lightcord.desktop$(tput sgr0)\n"; rm -rf /usr/share/applications/Lightcord.desktop echo -e "[Desktop Entry]\nName=Lightcord\nComment[fr_FR]=Un client Discord simple et personalisable\nComment=A simple - customizable - Discord Client\nExec=/opt/Lightcord/lightcord\nIcon=lightcord\nTerminal=false\nType=Application\nCategories=Network;InstantMessaging;P2P;" >> /usr/share/applications/Lightcord.desktop printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Giving /usr/share/Lightcord.desktop execute permissions$(tput sgr0)\n"; chmod +x /usr/share/applications/Lightcord.desktop; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Cleaning up$(tput sgr0)\n"; rm -rf Lightcord.*; rm -rf Lightcord; rm -rf lightcord-linux-x64.*; printf "[$(tput setaf 10 && tput blink)FINISH$(tput sgr0)] Installation complete\n"; ;; 2) printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Uninstalling Lightcord$(tput sgr0)\n"; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Deleting /opt/Lightcord$(tput sgr0)\n"; rm -r /opt/Lightcord; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Deleting /usr/share/pixmaps/lightcord.svg$(tput sgr0)\n"; rm /usr/share/pixmaps/lightcord.svg; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Deleting /usr/share/Lightcord.desktop$(tput sgr0)\n"; rm /usr/share/applications/Lightcord.desktop; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Deleting /home/*/.local/share/applications/Lightcord.desktop$(tput sgr0)\n"; rm -f /home/*/.local/share/applications/Lightcord.desktop; printf "[$(tput setaf 10 && tput blink)FINISH$(tput sgr0)] Uninstall complete\n"; ;; 3) #Uninstall printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Updating Lightcord$(tput sgr0)\n"; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Deleting /opt/Lightcord$(tput sgr0)\n"; rm -r /opt/Lightcord; #Install printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Downloading Lightcord zip to $(pwd && tput sgr0)\n"; rm -rf Lightcord.*; rm -rf Lightcord; rm -rf lightcord-linux-x64.*; wget https://lightcord.org/api/v1/gh/releases/Lightcord/Lightcord/dev/lightcord-linux-x64.zip; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Unzipping$(tput sgr0)\n"; unzip lightcord-linux-x64.zip -d Lightcord; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Deleting zip$(tput sgr0)\n"; rm lightcord-linux-x64.zip; prev_pwd = pwd; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Changing directory into $(pwd)/Lightcord$(tput sgr0)\n"; cd Lightcord; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Giving $(pwd)/lightcord executable execute permissions$(tput sgr0)\n"; chmod +x ./lightcord; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Changing directory into ${prev_pwd}$(tput sgr0)\n"; cd ..; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Moving $(pwd)/Lightcord folder to /opt$(tput sgr0)\n"; mv Lightcord/ /opt/; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Deleting $(pwd)/Lightcord folder$(tput sgr0)\n"; rm Lightcord/; printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Cleaning up$(tput sgr0)\n"; rm -rf Lightcord.*; rm -rf Lightcord; rm -rf lightcord-linux-x64.*; printf "[$(tput setaf 10 && tput blink)FINISH$(tput sgr0)] Update complete\n"; ;; # 4) # printf "Please select\n"; # printf "1: \"/opt/Lightcord/Lightcord not found\"\n"; # printf "2: None of the above\n" # printf "\n"; # # #Repeat only if the user hasn't entered an integer... # while ! [[ $troubleshooting_selection =~ ^[0-9]+$ ]]; # do # read troubleshooting_selection; # #if the entered value was not an integer, show this # if ! [[ $troubleshooting_selection =~ ^[0-9]+$ ]]; then # sleep 1; # printf "$(tput setaf 9)Please try again$(tput sgr0)\n"; # printf "1: \"/opt/Lightcord/Lightcord not found\"\n"; # printf "2: None of the above\n" # printf "\n"; # fi # done # # case $troubleshooting_selection in # 1) # printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 7)Modifying /usr/share/applications/Lightcord.desktop$(tput sgr0)\n"; # sed -i 's/Lightcord\/Lightcord/Lightcord\/lightcord/' /usr/share/applications/Lightcord.desktop > /dev/null 2>&1; # sed -i 's/Lightcord\/Lightcord/Lightcord\/lightcord/' /home/*/.local/share/applications/Lightcord.desktop > /dev/null 2>&1; # printf "[$(tput setaf 10 && tput blink)FINISH$(tput sgr0)] Done\n"; # ;; # # 2) # printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 15)Visit the official server for support: https://discord.gg/7eFff2A$(tput sgr0)\n"; # ;; # # *) # printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Exiting troubleshooting$(tput sgr0)\n"; # ;; # esac # ;; # *) printf "[$(tput setaf 12 && tput blink)INFO$(tput sgr0)] $(tput setaf 12)Exiting script$(tput sgr0)\n"; ;; esac #ask the user if the script should not delete itself printf "Do you want to keep the install script? [y/N] "; read a; case $a in y) exit; ;; Y) exit; ;; esac #if the user didn't say yes rm -f Lightcord_installer.sh;