mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 21:42:24 +00:00
Add version check (min v2.3.5)
This commit is contained in:
parent
c3ce1da0d6
commit
decac2ef74
2 changed files with 29 additions and 15 deletions
28
install.sh
28
install.sh
|
@ -199,24 +199,32 @@ install_x-ui() {
|
||||||
cd /usr/local/
|
cd /usr/local/
|
||||||
|
|
||||||
if [ $# == 0 ]; then
|
if [ $# == 0 ]; then
|
||||||
last_version=$(curl -Ls "https://api.github.com/repos/MHSanaei/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
tag_version=$(curl -Ls "https://api.github.com/repos/MHSanaei/3x-ui/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
if [[ ! -n "$last_version" ]]; then
|
if [[ ! -n "$tag_version" ]]; then
|
||||||
echo -e "${red}Failed to fetch x-ui version, it maybe due to Github API restrictions, please try it later${plain}"
|
echo -e "${red}Failed to fetch x-ui version, it may be due to GitHub API restrictions, please try it later${plain}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo -e "Got x-ui latest version: ${last_version}, beginning the installation..."
|
echo -e "Got x-ui latest version: ${tag_version}, beginning the installation..."
|
||||||
wget -N --no-check-certificate -O /usr/local/x-ui-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${last_version}/x-ui-linux-$(arch).tar.gz
|
wget -N --no-check-certificate -O /usr/local/x-ui-linux-$(arch).tar.gz https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo -e "${red}Downloading x-ui failed, please be sure that your server can access Github ${plain}"
|
echo -e "${red}Downloading x-ui failed, please be sure that your server can access GitHub ${plain}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
last_version=$1
|
tag_version=$1
|
||||||
url="https://github.com/MHSanaei/3x-ui/releases/download/${last_version}/x-ui-linux-$(arch).tar.gz"
|
tag_version_numeric=${tag_version#v}
|
||||||
|
min_version="2.3.5"
|
||||||
|
|
||||||
|
if [[ "$(printf '%s\n' "$min_version" "$tag_version_numeric" | sort -V | head -n1)" != "$min_version" ]]; then
|
||||||
|
echo -e "${red}Please use a newer version (at least v2.3.5). Exiting installation.${plain}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
url="https://github.com/MHSanaei/3x-ui/releases/download/${tag_version}/x-ui-linux-$(arch).tar.gz"
|
||||||
echo -e "Beginning to install x-ui $1"
|
echo -e "Beginning to install x-ui $1"
|
||||||
wget -N --no-check-certificate -O /usr/local/x-ui-linux-$(arch).tar.gz ${url}
|
wget -N --no-check-certificate -O /usr/local/x-ui-linux-$(arch).tar.gz ${url}
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo -e "${red}Download x-ui $1 failed,please check the version exists ${plain}"
|
echo -e "${red}Download x-ui $1 failed, please check if the version exists ${plain}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -247,7 +255,7 @@ install_x-ui() {
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable x-ui
|
systemctl enable x-ui
|
||||||
systemctl start x-ui
|
systemctl start x-ui
|
||||||
echo -e "${green}x-ui ${last_version}${plain} installation finished, it is running now..."
|
echo -e "${green}x-ui ${tag_version}${plain} installation finished, it is running now..."
|
||||||
echo -e ""
|
echo -e ""
|
||||||
echo -e "x-ui control menu usages: "
|
echo -e "x-ui control menu usages: "
|
||||||
echo -e "----------------------------------------------"
|
echo -e "----------------------------------------------"
|
||||||
|
|
16
x-ui.sh
16
x-ui.sh
|
@ -186,20 +186,26 @@ update_menu() {
|
||||||
}
|
}
|
||||||
|
|
||||||
custom_version() {
|
custom_version() {
|
||||||
echo "Enter the panel version (like 2.0.0):"
|
echo "Enter the panel version (like 2.4.0):"
|
||||||
read panel_version
|
read tag_version
|
||||||
|
|
||||||
if [ -z "$panel_version" ]; then
|
if [ -z "$tag_version" ]; then
|
||||||
echo "Panel version cannot be empty. Exiting."
|
echo "Panel version cannot be empty. Exiting."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
min_version="2.3.5"
|
||||||
|
if [[ "$(printf '%s\n' "$tag_version" "$min_version" | sort -V | head -n1)" == "$tag_version" && "$tag_version" != "$min_version" ]]; then
|
||||||
|
echo "Please use a newer version (at least 2.3.5). Exiting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
download_link="https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh"
|
download_link="https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh"
|
||||||
|
|
||||||
# Use the entered panel version in the download link
|
# Use the entered panel version in the download link
|
||||||
install_command="bash <(curl -Ls $download_link) v$panel_version"
|
install_command="bash <(curl -Ls $download_link) v$tag_version"
|
||||||
|
|
||||||
echo "Downloading and installing panel version $panel_version..."
|
echo "Downloading and installing panel version $tag_version..."
|
||||||
eval $install_command
|
eval $install_command
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue