From c158e6ec736a64fb86ef2404e86dc79295133753 Mon Sep 17 00:00:00 2001 From: mhsanaei Date: Wed, 30 Oct 2024 20:26:37 +0100 Subject: [PATCH 1/2] getListen & getCert --- main.go | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 75ab197b..84ffca6e 100644 --- a/main.go +++ b/main.go @@ -136,6 +136,15 @@ func showSetting(show bool) { fmt.Println("get webBasePath failed, error info:", err) } + certFile, err := settingService.GetCertFile() + if err != nil { + fmt.Println("get cert file failed, error info:", err) + } + keyFile, err := settingService.GetKeyFile() + if err != nil { + fmt.Println("get key file failed, error info:", err) + } + userService := service.UserService{} userModel, err := userService.GetFirstUser() if err != nil { @@ -149,14 +158,15 @@ func showSetting(show bool) { } fmt.Println("current panel settings as follows:") + if certFile == "" || keyFile == "" { + fmt.Println("Warning: Panel is not secure with SSL") + } else { + fmt.Println("Panel is secure with SSL") + } fmt.Println("username:", username) fmt.Println("password:", userpasswd) fmt.Println("port:", port) - if webBasePath != "" { - fmt.Println("webBasePath:", webBasePath) - } else { - fmt.Println("webBasePath is not set") - } + fmt.Println("webBasePath:", webBasePath) } } @@ -290,6 +300,37 @@ func updateCert(publicKey string, privateKey string) { } } +func GetCertificate(getCert bool) { + if getCert { + settingService := service.SettingService{} + certFile, err := settingService.GetCertFile() + if err != nil { + fmt.Println("get cert file failed, error info:", err) + } + keyFile, err := settingService.GetKeyFile() + if err != nil { + fmt.Println("get key file failed, error info:", err) + } + + fmt.Println("cert:", certFile) + fmt.Println("key:", keyFile) + } +} + +func GetListenIP(getListen bool) { + if getListen { + + settingService := service.SettingService{} + ListenIP, err := settingService.GetListen() + if err != nil { + log.Printf("Failed to retrieve listen IP: %v", err) + return + } + + fmt.Println("listenIP:", ListenIP) + } +} + func migrateDb() { inboundService := service.InboundService{} @@ -349,6 +390,7 @@ func main() { var password string var webBasePath string var listenIP string + var getListen bool var webCertFile string var webKeyFile string var tgbottoken string @@ -357,6 +399,7 @@ func main() { var tgbotRuntime string var reset bool var show bool + var getCert bool var remove_secret bool settingCmd.BoolVar(&reset, "reset", false, "Reset all settings") settingCmd.BoolVar(&show, "show", false, "Display current settings") @@ -365,7 +408,9 @@ func main() { settingCmd.StringVar(&username, "username", "", "Set login username") settingCmd.StringVar(&password, "password", "", "Set login password") settingCmd.StringVar(&webBasePath, "webBasePath", "", "Set base path for Panel") - settingCmd.StringVar(&listenIP, "listen", "", "set panel listen IP") + settingCmd.StringVar(&listenIP, "listenIP", "", "set panel listenIP IP") + settingCmd.BoolVar(&getListen, "getListen", false, "Display current panel listenIP IP") + settingCmd.BoolVar(&getCert, "getCert", false, "Display current certificate settings") settingCmd.StringVar(&webCertFile, "webCert", "", "Set path to public key file for panel") settingCmd.StringVar(&webKeyFile, "webCertKey", "", "Set path to private key file for panel") settingCmd.StringVar(&tgbottoken, "tgbottoken", "", "Set token for Telegram bot") @@ -413,6 +458,12 @@ func main() { if show { showSetting(show) } + if getListen { + GetListenIP(getListen) + } + if getCert { + GetCertificate(getCert) + } if (tgbottoken != "") || (tgbotchatid != "") || (tgbotRuntime != "") { updateTgbotSetting(tgbottoken, tgbotchatid, tgbotRuntime) } @@ -433,7 +484,6 @@ func main() { } else { updateCert(webCertFile, webKeyFile) } - default: fmt.Println("Invalid subcommands") fmt.Println() From eb58314c53c8ffe644fb1be3a3ea33b375d780af Mon Sep 17 00:00:00 2001 From: mhsanaei Date: Thu, 31 Oct 2024 01:18:37 +0100 Subject: [PATCH 2/2] bash - remove version limit --- README.md | 2 +- install.sh | 2 +- x-ui.sh | 21 ++++++--------------- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 35e29b0b..e60d5a95 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) ``` -## Install Old Version (we don't recommend) +## Install legacy Version (we don't recommend) To install your desired version, use following installation command. e.g., ver `v1.7.9`: diff --git a/install.sh b/install.sh index 7900d98c..c6c52000 100644 --- a/install.sh +++ b/install.sh @@ -274,7 +274,7 @@ install_x-ui() { echo -e "x-ui log - Check logs" echo -e "x-ui banlog - Check Fail2ban ban logs" echo -e "x-ui update - Update" - echo -e "x-ui custom - custom version" + echo -e "x-ui legacy - legacy version" echo -e "x-ui install - Install" echo -e "x-ui uninstall - Uninstall" echo -e "----------------------------------------------" diff --git a/x-ui.sh b/x-ui.sh index 7d669d5f..84bd9cc3 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -192,7 +192,7 @@ update_menu() { fi } -custom_version() { +legacy_version() { echo "Enter the panel version (like 2.4.0):" read tag_version @@ -200,17 +200,8 @@ custom_version() { echo "Panel version cannot be empty. Exiting." exit 1 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" - # Use the entered panel version in the download link - install_command="bash <(curl -Ls $download_link) v$tag_version" + install_command="bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/v$tag_version/install.sh") v$tag_version" echo "Downloading and installing panel version $tag_version..." eval $install_command @@ -1476,7 +1467,7 @@ show_menu() { ${green}1.${plain} Install ${green}2.${plain} Update ${green}3.${plain} Update Menu - ${green}4.${plain} Old Version + ${green}4.${plain} Legacy Version ${green}5.${plain} Uninstall ———————————————— ${green}6.${plain} Reset Username & Password & Secret Token @@ -1520,7 +1511,7 @@ show_menu() { check_install && update_menu ;; 4) - check_install && custom_version + check_install && legacy_version ;; 5) check_install && uninstall @@ -1620,8 +1611,8 @@ if [[ $# > 0 ]]; then "update") check_install 0 && update 0 ;; - "custom") - check_install 0 && custom_version 0 + "legacy") + check_install 0 && legacy_version 0 ;; "install") check_uninstall 0 && install 0