mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
87 lines
2.3 KiB
Bash
87 lines
2.3 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
# This script installs Wakapi.
|
||
|
#
|
||
|
# Quick install: `curl https://wakapi.dev/get | bash`
|
||
|
#
|
||
|
# This script will install Wakapi to the directory you're in. To install
|
||
|
# somewhere else (e.g. /usr/local/bin), cd there and make sure you can write to
|
||
|
# that directory, e.g. `cd /usr/local/bin; curl https://wakapi.dev/get | sudo bash`
|
||
|
#
|
||
|
# Acknowledgments:
|
||
|
# - Micro Editor for this script: https://micro-editor.github.io/
|
||
|
# - ASCII art courtesy of figlet: http://www.figlet.org/
|
||
|
|
||
|
set -e -u
|
||
|
|
||
|
githubLatestTag() {
|
||
|
finalUrl=$(curl "https://github.com/$1/releases/latest" -s -L -I -o /dev/null -w '%{url_effective}')
|
||
|
printf "%s\n" "${finalUrl##*/}"
|
||
|
}
|
||
|
|
||
|
platform=''
|
||
|
machine=$(uname -m) # currently, Wakapi builds are only available for AMD64 anyway
|
||
|
|
||
|
if [ "${GETWAKAPI_PLATFORM:-x}" != "x" ]; then
|
||
|
platform="$GETWAKAPI_PLATFORM"
|
||
|
else
|
||
|
case "$(uname -s | tr '[:upper:]' '[:lower:]')" in
|
||
|
"linux") platform='linux_amd64' ;;
|
||
|
"msys"*|"cygwin"*|"mingw"*|*"_nt"*|"win"*) platform='win_amd64' ;;
|
||
|
esac
|
||
|
fi
|
||
|
|
||
|
if [ "x$platform" = "x" ]; then
|
||
|
cat << 'EOM'
|
||
|
/=====================================\\
|
||
|
| COULD NOT DETECT PLATFORM |
|
||
|
\\=====================================/
|
||
|
|
||
|
Uh oh! We couldn't automatically detect your operating system. You can file a
|
||
|
bug here: https://github.com/muety/wakapi
|
||
|
EOM
|
||
|
exit 1
|
||
|
else
|
||
|
printf "Detected platform: %s\n" "$platform"
|
||
|
fi
|
||
|
|
||
|
TAG=$(githubLatestTag muety/wakapi)
|
||
|
|
||
|
printf "Tag: %s" "$TAG"
|
||
|
|
||
|
extension='zip'
|
||
|
|
||
|
printf "Latest Version: %s\n" "$TAG"
|
||
|
printf "Downloading https://github.com/muety/wakapi/releases/download/%s/wakapi_%s.%s\n" "$TAG" "$platform" "$extension"
|
||
|
|
||
|
curl -L "https://github.com/muety/wakapi/releases/download/$TAG/wakapi_$platform.$extension" > "wakapi.$extension"
|
||
|
|
||
|
case "$extension" in
|
||
|
"zip") unzip -j "wakapi.$extension" -d "wakapi-$TAG" ;;
|
||
|
"tar.gz") tar -xvzf "wakapi.$extension" "wakapi-$TAG/wakapi" ;;
|
||
|
esac
|
||
|
|
||
|
mv "wakapi-$TAG/wakapi" ./wakapi
|
||
|
mv "wakapi-$TAG/config.yml" ./config.yml
|
||
|
|
||
|
rm "wakapi.$extension"
|
||
|
rm -rf "wakapi-$TAG"
|
||
|
|
||
|
cat <<-'EOM'
|
||
|
|
||
|
__ __ _ _
|
||
|
\ \ / /_ _| | ____ _ _ __ (_)
|
||
|
\ \ /\ / / _` | |/ / _` | '_ \| |
|
||
|
\ V V / (_| | < (_| | |_) | |
|
||
|
\_/\_/ \__,_|_|\_\__,_| .__/|_|
|
||
|
|_|
|
||
|
|
||
|
Wakapi has been downloaded to the current directory.
|
||
|
You can run it with:
|
||
|
|
||
|
./wakapi
|
||
|
|
||
|
For further instructions see https://github.com/muety/wakapi
|
||
|
|
||
|
EOM
|