diff options
Diffstat (limited to 'web/controller/server.go')
| -rw-r--r-- | web/controller/server.go | 25 |
1 files changed, 25 insertions, 0 deletions
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) +} |
