|
@@ -136,6 +136,15 @@ func showSetting(show bool) {
|
|
fmt.Println("get webBasePath failed, error info:", err)
|
|
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{}
|
|
userService := service.UserService{}
|
|
userModel, err := userService.GetFirstUser()
|
|
userModel, err := userService.GetFirstUser()
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -149,14 +158,15 @@ func showSetting(show bool) {
|
|
}
|
|
}
|
|
|
|
|
|
fmt.Println("current panel settings as follows:")
|
|
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("username:", username)
|
|
fmt.Println("password:", userpasswd)
|
|
fmt.Println("password:", userpasswd)
|
|
fmt.Println("port:", port)
|
|
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() {
|
|
func migrateDb() {
|
|
inboundService := service.InboundService{}
|
|
inboundService := service.InboundService{}
|
|
|
|
|
|
@@ -349,6 +390,7 @@ func main() {
|
|
var password string
|
|
var password string
|
|
var webBasePath string
|
|
var webBasePath string
|
|
var listenIP string
|
|
var listenIP string
|
|
|
|
+ var getListen bool
|
|
var webCertFile string
|
|
var webCertFile string
|
|
var webKeyFile string
|
|
var webKeyFile string
|
|
var tgbottoken string
|
|
var tgbottoken string
|
|
@@ -357,6 +399,7 @@ func main() {
|
|
var tgbotRuntime string
|
|
var tgbotRuntime string
|
|
var reset bool
|
|
var reset bool
|
|
var show bool
|
|
var show bool
|
|
|
|
+ var getCert bool
|
|
var remove_secret bool
|
|
var remove_secret bool
|
|
settingCmd.BoolVar(&reset, "reset", false, "Reset all settings")
|
|
settingCmd.BoolVar(&reset, "reset", false, "Reset all settings")
|
|
settingCmd.BoolVar(&show, "show", false, "Display current settings")
|
|
settingCmd.BoolVar(&show, "show", false, "Display current settings")
|
|
@@ -365,7 +408,9 @@ func main() {
|
|
settingCmd.StringVar(&username, "username", "", "Set login username")
|
|
settingCmd.StringVar(&username, "username", "", "Set login username")
|
|
settingCmd.StringVar(&password, "password", "", "Set login password")
|
|
settingCmd.StringVar(&password, "password", "", "Set login password")
|
|
settingCmd.StringVar(&webBasePath, "webBasePath", "", "Set base path for Panel")
|
|
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(&webCertFile, "webCert", "", "Set path to public key file for panel")
|
|
settingCmd.StringVar(&webKeyFile, "webCertKey", "", "Set path to private 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")
|
|
settingCmd.StringVar(&tgbottoken, "tgbottoken", "", "Set token for Telegram bot")
|
|
@@ -413,6 +458,12 @@ func main() {
|
|
if show {
|
|
if show {
|
|
showSetting(show)
|
|
showSetting(show)
|
|
}
|
|
}
|
|
|
|
+ if getListen {
|
|
|
|
+ GetListenIP(getListen)
|
|
|
|
+ }
|
|
|
|
+ if getCert {
|
|
|
|
+ GetCertificate(getCert)
|
|
|
|
+ }
|
|
if (tgbottoken != "") || (tgbotchatid != "") || (tgbotRuntime != "") {
|
|
if (tgbottoken != "") || (tgbotchatid != "") || (tgbotRuntime != "") {
|
|
updateTgbotSetting(tgbottoken, tgbotchatid, tgbotRuntime)
|
|
updateTgbotSetting(tgbottoken, tgbotchatid, tgbotRuntime)
|
|
}
|
|
}
|
|
@@ -433,7 +484,6 @@ func main() {
|
|
} else {
|
|
} else {
|
|
updateCert(webCertFile, webKeyFile)
|
|
updateCert(webCertFile, webKeyFile)
|
|
}
|
|
}
|
|
-
|
|
|
|
default:
|
|
default:
|
|
fmt.Println("Invalid subcommands")
|
|
fmt.Println("Invalid subcommands")
|
|
fmt.Println()
|
|
fmt.Println()
|