Last active
August 12, 2020 13:57
-
-
Save tylerforesthauser/f59ea2183870bbc351794fc5454985fb to your computer and use it in GitHub Desktop.
Modified File Browser installer for USB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# | |
# File Browser Installer Script | |
# | |
# GitHub: https://github.com/filebrowser/filebrowser | |
# Issues: https://github.com/filebrowser/filebrowser/issues | |
# Requires: bash, mv, rm, tr, type, grep, sed, curl/wget, tar | |
# | |
install_filemanager() | |
{ | |
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; return 1' ERR | |
filemanager_os="linux" | |
filemanager_arch="amd64" | |
install_path="$HOME/bin" | |
filemanager_bin="filebrowser" | |
filemanager_dl_ext=".tar.gz" | |
echo "Downloading File Browser for $filemanager_os/$filemanager_arch..." | |
filemanager_file="${filemanager_os}-$filemanager_arch-filebrowser$filemanager_dl_ext" | |
filemanager_tag="$(curl -s https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g')" | |
filemanager_url="https://github.com/filebrowser/filebrowser/releases/download/$filemanager_tag/$filemanager_file" | |
echo "$filemanager_url" | |
rm -rf "$HOME/tmp/$filemanager_file" | |
if type -p curl >/dev/null 2>&1; then | |
curl -fsSL "$filemanager_url" -o "$HOME/tmp/$filemanager_file" | |
elif type -p wget >/dev/null 2>&1; then | |
wget --quiet "$filemanager_url" -O "$HOME/tmp/$filemanager_file" | |
else | |
echo "Aborted, could not find curl or wget" | |
return 7 | |
fi | |
echo "Extracting..." | |
case "$filemanager_file" in | |
*.zip) unzip -o "$HOME/tmp/$filemanager_file" "$filemanager_bin" -d "$HOME/tmp/" ;; | |
*.tar.gz) tar -xzf "$HOME/tmp/$filemanager_file" -C "$HOME/tmp/" "$filemanager_bin" ;; | |
esac | |
chmod +x "$HOME/tmp/$filemanager_bin" | |
echo "Putting filemanager in $install_path" | |
mv "$HOME/tmp/$filemanager_bin" "$install_path/$filemanager_bin" | |
rm -- "$HOME/tmp/$filemanager_file" | |
if type -p $filemanager_bin >/dev/null 2>&1; then | |
echo "Successfully installed" | |
trap ERR | |
return 0 | |
else | |
echo "Something went wrong, File Browser is not in your path" | |
trap ERR | |
return 1 | |
fi | |
} | |
install_filemanager |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment