Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlireza Ahmadi <alireza7@gmail.com>2023-12-04 21:20:46 +0300
committerAlireza Ahmadi <alireza7@gmail.com>2023-12-04 21:20:46 +0300
commit2a8da2ba3cbfbf7ac46e5ba7ba071588f3f2d8b5 (patch)
treee1afd8fc1521abb72bc74256c4540ad1fcce8f51 /web/controller
parenta8b7063647c055988f3768a35af59ca391928b9b (diff)
separate xray page #1286
Diffstat (limited to 'web/controller')
-rw-r--r--web/controller/setting.go20
-rw-r--r--web/controller/xraySetting.go50
-rw-r--r--web/controller/xui.go11
3 files changed, 69 insertions, 12 deletions
diff --git a/web/controller/setting.go b/web/controller/setting.go
index 32eccefe..96223c28 100644
--- a/web/controller/setting.go
+++ b/web/controller/setting.go
@@ -41,7 +41,7 @@ func (a *SettingController) initRouter(g *gin.RouterGroup) {
g.POST("/update", a.updateSetting)
g.POST("/updateUser", a.updateUser)
g.POST("/restartPanel", a.restartPanel)
- g.GET("/getDefaultJsonConfig", a.getDefaultJsonConfig)
+ g.GET("/getDefaultJsonConfig", a.getDefaultXrayConfig)
g.POST("/updateUserSecret", a.updateSecret)
g.POST("/getUserSecret", a.getUserSecret)
}
@@ -55,15 +55,6 @@ func (a *SettingController) getAllSetting(c *gin.Context) {
jsonObj(c, allSetting, nil)
}
-func (a *SettingController) getDefaultJsonConfig(c *gin.Context) {
- defaultJsonConfig, err := a.settingService.GetDefaultJsonConfig()
- if err != nil {
- jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
- return
- }
- jsonObj(c, defaultJsonConfig, nil)
-}
-
func (a *SettingController) getDefaultSettings(c *gin.Context) {
type settingFunc func() (interface{}, error)
@@ -169,3 +160,12 @@ func (a *SettingController) getUserSecret(c *gin.Context) {
jsonObj(c, user, nil)
}
}
+
+func (a *SettingController) getDefaultXrayConfig(c *gin.Context) {
+ defaultJsonConfig, err := a.settingService.GetDefaultXrayConfig()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ jsonObj(c, defaultJsonConfig, nil)
+}
diff --git a/web/controller/xraySetting.go b/web/controller/xraySetting.go
new file mode 100644
index 00000000..d244d030
--- /dev/null
+++ b/web/controller/xraySetting.go
@@ -0,0 +1,50 @@
+package controller
+
+import (
+ "x-ui/web/service"
+
+ "github.com/gin-gonic/gin"
+)
+
+type XraySettingController struct {
+ XraySettingService service.XraySettingService
+ SettingService service.SettingService
+}
+
+func NewXraySettingController(g *gin.RouterGroup) *XraySettingController {
+ a := &XraySettingController{}
+ a.initRouter(g)
+ return a
+}
+
+func (a *XraySettingController) initRouter(g *gin.RouterGroup) {
+ g = g.Group("/xray")
+
+ g.POST("/", a.getXraySetting)
+ g.POST("/update", a.updateSetting)
+ g.GET("/getDefaultJsonConfig", a.getDefaultXrayConfig)
+}
+
+func (a *XraySettingController) getXraySetting(c *gin.Context) {
+ xraySetting, err := a.SettingService.GetXrayConfigTemplate()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ jsonObj(c, xraySetting, nil)
+}
+
+func (a *XraySettingController) updateSetting(c *gin.Context) {
+ xraySetting := c.PostForm("xraySetting")
+ err := a.XraySettingService.SaveXraySetting(xraySetting)
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifySettings"), err)
+}
+
+func (a *XraySettingController) getDefaultXrayConfig(c *gin.Context) {
+ defaultJsonConfig, err := a.SettingService.GetDefaultXrayConfig()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ jsonObj(c, defaultJsonConfig, nil)
+}
diff --git a/web/controller/xui.go b/web/controller/xui.go
index 700bd52c..5b4c0a18 100644
--- a/web/controller/xui.go
+++ b/web/controller/xui.go
@@ -7,8 +7,9 @@ import (
type XUIController struct {
BaseController
- inboundController *InboundController
- settingController *SettingController
+ inboundController *InboundController
+ settingController *SettingController
+ xraySettingController *XraySettingController
}
func NewXUIController(g *gin.RouterGroup) *XUIController {
@@ -24,9 +25,11 @@ func (a *XUIController) initRouter(g *gin.RouterGroup) {
g.GET("/", a.index)
g.GET("/inbounds", a.inbounds)
g.GET("/settings", a.settings)
+ g.GET("/xray", a.xraySettings)
a.inboundController = NewInboundController(g)
a.settingController = NewSettingController(g)
+ a.xraySettingController = NewXraySettingController(g)
}
func (a *XUIController) index(c *gin.Context) {
@@ -40,3 +43,7 @@ func (a *XUIController) inbounds(c *gin.Context) {
func (a *XUIController) settings(c *gin.Context) {
html(c, "settings.html", "pages.settings.title", nil)
}
+
+func (a *XUIController) xraySettings(c *gin.Context) {
+ html(c, "xray.html", "pages.xray.title", nil)
+}