commit
9089b11d8c
|
@ -104,22 +104,27 @@ identify_the_operating_system_and_architecture() {
|
||||||
PACKAGE_MANAGEMENT_INSTALL='apt -y --no-install-recommends install'
|
PACKAGE_MANAGEMENT_INSTALL='apt -y --no-install-recommends install'
|
||||||
PACKAGE_MANAGEMENT_REMOVE='apt purge'
|
PACKAGE_MANAGEMENT_REMOVE='apt purge'
|
||||||
package_provide_tput='ncurses-bin'
|
package_provide_tput='ncurses-bin'
|
||||||
|
package_provide_bsdtar='libarchive-tools'
|
||||||
elif [[ "$(type -P dnf)" ]]; then
|
elif [[ "$(type -P dnf)" ]]; then
|
||||||
PACKAGE_MANAGEMENT_INSTALL='dnf -y install'
|
PACKAGE_MANAGEMENT_INSTALL='dnf -y install'
|
||||||
PACKAGE_MANAGEMENT_REMOVE='dnf remove'
|
PACKAGE_MANAGEMENT_REMOVE='dnf remove'
|
||||||
package_provide_tput='ncurses'
|
package_provide_tput='ncurses'
|
||||||
|
package_provide_bsdtar='bsdtar'
|
||||||
elif [[ "$(type -P yum)" ]]; then
|
elif [[ "$(type -P yum)" ]]; then
|
||||||
PACKAGE_MANAGEMENT_INSTALL='yum -y install'
|
PACKAGE_MANAGEMENT_INSTALL='yum -y install'
|
||||||
PACKAGE_MANAGEMENT_REMOVE='yum remove'
|
PACKAGE_MANAGEMENT_REMOVE='yum remove'
|
||||||
package_provide_tput='ncurses'
|
package_provide_tput='ncurses'
|
||||||
|
package_provide_bsdtar='bsdtar'
|
||||||
elif [[ "$(type -P zypper)" ]]; then
|
elif [[ "$(type -P zypper)" ]]; then
|
||||||
PACKAGE_MANAGEMENT_INSTALL='zypper install -y --no-recommends'
|
PACKAGE_MANAGEMENT_INSTALL='zypper install -y --no-recommends'
|
||||||
PACKAGE_MANAGEMENT_REMOVE='zypper remove'
|
PACKAGE_MANAGEMENT_REMOVE='zypper remove'
|
||||||
package_provide_tput='ncurses-utils'
|
package_provide_tput='ncurses-utils'
|
||||||
|
package_provide_bsdtar='bsdtar'
|
||||||
elif [[ "$(type -P pacman)" ]]; then
|
elif [[ "$(type -P pacman)" ]]; then
|
||||||
PACKAGE_MANAGEMENT_INSTALL='pacman -Syu --noconfirm'
|
PACKAGE_MANAGEMENT_INSTALL='pacman -Syu --noconfirm'
|
||||||
PACKAGE_MANAGEMENT_REMOVE='pacman -Rsn'
|
PACKAGE_MANAGEMENT_REMOVE='pacman -Rsn'
|
||||||
package_provide_tput='ncurses'
|
package_provide_tput='ncurses'
|
||||||
|
package_provide_bsdtar='libarchive'
|
||||||
else
|
else
|
||||||
echo "error: The script does not support the package manager in this operating system."
|
echo "error: The script does not support the package manager in this operating system."
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -291,7 +296,7 @@ download_v2ray() {
|
||||||
}
|
}
|
||||||
|
|
||||||
decompression() {
|
decompression() {
|
||||||
if ! unzip -q "$1" -d "$TMP_DIRECTORY"; then
|
if ! bsdtar -C "$TMP_DIRECTORY" -xf "$1"; then
|
||||||
echo 'error: V2Ray decompression failed.'
|
echo 'error: V2Ray decompression failed.'
|
||||||
"rm" -r "$TMP_DIRECTORY"
|
"rm" -r "$TMP_DIRECTORY"
|
||||||
echo "removed: $TMP_DIRECTORY"
|
echo "removed: $TMP_DIRECTORY"
|
||||||
|
@ -511,7 +516,7 @@ main() {
|
||||||
echo 'warn: Install V2Ray from a local file, but still need to make sure the network is available.'
|
echo 'warn: Install V2Ray from a local file, but still need to make sure the network is available.'
|
||||||
echo -n 'warn: Please make sure the file is valid because we cannot confirm it. (Press any key) ...'
|
echo -n 'warn: Please make sure the file is valid because we cannot confirm it. (Press any key) ...'
|
||||||
read
|
read
|
||||||
install_software 'unzip' 'unzip'
|
install_software "$package_provide_bsdtar" 'bsdtar'
|
||||||
decompression "$LOCAL_FILE"
|
decompression "$LOCAL_FILE"
|
||||||
else
|
else
|
||||||
# Normal way
|
# Normal way
|
||||||
|
@ -526,7 +531,7 @@ main() {
|
||||||
echo "removed: $TMP_DIRECTORY"
|
echo "removed: $TMP_DIRECTORY"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
install_software 'unzip' 'unzip'
|
install_software "$package_provide_bsdtar" 'bsdtar'
|
||||||
decompression "$ZIP_FILE"
|
decompression "$ZIP_FILE"
|
||||||
elif [[ "$NUMBER" -eq '1' ]]; then
|
elif [[ "$NUMBER" -eq '1' ]]; then
|
||||||
echo "info: No new version. The current version of V2Ray is $CURRENT_VERSION ."
|
echo "info: No new version. The current version of V2Ray is $CURRENT_VERSION ."
|
||||||
|
|
Loading…
Reference in New Issue