From 4cb67fd1c3129b83f3750f863caba081453f42b1 Mon Sep 17 00:00:00 2001 From: Alireza Ahmadi Date: Sun, 10 Dec 2023 12:57:39 +0100 Subject: [PATCH] [xray] show xray errors #1300 --- .../{xraySetting.go => xray_setting.go} | 6 ++++++ web/html/xui/xray.html | 21 ++++++++++++++++++- .../{xraySettings.go => xray_setting.go} | 0 3 files changed, 26 insertions(+), 1 deletion(-) rename web/controller/{xraySetting.go => xray_setting.go} (89%) rename web/service/{xraySettings.go => xray_setting.go} (100%) diff --git a/web/controller/xraySetting.go b/web/controller/xray_setting.go similarity index 89% rename from web/controller/xraySetting.go rename to web/controller/xray_setting.go index a4c8b600..d4deacd9 100644 --- a/web/controller/xraySetting.go +++ b/web/controller/xray_setting.go @@ -10,6 +10,7 @@ type XraySettingController struct { XraySettingService service.XraySettingService SettingService service.SettingService InboundService service.InboundService + XrayService service.XrayService } func NewXraySettingController(g *gin.RouterGroup) *XraySettingController { @@ -23,6 +24,7 @@ func (a *XraySettingController) initRouter(g *gin.RouterGroup) { g.POST("/", a.getXraySetting) g.POST("/update", a.updateSetting) + g.GET("/getXrayResult", a.getXrayResult) g.GET("/getDefaultJsonConfig", a.getDefaultXrayConfig) } @@ -55,3 +57,7 @@ func (a *XraySettingController) getDefaultXrayConfig(c *gin.Context) { } jsonObj(c, defaultJsonConfig, nil) } + +func (a *XraySettingController) getXrayResult(c *gin.Context) { + jsonObj(c, a.XrayService.GetXrayResult(), nil) +} diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html index cdf5fd01..99b1878d 100644 --- a/web/html/xui/xray.html +++ b/web/html/xui/xray.html @@ -65,6 +65,14 @@ {{ i18n "pages.xray.save" }} {{ i18n "pages.xray.restart" }} + + Error in running xray-core + + + @@ -462,6 +470,7 @@ xraySetting: '', inboundTags: [], saveBtnDisable: true, + restartResult: '', isMobile: window.innerWidth <= 768, advSettings: 'xraySetting', cm: null, @@ -586,8 +595,17 @@ const msg = await HttpUtil.post("server/restartXrayService"); this.loading(false); if (msg.success) { - this.loading(true); + await PromiseUtil.sleep(500); + await this.getXrayResult(); } + this.loading(false); + }, + async getXrayResult() { + const msg = await HttpUtil.get("/panel/xray/getXrayResult"); + if(msg.success){ + this.restartResult=msg.obj; + if(msg.obj.length > 1) Vue.prototype.$message.error(msg.obj); + } }, async fetchUserSecret() { this.loading(true); @@ -896,6 +914,7 @@ }, async mounted() { await this.getXraySetting(); + await this.getXrayResult(); while (true) { await PromiseUtil.sleep(600); this.saveBtnDisable = this.oldXraySetting === this.xraySetting; diff --git a/web/service/xraySettings.go b/web/service/xray_setting.go similarity index 100% rename from web/service/xraySettings.go rename to web/service/xray_setting.go