diff --git a/install-release.sh b/install-release.sh index 288383c..afa3e52 100644 --- a/install-release.sh +++ b/install-release.sh @@ -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