From c42eef7f3d62b18dfaca18764724e118ff7841f8 Mon Sep 17 00:00:00 2001 From: Teddysun Date: Fri, 4 Nov 2016 02:06:45 +0900 Subject: [PATCH] update check installed & latest version --- shadowsocks-libev-debian.sh | 45 ++++++++++++++++++++++++++++--------- shadowsocks-libev.sh | 45 ++++++++++++++++++++++++++++--------- 2 files changed, 68 insertions(+), 22 deletions(-) diff --git a/shadowsocks-libev-debian.sh b/shadowsocks-libev-debian.sh index 32a6d1c..7881b41 100644 --- a/shadowsocks-libev-debian.sh +++ b/shadowsocks-libev-debian.sh @@ -60,6 +60,22 @@ check_installed(){ fi } +check_version(){ + check_installed "ss-server" + if [ $? -eq 0 ]; then + installed_ver=$(ss-server -h | grep shadowsocks-libev | cut -d' ' -f2) + get_latest_version + latest_ver=$(echo ${ver} | sed -e 's/^[a-zA-Z]//g') + if [ "${latest_ver}" == "${installed_ver}" ]; then + return 0 + else + return 1 + fi + else + return 2 + fi +} + print_info(){ clear echo "#############################################################" @@ -125,20 +141,27 @@ pre_install(){ exit 1 fi - # Check installed - check_installed "ss-server" - if [ $? -eq 0 ]; then - echo "Shadowsocks-libev has been installed, nothing to do..." + # Check version + check_version + status=$? + if [ ${status} -eq 0 ]; then + echo "Latest version ${shadowsocks_libev_ver} has been installed, nothing to do..." + echo exit 0 + elif [ ${status} -eq 1 ]; then + echo "Installed version: ${installed_ver}" + echo "Latest version: ${latest_ver}" + echo "Upgrade shadowsocks libev to latest version..." + ps -ef | grep -v grep | grep -i "ss-server" > /dev/null 2>&1 + if [ $? -eq 0 ]; then + /etc/init.d/shadowsocks stop + fi + elif [ ${status} -eq 2 ]; then + print_info + echo "Latest version: ${shadowsocks_libev_ver}" + echo fi - print_info - - # Get shadowsocks-libev latest version - get_latest_version - echo "Get the latest version: ${shadowsocks_libev_ver}" - echo - #Set shadowsocks-libev config password echo "Please input password for shadowsocks-libev:" read -p "(Default password: teddysun.com):" shadowsockspwd diff --git a/shadowsocks-libev.sh b/shadowsocks-libev.sh index 2576052..49cc6b7 100644 --- a/shadowsocks-libev.sh +++ b/shadowsocks-libev.sh @@ -60,6 +60,22 @@ check_installed(){ fi } +check_version(){ + check_installed "ss-server" + if [ $? -eq 0 ]; then + installed_ver=$(ss-server -h | grep shadowsocks-libev | cut -d' ' -f2) + get_latest_version + latest_ver=$(echo ${ver} | sed -e 's/^[a-zA-Z]//g') + if [ "${latest_ver}" == "${installed_ver}" ]; then + return 0 + else + return 1 + fi + else + return 2 + fi +} + print_info(){ clear echo "#############################################################" @@ -156,20 +172,27 @@ pre_install(){ exit 1 fi - # Check installed - check_installed "ss-server" - if [ $? -eq 0 ]; then - echo "Shadowsocks-libev has been installed, nothing to do..." + # Check version + check_version + status=$? + if [ ${status} -eq 0 ]; then + echo "Latest version ${shadowsocks_libev_ver} has been installed, nothing to do..." + echo exit 0 + elif [ ${status} -eq 1 ]; then + echo "Installed version: ${installed_ver}" + echo "Latest version: ${latest_ver}" + echo "Upgrade shadowsocks libev to latest version..." + ps -ef | grep -v grep | grep -i "ss-server" > /dev/null 2>&1 + if [ $? -eq 0 ]; then + /etc/init.d/shadowsocks stop + fi + elif [ ${status} -eq 2 ]; then + print_info + echo "Latest version: ${shadowsocks_libev_ver}" + echo fi - print_info - - # Get shadowsocks-libev latest version - get_latest_version - echo "Get the latest version: ${shadowsocks_libev_ver}" - echo - # Set shadowsocks-libev config password echo "Please input password for shadowsocks-libev" read -p "(Default password: teddysun.com):" shadowsockspwd