diff --git a/web/controller/server.go b/web/controller/server.go index 43a1fadc..c5a3965b 100644 --- a/web/controller/server.go +++ b/web/controller/server.go @@ -39,6 +39,8 @@ func (a *ServerController) initRouter(g *gin.RouterGroup) { g.POST("/restartXrayService", a.restartXrayService) g.POST("/installXray/:version", a.installXray) g.POST("/logs/:count", a.getLogs) + g.POST("/getConfigJson", a.getConfigJson) + g.GET("/getDb", a.getDb) } func (a *ServerController) refreshStatus() { @@ -117,3 +119,26 @@ func (a *ServerController) getLogs(c *gin.Context) { } jsonObj(c, logs, nil) } + +func (a *ServerController) getConfigJson(c *gin.Context) { + configJson, err := a.serverService.GetConfigJson() + if err != nil { + jsonMsg(c, I18n(c, "getLogs"), err) + return + } + jsonObj(c, configJson, nil) +} + +func (a *ServerController) getDb(c *gin.Context) { + db, err := a.serverService.GetDb() + if err != nil { + jsonMsg(c, I18n(c, "getLogs"), err) + return + } + // Set the headers for the response + c.Header("Content-Type", "application/octet-stream") + c.Header("Content-Disposition", "attachment; filename=xui.db") + + // Write the file contents to the response + c.Writer.Write(db) +} diff --git a/web/html/xui/index.html b/web/html/xui/index.html index 10b01759..6b5bb341 100644 --- a/web/html/xui/index.html +++ b/web/html/xui/index.html @@ -76,24 +76,12 @@ - {{ i18n "pages.index.xrayStatus" }}: - [[ status.xray.state ]] - - - - - [[ status.xray.version ]] - {{ i18n "pages.index.stopXray" }} - {{ i18n "pages.index.restartXray" }} - {{ i18n "pages.index.xraySwitch" }} + x-ui: {{ .cur_ver }} + xray: [[ status.xray.version ]] - x-ui: {{ .cur_ver }} - Logs {{ i18n "pages.index.operationHours" }}: [[ formatSecond(status.uptime) ]] @@ -104,6 +92,29 @@ + + + {{ i18n "pages.index.xrayStatus" }}: + [[ status.xray.state ]] + + + + + {{ i18n "pages.index.stopXray" }} + {{ i18n "pages.index.restartXray" }} + {{ i18n "pages.index.xraySwitch" }} + + + + + {{ i18n "menu.link" }}: + Logs + Config + Backup + + {{ i18n "pages.index.systemLoad" }}: [[ status.loads[0] ]] | [[ status.loads[1] ]] | [[ status.loads[2] ]] @@ -221,6 +232,7 @@ {{template "js" .}} +{{template "textModal"}}