From 5b1b771d2e9f4ef8f8c25009f32e8ef03b096218 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 10:24:18 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=A9=E8=BF=9B?= =?UTF-8?q?=EF=BC=8C=E5=BD=93/etc/v2ray/config.json=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B8=8D=E5=86=8D=E7=94=9F=E6=88=90/etc/v2ra?= =?UTF-8?q?y=E6=96=87=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- release/install-release.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/release/install-release.sh b/release/install-release.sh index d67ed56b3..813b4b33b 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -230,22 +230,22 @@ installV2Ray(){ copyFile geosite.dat false # Install V2Ray server config to /etc/v2ray - mkdir -p /etc/v2ray if [[ ! -f "/etc/v2ray/config.json" ]]; then - cp "/tmp/v2ray/v2ray-${NEW_VER}-linux-${VDIS}/vpoint_vmess_freedom.json" "/etc/v2ray/config.json" - if [[ $? -ne 0 ]]; then - colorEcho ${YELLOW} "Create V2Ray configuration file error, pleases create it manually." - return 1 - fi - let PORT=$RANDOM+10000 - UUID=$(cat /proc/sys/kernel/random/uuid) + mkdir -p /etc/v2ray + cp "/tmp/v2ray/v2ray-${NEW_VER}-linux-${VDIS}/vpoint_vmess_freedom.json" "/etc/v2ray/config.json" + if [[ $? -ne 0 ]]; then + colorEcho ${YELLOW} "Create V2Ray configuration file error, pleases create it manually." + return 1 + fi + let PORT=$RANDOM+10000 + UUID=$(cat /proc/sys/kernel/random/uuid) - sed -i "s/10086/${PORT}/g" "/etc/v2ray/config.json" - sed -i "s/23ad6b10-8d1a-40f7-8ad0-e3e35cd38297/${UUID}/g" "/etc/v2ray/config.json" + sed -i "s/10086/${PORT}/g" "/etc/v2ray/config.json" + sed -i "s/23ad6b10-8d1a-40f7-8ad0-e3e35cd38297/${UUID}/g" "/etc/v2ray/config.json" - colorEcho ${GREEN} "PORT:${PORT}" - colorEcho ${GREEN} "UUID:${UUID}" - mkdir -p /var/log/v2ray + colorEcho ${GREEN} "PORT:${PORT}" + colorEcho ${GREEN} "UUID:${UUID}" + mkdir -p /var/log/v2ray fi return 0 } From c56b55a7d36bb2865b025d3f7e1b353a4344eca1 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 10:53:05 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 检查新版本时增加检测本地是否安装的情况 使用version参数时,不需要键入v,直接打版本号即可 --- release/install-release.sh | 59 ++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/release/install-release.sh b/release/install-release.sh index d67ed56b3..47f930ef3 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -156,21 +156,24 @@ extract(){ } -# 1: new V2Ray. 0: no +# 1: new V2Ray. 0: no. 2: not installed. 3: check failed. 4: don't check. getVersion(){ if [[ -n "$VERSION" ]]; then - NEW_VER="$VERSION" - return 1 + NEW_VER="v$VERSION" + return 4 else - CUR_VER=`/usr/bin/v2ray/v2ray -version 2>/dev/null | head -n 1 | cut -d " " -f2` + VER=`/usr/bin/v2ray/v2ray -version 2>/dev/null` + RETVAL="$?" + CUR_VER=`echo $VER | head -n 1 | cut -d " " -f2` TAG_URL="https://api.github.com/repos/v2ray/v2ray-core/releases/latest" NEW_VER=`curl ${PROXY} -s ${TAG_URL} --connect-timeout 10| grep 'tag_name' | cut -d\" -f4` - if [[ $? -ne 0 ]] || [[ $NEW_VER == "" ]]; then colorEcho ${RED} "Network error! Please check your network or try again." - exit + return 3 + elif [[ $RETVAL -ne 0 ]];then + return 2 elif [[ "$NEW_VER" != "$CUR_VER" ]];then - return 1 + return 1 fi return 0 fi @@ -335,22 +338,26 @@ remove(){ } checkUpdate(){ - echo "Checking for update." - getVersion - if [[ $? -eq 1 ]]; then - colorEcho ${GREEN} "Found new version ${NEW_VER} for V2Ray." - exit - else - colorEcho ${GREEN} "No new version." - exit - fi + echo "Checking for update." + VERSION="" + getVersion + RETVAL="$?" + if [[ $RETVAL -eq 1 ]]; then + colorEcho ${GREEN} "Found new version ${NEW_VER} for V2Ray.(Current version:$CUR_VER)" + elif [[ $RETVAL -eq 0 ]]; then + colorEcho ${GREEN} "No new version. Current version is ${NEW_VER}." + elif [[ $RETVAL -eq 2 ]]; then + colorEcho ${RED} "No V2Ray installed." + colorEcho ${GREEN} "The newest version for V2Ray is ${NEW_VER}." + fi + return 0 } main(){ #helping information [[ "$HELP" == "1" ]] && Help - [[ "$CHECK" == "1" ]] && checkUpdate [[ "$REMOVE" == "1" ]] && remove + [[ "$CHECK" == "1" ]] && checkUpdate && return sysArch # extract local file @@ -374,15 +381,19 @@ main(){ # download via network and extract installSoftware "curl" getVersion - if [[ $? == 0 ]] && [[ "$FORCE" != "1" ]]; then + RETVAL="$?" + if [[ $RETVAL == 0 ]] && [[ "$FORCE" != "1" ]]; then colorEcho ${GREEN} "Latest version ${NEW_VER} is already installed." - exit - else - colorEcho ${BLUE} "Installing V2Ray ${NEW_VER} on ${ARCH}" - downloadV2Ray - installSoftware unzip - extract ${ZIPFILE} + return + elif [[ $RETVAL == 3 ]]; then + return 3 + elif [[ $RETVAL == 1 ]]; then + colorEcho ${GREEN} "Found new version ${NEW_VER} for V2Ray.(Current version:$CUR_VER)" fi + colorEcho ${BLUE} "Installing V2Ray ${NEW_VER} on ${ARCH}" + downloadV2Ray || return $? + installSoftware unzip || return $? + extract ${ZIPFILE} || return $? fi if pgrep "v2ray" > /dev/null ; then V2RAY_RUNNING=1 From a0fd5ba05666653d86320fbba4a9d685057cce5a Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 13:12:12 +0800 Subject: [PATCH 03/13] =?UTF-8?q?copyFile=E5=8A=9F=E8=83=BD=E7=AE=80?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- release/install-release.sh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/release/install-release.sh b/release/install-release.sh index d67ed56b3..eb0fb42cb 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -205,13 +205,10 @@ startV2ray(){ copyFile() { NAME=$1 - MANDATE=$2 ERROR=`cp "/tmp/v2ray/v2ray-${NEW_VER}-linux-${VDIS}/${NAME}" "/usr/bin/v2ray/${NAME}" 2>&1` if [[ $? -ne 0 ]]; then colorEcho ${YELLOW} "${ERROR}" - if [ "$MANDATE" = true ]; then - exit - fi + return 2 fi } @@ -222,12 +219,12 @@ makeExecutable() { installV2Ray(){ # Install V2Ray binary to /usr/bin/v2ray mkdir -p /usr/bin/v2ray - copyFile v2ray true + copyFile v2ray || return $? makeExecutable v2ray - copyFile v2ctl false + copyFile v2ctl makeExecutable v2ctl - copyFile geoip.dat false - copyFile geosite.dat false + copyFile geoip.dat + copyFile geosite.dat # Install V2Ray server config to /etc/v2ray mkdir -p /etc/v2ray From bb2f6d006e94fa92af5b798bf4569990f17532f8 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 13:17:48 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=92=8C=E5=81=9C=E6=AD=A2=E6=9C=8D=E5=8A=A1=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- release/install-release.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/release/install-release.sh b/release/install-release.sh index d67ed56b3..1423238af 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -186,7 +186,10 @@ stopV2ray(){ elif [[ -n "${SERVICE_CMD}" ]] || [[ -f "/etc/init.d/v2ray" ]]; then ${SERVICE_CMD} v2ray stop fi - return 0 + if [[ $? -ne 0 ]]; then + colorEcho ${RED} "Failed to shutdown V2Ray service." + return 2 + fi } startV2ray(){ @@ -200,7 +203,10 @@ startV2ray(){ elif [ -n "${SERVICE_CMD}" ] && [ -f "/etc/init.d/v2ray" ]; then ${SERVICE_CMD} v2ray start fi - return 0 + if [[ $? -ne 0 ]]; then + colorEcho ${RED} "Failed to start V2Ray service." + return 2 + fi } copyFile() { From a12ec47cadf5526a4e8b976462292dace79a3891 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 14:52:35 +0800 Subject: [PATCH 05/13] Update install-release.sh --- release/install-release.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/release/install-release.sh b/release/install-release.sh index eb0fb42cb..c6c743c1d 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -210,6 +210,7 @@ copyFile() { colorEcho ${YELLOW} "${ERROR}" return 2 fi + return 0 } makeExecutable() { From f479f0094f5665e513af0577002bf2a1ea0005e3 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 15:16:50 +0800 Subject: [PATCH 06/13] Update install-release.sh --- release/install-release.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release/install-release.sh b/release/install-release.sh index 1423238af..5084bdbfa 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -190,6 +190,7 @@ stopV2ray(){ colorEcho ${RED} "Failed to shutdown V2Ray service." return 2 fi + return 0 } startV2ray(){ @@ -207,6 +208,7 @@ startV2ray(){ colorEcho ${RED} "Failed to start V2Ray service." return 2 fi + return 0 } copyFile() { From 648b7e35f1e38927055595f6bf7b4129a8f87d6d Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 15:41:35 +0800 Subject: [PATCH 07/13] Update install-release.sh --- release/install-release.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/release/install-release.sh b/release/install-release.sh index 47f930ef3..b20536a52 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -389,11 +389,12 @@ main(){ return 3 elif [[ $RETVAL == 1 ]]; then colorEcho ${GREEN} "Found new version ${NEW_VER} for V2Ray.(Current version:$CUR_VER)" + else + colorEcho ${BLUE} "Installing V2Ray ${NEW_VER} on ${ARCH}" + downloadV2Ray || return $? + installSoftware unzip || return $? + extract ${ZIPFILE} || return $? fi - colorEcho ${BLUE} "Installing V2Ray ${NEW_VER} on ${ARCH}" - downloadV2Ray || return $? - installSoftware unzip || return $? - extract ${ZIPFILE} || return $? fi if pgrep "v2ray" > /dev/null ; then V2RAY_RUNNING=1 From e154ff3dfdd558a74727f5f31f04d0cd99bfa023 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 15:45:46 +0800 Subject: [PATCH 08/13] Update install-release.sh --- release/install-release.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release/install-release.sh b/release/install-release.sh index b20536a52..b462ca48d 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -391,9 +391,9 @@ main(){ colorEcho ${GREEN} "Found new version ${NEW_VER} for V2Ray.(Current version:$CUR_VER)" else colorEcho ${BLUE} "Installing V2Ray ${NEW_VER} on ${ARCH}" - downloadV2Ray || return $? - installSoftware unzip || return $? - extract ${ZIPFILE} || return $? + downloadV2Ray + installSoftware unzip + extract ${ZIPFILE} fi fi if pgrep "v2ray" > /dev/null ; then From fe58cec5e3a30c42f1bca2b51497b9075b82a67b Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Thu, 12 Apr 2018 09:57:41 +0200 Subject: [PATCH 09/13] fix syncPolicyManager --- policy.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/policy.go b/policy.go index 965ade508..6fff4dfdc 100644 --- a/policy.go +++ b/policy.go @@ -91,6 +91,17 @@ func (m *syncPolicyManager) ForLevel(level uint32) Policy { return m.PolicyManager.ForLevel(level) } +func (m *syncPolicyManager) ForSystem() SystemPolicy { + m.RLock() + defer m.RUnlock() + + if m.PolicyManager == nil { + return SystemPolicy{} + } + + return m.PolicyManager.ForSystem() +} + func (m *syncPolicyManager) Start() error { m.RLock() defer m.RUnlock() From fe5d3adecc189612027d8363bdf02e55251c9248 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 16:03:06 +0800 Subject: [PATCH 10/13] Update install-release.sh --- release/install-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/install-release.sh b/release/install-release.sh index c6c743c1d..4f3ab01da 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -386,7 +386,7 @@ main(){ V2RAY_RUNNING=1 stopV2ray fi - installV2Ray + installV2Ray || return $? installInitScript if [[ ${V2RAY_RUNNING} -eq 1 ]];then colorEcho ${BLUE} "Restarting V2Ray service." From 1097ed96f2a8822bfd06e5a5388fcc90a3289ed3 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 16:56:00 +0800 Subject: [PATCH 11/13] Update install-release.sh --- release/install-release.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/release/install-release.sh b/release/install-release.sh index 5084bdbfa..b609b2116 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -3,6 +3,11 @@ # This file is accessible as https://install.direct/go.sh # Original source is located at github.com/v2ray/v2ray-core/release/install-release.sh +# If not specify, default meaning of return value: +# 1: System error +# 2: Application error +# 3: Network error + CUR_VER="" NEW_VER="" ARCH="" From 8f8e393e5fcb5e1a5c70ec6dd654d2802184a507 Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 18:18:26 +0800 Subject: [PATCH 12/13] Update install-release.sh --- release/install-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/install-release.sh b/release/install-release.sh index b462ca48d..6eef94134 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -280,7 +280,7 @@ Help(){ echo " -h, --help Show help" echo " -p, --proxy To download through a proxy server, use -p socks5://127.0.0.1:1080 or -p http://127.0.0.1:3128 etc" echo " -f, --force Force install" - echo " --version Install a particular version" + echo " --version Install a particular version, use --version 3.15" echo " -l, --local Install from a local file" echo " --remove Remove installed V2Ray" echo " -c, --check Check for update" From 90ad6bb121ac80a7ea957f4df5d1fdc8548bceba Mon Sep 17 00:00:00 2001 From: sunshineplan Date: Thu, 12 Apr 2018 19:00:13 +0800 Subject: [PATCH 13/13] Update install-release.sh --- release/install-release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/install-release.sh b/release/install-release.sh index 6eef94134..cbd83cb47 100755 --- a/release/install-release.sh +++ b/release/install-release.sh @@ -159,7 +159,7 @@ extract(){ # 1: new V2Ray. 0: no. 2: not installed. 3: check failed. 4: don't check. getVersion(){ if [[ -n "$VERSION" ]]; then - NEW_VER="v$VERSION" + NEW_VER="$VERSION" return 4 else VER=`/usr/bin/v2ray/v2ray -version 2>/dev/null` @@ -280,7 +280,7 @@ Help(){ echo " -h, --help Show help" echo " -p, --proxy To download through a proxy server, use -p socks5://127.0.0.1:1080 or -p http://127.0.0.1:3128 etc" echo " -f, --force Force install" - echo " --version Install a particular version, use --version 3.15" + echo " --version Install a particular version, use --version v3.15" echo " -l, --local Install from a local file" echo " --remove Remove installed V2Ray" echo " -c, --check Check for update"