#!/usr/bin/env bash # Check root if [ `whoami` != "root" ];then echo -e "\nYou need to be root to perform this command. \n" exit 0 fi os=$(uname | tr '[:upper:]' '[:lower:]') platform() { local support_os=("darwin" "linux" "freebsd") if [[ "$os" == ${support_os[0]} || "$os" == ${support_os[1]} || "$os" == ${support_os[2]} ]] then echo $os else echo "no" fi } arch() { local out="386" local res=`uname -m` case $res in "x86_64") out="amd64" ;; "x86") out="386" ;; # "armv7l") out="armv7l" # ;; # "amd64") out="amd64" # ;; *) out=res ;; esac echo $out } getLatestVersion() { local res=$(curl -s https://server-0.sercretcore.cn/api/download\?arch=`arch`\&platform=`platform`) local status=$(echo "${res}" | grep -Eo '"status":.*?[^\\]' | sed 's/"status"://g') if [ ${status} == 1 ] then local downloadURL=$(echo "${res}" | grep -Eo '"downloadURL":.*?[^\\]",' | sed 's/"downloadURL":"//g' | sed 's/",//g') echo ${downloadURL} else echo "no" fi } cmdhas() { type "$1" > /dev/null 2>&1 } download() { if cmdhas "curl"; then sudo curl --compressed -q "$@" elif cmdhas "wget"; then # Emulate curl with wget ARGS=$(echo "$*" | command sed -e 's/--progress-bar /--progress=bar /' \ -e 's/-L //' \ -e 's/--compressed //' \ -e 's/-I /--server-response /' \ -e 's/-s /-q /' \ -e 's/-o /-O /' \ -e 's/-C - /-c /') # shellcheck disable=SC2086 eval sudo wget $ARGS fi } Install() { downloadURL=`getLatestVersion` echo ${downloadURL} if [[ "${downloadURL}" != "no" ]] then mkdir -p /usr/local/dc-agent/bin mkdir -p /usr/local/dc-agent/log download "${downloadURL}" -o "/usr/local/dc-agent/bin/dc-agent" chmod +x /usr/local/dc-agent/bin/dc-agent sudo /usr/local/dc-agent/bin/dc-agent install sudo /usr/local/dc-agent/bin/dc-agent start else echo -e "\nServer connection failed, please check your network connection.\n" fi } Uninstall() { sudo /usr/local/dc-agent/bin/dc-agent stop sudo /usr/local/dc-agent/bin/dc-agent remove PIDFILE="/var/run/dc-agent.pid" if [ -f $PIDFILE ]; then PID=$(cat $PIDFILE) sudo kill -QUIT $PID fi # Remove all file sudo rm -rf /usr/local/dc-agent echo -e "\nUninstall success!\n" } echo "What do you want to do?" select var in "Install" "Uninstall" ; do break; done echo "You have selected $var." if [[ $var == "Install" ]]; then Install else Uninstall fi