jonssonyan 2 роки тому
батько
коміт
245e1d2091
2 змінених файлів з 48 додано та 25 видалено
  1. 46 23
      install_script.sh
  2. 2 2
      install_script_standalone.sh

+ 46 - 23
install_script.sh

@@ -3,7 +3,7 @@ PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
 export PATH
 
 # System Required: CentOS 7+/Ubuntu 18+/Debian 10+
-# Version: v2.1.4
+# Version: v2.1.5
 # Description: One click Install Trojan Panel server
 # Author: jonssonyan <https://jonssonyan.com>
 # Github: https://github.com/trojanpanel/install-script
@@ -73,7 +73,7 @@ init_var() {
   TROJAN_PANEL_EXPORT="${TROJAN_PANEL_DATA}config/export/"
   TROJAN_PANEL_TEMPLATE="${TROJAN_PANEL_DATA}config/template/"
 
-  # Trojan Panel UI
+  # Trojan Panel前端
   TROJAN_PANEL_UI_DATA="/tpdata/trojan-panel-ui/"
   # Nginx
   UI_NGINX_DATA="${TROJAN_PANEL_UI_DATA}nginx/"
@@ -90,6 +90,8 @@ init_var() {
   grpc_port=8100
 
   # Update
+  trojan_panel_ui_current_version=""
+  trojan_panel_ui_latest_version="v2.1.4"
   trojan_panel_current_version=""
   trojan_panel_latest_version="v2.1.3"
   trojan_panel_core_current_version=""
@@ -160,7 +162,7 @@ mkdir_tools() {
   mkdir -p ${TROJAN_PANEL_DATA}
   mkdir -p ${TROJAN_PANEL_LOGS}
 
-  # Trojan Panel UI
+  # Trojan Panel前端
   mkdir -p ${TROJAN_PANEL_UI_DATA}
   # # Nginx
   mkdir -p ${UI_NGINX_DATA}
@@ -1233,11 +1235,48 @@ update__trojan_panel_core_database() {
   echo_content skyBlue "---> Trojan Panel Core数据结构更新完成"
 }
 
-# 更新Trojan Panel
+# 更新Trojan Panel前端
+update_trojan_panel_ui() {
+  # 判断Trojan Panel前端是否安装
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-ui$") ]]; then
+    echo_content red "---> 请先安装Trojan Panel前端"
+    exit 0
+  fi
+
+  trojan_panel_ui_current_version=$(docker exec cat ${TROJAN_PANEL_UI_DATA}/version)
+  if [[ -z "${trojan_panel_ui_current_version}" || ! "${trojan_panel_ui_current_version}" =~ ^v.* ]]; then
+    echo_content red "---> 当前版本不支持自动化更新"
+    exit 0
+  fi
+
+  echo_content yellow "提示:Trojan Panel前端(trojan-panel-ui)当前版本为 ${trojan_panel_ui_current_version} 最新版本为 ${trojan_panel_ui_latest_version}"
+
+  if [[ "${trojan_panel_ui_current_version}" != "${trojan_panel_ui_latest_version}" ]]; then
+    echo_content green "---> 更新Trojan Panel前端"
+
+    docker rm -f trojan-panel-ui &&
+      docker rmi -f jonssonyan/trojan-panel-ui
+
+    docker pull jonssonyan/trojan-panel-ui &&
+      docker run -d --name trojan-panel-ui --restart always \
+        --network=host \
+        -v "${UI_NGINX_CONFIG}":"/etc/nginx/conf.d/default.conf" \
+        -v ${CERT_PATH}:${CERT_PATH} \
+        jonssonyan/trojan-panel-ui
+
+    if [[ -n $(docker ps -q -f "name=^trojan-panel-ui$" -f "status=running") ]]; then
+      echo_content skyBlue "---> Trojan Panel前端更新完成"
+    else
+      echo_content red "---> Trojan Panel前端更新失败或运行异常,请尝试修复或卸载重装"
+    fi
+  fi
+}
+
+# 更新Trojan Panel后端
 update_trojan_panel() {
-  # 判断Trojan Panel是否安装
+  # 判断Trojan Panel后端是否安装
   if [[ -z $(docker ps -a -q -f "name=^trojan-panel$") ]]; then
-    echo_content red "---> 请先安装Trojan Panel"
+    echo_content red "---> 请先安装Trojan Panel后端"
     exit 0
   fi
 
@@ -1308,22 +1347,6 @@ update_trojan_panel() {
     else
       echo_content red "---> Trojan Panel后端更新失败或运行异常,请尝试修复或卸载重装"
     fi
-
-    docker rm -f trojan-panel-ui &&
-      docker rmi -f jonssonyan/trojan-panel-ui
-
-    docker pull jonssonyan/trojan-panel-ui &&
-      docker run -d --name trojan-panel-ui --restart always \
-        --network=host \
-        -v "${UI_NGINX_CONFIG}":"/etc/nginx/conf.d/default.conf" \
-        -v ${CERT_PATH}:${CERT_PATH} \
-        jonssonyan/trojan-panel-ui
-
-    if [[ -n $(docker ps -q -f "name=^trojan-panel-ui$" -f "status=running") ]]; then
-      echo_content skyBlue "---> Trojan Panel前端更新完成"
-    else
-      echo_content red "---> Trojan Panel前端更新失败或运行异常,请尝试修复或卸载重装"
-    fi
   else
     echo_content skyBlue "---> 你安装的Trojan Panel已经是最新版"
   fi
@@ -1699,7 +1722,7 @@ main() {
   clear
   echo_content red "\n=============================================================="
   echo_content skyBlue "System Required: CentOS 7+/Ubuntu 18+/Debian 10+"
-  echo_content skyBlue "Version: v2.1.4"
+  echo_content skyBlue "Version: v2.1.5"
   echo_content skyBlue "Description: One click Install Trojan Panel server"
   echo_content skyBlue "Author: jonssonyan <https://jonssonyan.com>"
   echo_content skyBlue "Github: https://github.com/trojanpanel"

+ 2 - 2
install_script_standalone.sh

@@ -3,7 +3,7 @@ PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
 export PATH
 
 # System Required: CentOS 7+/Ubuntu 18+/Debian 10+
-# Version: v2.1.4
+# Version: v2.1.5
 # Description: One click Install Trojan Panel standalone server
 # Author: jonssonyan <https://jonssonyan.com>
 # Github: https://github.com/trojanpanel/install-script
@@ -1215,7 +1215,7 @@ main() {
   clear
   echo_content red "\n=============================================================="
   echo_content skyBlue "System Required: CentOS 7+/Ubuntu 18+/Debian 10+"
-  echo_content skyBlue "Version: v2.1.4"
+  echo_content skyBlue "Version: v2.1.5"
   echo_content skyBlue "Description: One click Install Trojan Panel standalone server"
   echo_content skyBlue "Author: jonssonyan <https://jonssonyan.com>"
   echo_content skyBlue "Github: https://github.com/trojanpanel"