Skip to content

Commit

Permalink
Add CLI to set panel cert (#2305)
Browse files Browse the repository at this point in the history
* Add webBasePath update feature to CLI

* Add certificate setting update to CLI

* Revert "Add certificate setting update to CLI"

This reverts commit 2a937d5.

* Add certificate setting update to CLI

(cherry picked from commit 2a937d5)
  • Loading branch information
MaisamV committed May 25, 2024
1 parent c422214 commit adcfccb
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
43 changes: 43 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,33 @@ func updateSetting(port int, username string, password string, webBasePath strin
}
}

func updateCert(publicKey string, privateKey string) {
err := database.InitDB(config.GetDBPath())
if err != nil {
fmt.Println(err)
return
}

if (privateKey != "" && publicKey != "") || (privateKey == "" && publicKey == "") {
settingService := service.SettingService{}
err = settingService.SetCertFile(publicKey)
if err != nil {
fmt.Println("set certificate public key failed:", err)
} else {
fmt.Println("set certificate public key success")
}

err = settingService.SetKeyFile(privateKey)
if err != nil {
fmt.Println("set certificate private key failed:", err)
} else {
fmt.Println("set certificate private key success")
}
} else {
fmt.Println("both public and private key should be entered.")
}
}

func migrateDb() {
inboundService := service.InboundService{}

Expand Down Expand Up @@ -312,6 +339,8 @@ func main() {
var username string
var password string
var webBasePath string
var webCertFile string
var webKeyFile string
var tgbottoken string
var tgbotchatid string
var enabletgbot bool
Expand All @@ -326,6 +355,8 @@ func main() {
settingCmd.StringVar(&username, "username", "", "set login username")
settingCmd.StringVar(&password, "password", "", "set login password")
settingCmd.StringVar(&webBasePath, "webBasePath", "", "set web base path")
settingCmd.StringVar(&webCertFile, "webCert", "", "set web public key path")
settingCmd.StringVar(&webKeyFile, "webCertKey", "", "set web private key path")
settingCmd.StringVar(&tgbottoken, "tgbottoken", "", "set telegram bot token")
settingCmd.StringVar(&tgbotRuntime, "tgbotRuntime", "", "set telegram bot cron time")
settingCmd.StringVar(&tgbotchatid, "tgbotchatid", "", "set telegram bot chat id")
Expand Down Expand Up @@ -380,6 +411,18 @@ func main() {
if enabletgbot {
updateTgbotEnableSts(enabletgbot)
}
case "cert":
err := settingCmd.Parse(os.Args[2:])
if err != nil {
fmt.Println(err)
return
}
if reset {
updateCert("", "")
} else {
updateCert(webCertFile, webKeyFile)
}

default:
fmt.Println("Invalid subcommands")
fmt.Println()
Expand Down
8 changes: 8 additions & 0 deletions web/service/setting.go
Original file line number Diff line number Diff line change
Expand Up @@ -309,10 +309,18 @@ func (s *SettingService) SetPort(port int) error {
return s.setInt("webPort", port)
}

func (s *SettingService) SetCertFile(webCertFile string) error {
return s.setString("webCertFile", webCertFile)
}

func (s *SettingService) GetCertFile() (string, error) {
return s.getString("webCertFile")
}

func (s *SettingService) SetKeyFile(webKeyFile string) error {
return s.setString("webKeyFile", webKeyFile)
}

func (s *SettingService) GetKeyFile() (string, error) {
return s.getString("webKeyFile")
}
Expand Down

0 comments on commit adcfccb

Please sign in to comment.