diff --git a/app.example.ini b/app.example.ini index d8cd1390..27406cc2 100644 --- a/app.example.ini +++ b/app.example.ini @@ -4,3 +4,4 @@ RunMode = debug JwtSecret = Email = HTTPChallengePort = 9180 +StartCmd = login diff --git a/nginx-ui b/nginx-ui index 14bd2365..4f208071 100755 Binary files a/nginx-ui and b/nginx-ui differ diff --git a/server/settings/settings.go b/server/settings/settings.go index 6170c211..4c6ec07b 100644 --- a/server/settings/settings.go +++ b/server/settings/settings.go @@ -23,6 +23,7 @@ type Server struct { HTTPChallengePort string Email string Database string + StartCmd string Demo bool } @@ -31,6 +32,7 @@ var ServerSettings = &Server{ RunMode: "debug", HTTPChallengePort: "9180", Database: "database", + StartCmd: "login", Demo: false, } diff --git a/server/tool/nginx/nginx.go b/server/tool/nginx/nginx.go index f0b027e4..88396432 100644 --- a/server/tool/nginx/nginx.go +++ b/server/tool/nginx/nginx.go @@ -32,8 +32,10 @@ func ReloadNginx() string { output := string(out) log.Println(output) - - return output + if strings.Contains(output, "failed") { + return output + } + return "" } func GetNginxConfPath(dir string) string { diff --git a/server/tool/pty/pipeline.go b/server/tool/pty/pipeline.go index 390eaa46..00fe439e 100644 --- a/server/tool/pty/pipeline.go +++ b/server/tool/pty/pipeline.go @@ -2,6 +2,7 @@ package pty import ( "encoding/json" + "github.com/0xJacky/Nginx-UI/server/settings" "github.com/creack/pty" "github.com/gorilla/websocket" "github.com/pkg/errors" @@ -24,7 +25,7 @@ type Message struct { const bufferSize = 2048 func NewPipeLine(conn *websocket.Conn) (p *Pipeline, err error) { - c := exec.Command("login") + c := exec.Command(settings.ServerSettings.StartCmd) ptmx, err := pty.StartWithSize(c, &pty.Winsize{Cols: 90, Rows: 60}) if err != nil {