Merge pull request #81 from IceCodeNew/develop
commit
dd07d27f89
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue