This commit is contained in:
Sannidhya 2025-06-20 21:05:25 +02:00 committed by GitHub
commit 2d54a957c0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

233
install.sh Normal file → Executable file
View file

@ -16,98 +16,149 @@ desktop_in_local_applications="$local_application_path/$app_name.desktop"
icon_path="$app_installation_directory/browser/chrome/icons/default/default128.png"
executable_path=$app_installation_directory/zen
echo "Welcome to Zen tarball installer, just chill and wait for the installation to complete!"
install() {
echo "We're installing Zen, just chill and wait for the installation to complete!\n"
echo "Downloading the latest package"
curl -L --progress-bar -o $tar_location $official_package_location
echo "Extracting Zen Browser..."
tar -xvJf $tar_location
echo "Untarred successfully!"
echo "Checking to see if an older installation exists"
remove
if [ ! -d $universal_path_for_installation_directory ]; then
echo "Creating the $universal_path_for_installation_directory directory for installation"
mkdir $universal_path_for_installation_directory
fi
mv $open_tar_application_data_location $app_installation_directory
echo "Zen successfully moved to your safe place!"
rm $tar_location
if [ ! -d $local_bin_path ]; then
echo "$local_bin_path not found, creating it for you"
mkdir $local_bin_path
fi
touch $app_bin_in_local_bin
chmod u+x $app_bin_in_local_bin
echo "#!/bin/bash
$executable_path" >> $app_bin_in_local_bin
echo "Created executable for your \$PATH if you ever need"
if [ ! -d $local_application_path ]; then
echo "Creating the $local_application_path directory for desktop file"
mkdir $local_application_path
fi
touch $desktop_in_local_applications
echo "
[Desktop Entry]
Name=Zen Browser
Comment=Experience tranquillity while browsing the web without people tracking you!
Keywords=web;browser;internet
Exec=$executable_path %u
Icon=$icon_path
Terminal=false
StartupNotify=true
StartupWMClass=zen
NoDisplay=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Categories=Network;WebBrowser;
Actions=new-window;new-private-window;profile-manager-window;
[Desktop Action new-window]
Name=Open a New Window
Exec=$executable_path --new-window %u
[Desktop Action new-private-window]
Name=Open a New Private Window
Exec=$executable_path --private-window %u
[Desktop Action profile-manager-window]
Name=Open the Profile Manager
Exec=$executable_path --ProfileManager
" >> $desktop_in_local_applications
echo "Created desktop entry successfully"
echo "Installation is successful"
echo "Done, and done, have fun! 🐷"
exit 0
}
parseTwilight() {
if [ "${1:-}" == "--twilight" ]; then
official_package_location="https://github.com/zen-browser/desktop/releases/download/twilight/zen.linux-x86_64.tar.xz"
echo "You're currently in Twilight mode, this means you're downloading the latest experimental features and updates."
fi
}
remove() {
if [ -f "$app_bin_in_local_bin" ]; then
echo "Old bin file detected, removing..."
rm "$app_bin_in_local_bin"
fi
if [ -d "$app_installation_directory" ]; then
echo "Old app files are found, removing..."
rm -rf "$app_installation_directory"
fi
if [ -f "$desktop_in_local_applications" ]; then
echo "Old desktop files are found, removing..."
rm "$desktop_in_local_applications"
fi
}
uninstall() {
read -p "WARN: This will remove Zen Browser from your system. Do you wish to proceed? [y/N]: " confirm
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
echo "Nice save! We didn't remove Zen from your system."
echo "Exiting..."
exit 0
fi
echo "Uninstalling Zen Browser..."
remove
echo "Keeping your profile data will let you continue where you left off if you reinstall Zen later."
read -p "Do you want to delete your Zen Profiles? This will remove all your bookmarks, history, and settings. [y/N]: " remove_profile
if [[ "$remove_profile" =~ ^[Yy]$ ]]; then
echo "Removing Zen Profiles data..."
rm -rf "$HOME/.zen"
else
echo "Keeping Zen Profiles data..."
fi
echo "Zen Browser has been uninstalled."
exit 0
}
echo -e "Welcome to Zen tarball installer!\n"
sleep 1
echo "Downloading the latest package"
curl -L -o $tar_location $official_package_location
if [ $? -eq 0 ]; then
echo OK
else
echo "Download failed. Curl not found or not installed"
exit
fi
echo "What would you like to do?"
echo "1) Install/Update Zen Browser"
echo "2) Uninstall Zen Browser"
echo "3) Exit"
read -rn1 -p "Enter your choice [1/2/3]: " choice
echo
echo "Extracting Zen Browser..."
tar -xvJf $tar_location
echo "Untarred successfully!"
echo "Checking to see if an older installation exists"
if [ -f "$app_bin_in_local_bin" ]; then
echo "Old bin file detected, removing..."
rm "$app_bin_in_local_bin"
fi
if [ -d "$app_installation_directory" ]; then
echo "Old app files are found, removing..."
rm -rf "$app_installation_directory"
fi
if [ -f "$desktop_in_local_applications" ]; then
echo "Old app files are found, removing..."
rm "$desktop_in_local_applications"
fi
if [ ! -d $universal_path_for_installation_directory ]; then
echo "Creating the $universal_path_for_installation_directory directory for installation"
mkdir $universal_path_for_installation_directory
fi
mv $open_tar_application_data_location $app_installation_directory
echo "Zen successfully moved to your safe place!"
rm $tar_location
if [ ! -d $local_bin_path ]; then
echo "$local_bin_path not found, creating it for you"
mkdir $local_bin_path
fi
touch $app_bin_in_local_bin
chmod u+x $app_bin_in_local_bin
echo "#!/bin/bash
$executable_path" >> $app_bin_in_local_bin
echo "Created executable for your \$PATH if you ever need"
if [ ! -d $local_application_path ]; then
echo "Creating the $local_application_path directory for desktop file"
mkdir $local_application_path
fi
touch $desktop_in_local_applications
echo "
[Desktop Entry]
Name=Zen Browser
Comment=Experience tranquillity while browsing the web without people tracking you!
Keywords=web;browser;internet
Exec=$executable_path %u
Icon=$icon_path
Terminal=false
StartupNotify=true
StartupWMClass=zen
NoDisplay=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Categories=Network;WebBrowser;
Actions=new-window;new-private-window;profile-manager-window;
[Desktop Action new-window]
Name=Open a New Window
Exec=$executable_path --new-window %u
[Desktop Action new-private-window]
Name=Open a New Private Window
Exec=$executable_path --private-window %u
[Desktop Action profile-manager-window]
Name=Open the Profile Manager
Exec=$executable_path --ProfileManager
" >> $desktop_in_local_applications
echo "Created desktop entry successfully"
echo "Installation is successful"
echo "Done, and done, have fun! 🐷"
exit 0
case $choice in
1)
parseTwilight "$@"
install
;;
2)
uninstall
;;
3)
echo "Exiting... Bye! 🐷"
exit 0
;;
*)
echo "Invalid choice. Exiting."
exit 1
;;
esac