Merge pull request #81 from IceCodeNew/develop

pull/85/head
IceCodeNew 2020-09-05 11:23:17 +08:00 committed by GitHub
commit dd07d27f89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 26 additions and 28 deletions

View File

@ -254,13 +254,13 @@ get_version() {
TMP_FILE="$(mktemp)"
install_software curl
# DO NOT QUOTE THESE `${PROXY}` VARIABLES!
if ! curl ${PROXY} -o "$TMP_FILE" 'https://api.github.com/repos/v2fly/v2ray-core/releases/latest'; then
rm "$TMP_FILE"
if ! "curl" ${PROXY} -o "$TMP_FILE" 'https://api.github.com/repos/v2fly/v2ray-core/releases/latest'; then
"rm" "$TMP_FILE"
echo 'error: Failed to get release list, please check your network.'
exit 1
fi
RELEASE_LATEST="$(sed 'y/,/\n/' "$TMP_FILE" | grep 'tag_name' | awk -F '"' '{print $4}')"
rm "$TMP_FILE"
"rm" "$TMP_FILE"
RELEASE_VERSION="$(version_number "$RELEASE_LATEST")"
# Compare V2Ray version numbers
if [[ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]]; then
@ -299,15 +299,15 @@ get_version() {
}
download_v2ray() {
mkdir "$TMP_DIRECTORY"
"mkdir" -p "$TMP_DIRECTORY"
DOWNLOAD_LINK="https://github.com/v2fly/v2ray-core/releases/download/$RELEASE_VERSION/v2ray-linux-$MACHINE.zip"
echo "Downloading V2Ray archive: $DOWNLOAD_LINK"
if ! curl ${PROXY} -L -H 'Cache-Control: no-cache' -o "$ZIP_FILE" "$DOWNLOAD_LINK"; then
if ! "curl" ${PROXY} -L -H 'Cache-Control: no-cache' -o "$ZIP_FILE" "$DOWNLOAD_LINK"; then
echo 'error: Download failed! Please check your network or try again.'
return 1
fi
echo "Downloading verification file for V2Ray archive: $DOWNLOAD_LINK.dgst"
if ! curl ${PROXY} -L -H 'Cache-Control: no-cache' -o "$ZIP_FILE.dgst" "$DOWNLOAD_LINK.dgst"; then
if ! "curl" ${PROXY} -L -H 'Cache-Control: no-cache' -o "$ZIP_FILE.dgst" "$DOWNLOAD_LINK.dgst"; then
echo 'error: Download failed! Please check your network or try again.'
return 1
fi
@ -330,7 +330,7 @@ download_v2ray() {
decompression() {
if ! unzip -q "$1" -d "$TMP_DIRECTORY"; then
echo 'error: V2Ray decompression failed.'
rm -r "$TMP_DIRECTORY"
"rm" -r "$TMP_DIRECTORY"
echo "removed: $TMP_DIRECTORY"
exit 1
fi
@ -340,9 +340,9 @@ decompression() {
install_file() {
NAME="$1"
if [[ "$NAME" == 'v2ray' ]] || [[ "$NAME" == 'v2ctl' ]]; then
install -m 755 "${TMP_DIRECTORY}$NAME" "/usr/local/bin/$NAME"
install -m 755 "${TMP_DIRECTORY}/$NAME" "/usr/local/bin/$NAME"
elif [[ "$NAME" == 'geoip.dat' ]] || [[ "$NAME" == 'geosite.dat' ]]; then
install -m 644 "${TMP_DIRECTORY}$NAME" "${DAT_PATH}$NAME"
install -m 644 "${TMP_DIRECTORY}/$NAME" "${DAT_PATH}$NAME"
fi
}
@ -380,10 +380,8 @@ install_v2ray() {
}
install_startup_service_file() {
if [[ ! -f '/etc/systemd/system/v2ray.service' ]]; then
mkdir "${TMP_DIRECTORY}systemd/system/"
install_software curl
cat > "${TMP_DIRECTORY}systemd/system/v2ray.service" <<-EOF
"mkdir" -p "${TMP_DIRECTORY}/systemd/system/"
cat > "${TMP_DIRECTORY}/systemd/system/v2ray.service" <<-EOF
[Unit]
Description=V2Ray Service
After=network.target nss-lookup.target
@ -400,7 +398,7 @@ Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
cat > "${TMP_DIRECTORY}systemd/system/v2ray@.service" <<-EOF
cat > "${TMP_DIRECTORY}/systemd/system/v2ray@.service" <<-EOF
[Unit]
Description=V2Ray Service
After=network.target nss-lookup.target
@ -417,10 +415,10 @@ Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
install -m 644 "${TMP_DIRECTORY}systemd/system/v2ray.service" /etc/systemd/system/v2ray.service
install -m 644 "${TMP_DIRECTORY}systemd/system/v2ray@.service" /etc/systemd/system/v2ray@.service
SYSTEMD='1'
fi
install -m 644 "${TMP_DIRECTORY}/systemd/system/v2ray.service" /etc/systemd/system/v2ray.service
install -m 644 "${TMP_DIRECTORY}/systemd/system/v2ray@.service" /etc/systemd/system/v2ray@.service
systemctl daemon-reload
SYSTEMD='1'
}
start_v2ray() {
@ -473,11 +471,11 @@ remove_v2ray() {
stop_v2ray
fi
NAME="$1"
rm /usr/local/bin/v2ray
rm /usr/local/bin/v2ctl
rm -r "$DAT_PATH"
rm /etc/systemd/system/v2ray.service
rm /etc/systemd/system/v2ray@.service
"rm" /usr/local/bin/v2ray
"rm" /usr/local/bin/v2ctl
"rm" -r "$DAT_PATH"
"rm" /etc/systemd/system/v2ray.service
"rm" /etc/systemd/system/v2ray@.service
if [[ "$?" -ne '0' ]]; then
echo 'error: Failed to remove V2Ray.'
exit 1
@ -525,8 +523,8 @@ main() {
[[ "$REMOVE" -eq '1' ]] && remove_v2ray
# Two very important variables
TMP_DIRECTORY="$(mktemp -du)/"
ZIP_FILE="${TMP_DIRECTORY}v2ray-linux-$MACHINE.zip"
TMP_DIRECTORY="$(mktemp -du)"
ZIP_FILE="${TMP_DIRECTORY}/v2ray-linux-$MACHINE.zip"
# Install V2Ray from a local file, but still need to make sure the network is available
if [[ "$LOCAL_INSTALL" -eq '1' ]]; then
@ -534,7 +532,7 @@ main() {
echo -n 'warn: Please make sure the file is valid because we cannot confirm it. (Press any key) ...'
read
install_software unzip
mkdir "$TMP_DIRECTORY"
"mkdir" -p "$TMP_DIRECTORY"
decompression "$LOCAL_FILE"
else
# Normal way
@ -544,7 +542,7 @@ main() {
echo "info: Installing V2Ray $RELEASE_VERSION for $(uname -m)"
download_v2ray
if [[ "$?" -eq '1' ]]; then
rm -r "$TMP_DIRECTORY"
"rm" -r "$TMP_DIRECTORY"
echo "removed: $TMP_DIRECTORY"
exit 0
fi
@ -596,7 +594,7 @@ main() {
echo 'installed: /etc/systemd/system/v2ray.service'
echo 'installed: /etc/systemd/system/v2ray@.service'
fi
rm -r "$TMP_DIRECTORY"
"rm" -r "$TMP_DIRECTORY"
echo "removed: $TMP_DIRECTORY"
if [[ "$LOCAL_INSTALL" -eq '1' ]]; then
get_version