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:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-05-22 17:36:34 +0300
committerMHSanaei <ho3ein.sanaei@gmail.com>2023-05-22 17:36:34 +0300
commit769590d77993d8c26bfb9d056cb94d870cf6c745 (patch)
treefb876b5b9d7eef99e814ebd9be94de8046334e3c /web/controller
parent1fa9101b405ad1ba0127317ea4f8a151048b97ee (diff)
[feature] separate subscription service
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Diffstat (limited to 'web/controller')
-rw-r--r--web/controller/setting.go45
-rw-r--r--web/controller/sub.go48
2 files changed, 45 insertions, 48 deletions
diff --git a/web/controller/setting.go b/web/controller/setting.go
index 226b7975..0292c46a 100644
--- a/web/controller/setting.go
+++ b/web/controller/setting.go
@@ -85,11 +85,56 @@ func (a *SettingController) getDefaultSettings(c *gin.Context) {
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
return
}
+ tgBotEnable, err := a.settingService.GetTgbotenabled()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ subEnable, err := a.settingService.GetSubEnable()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ subPort, err := a.settingService.GetSubPort()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ subPath, err := a.settingService.GetSubPath()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ subDomain, err := a.settingService.GetSubDomain()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ subKeyFile, err := a.settingService.GetSubKeyFile()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ subCertFile, err := a.settingService.GetSubCertFile()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ subTLS := false
+ if subKeyFile != "" || subCertFile != "" {
+ subTLS = true
+ }
result := map[string]interface{}{
"expireDiff": expireDiff,
"trafficDiff": trafficDiff,
"defaultCert": defaultCert,
"defaultKey": defaultKey,
+ "tgBotEnable": tgBotEnable,
+ "subEnable": subEnable,
+ "subPort": subPort,
+ "subPath": subPath,
+ "subDomain": subDomain,
+ "subTLS": subTLS,
}
jsonObj(c, result, nil)
}
diff --git a/web/controller/sub.go b/web/controller/sub.go
deleted file mode 100644
index 2b218c21..00000000
--- a/web/controller/sub.go
+++ /dev/null
@@ -1,48 +0,0 @@
-package controller
-
-import (
- "encoding/base64"
- "strings"
- "x-ui/web/service"
-
- "github.com/gin-gonic/gin"
-)
-
-type SUBController struct {
- BaseController
-
- subService service.SubService
-}
-
-func NewSUBController(g *gin.RouterGroup) *SUBController {
- a := &SUBController{}
- a.initRouter(g)
- return a
-}
-
-func (a *SUBController) initRouter(g *gin.RouterGroup) {
- g = g.Group("/sub")
-
- g.GET("/:subid", a.subs)
-}
-
-func (a *SUBController) subs(c *gin.Context) {
- subId := c.Param("subid")
- host := strings.Split(c.Request.Host, ":")[0]
- subs, headers, err := a.subService.GetSubs(subId, host)
- if err != nil || len(subs) == 0 {
- c.String(400, "Error!")
- } else {
- result := ""
- for _, sub := range subs {
- result += sub + "\n"
- }
-
- // Add headers
- c.Writer.Header().Set("Subscription-Userinfo", headers[0])
- c.Writer.Header().Set("Profile-Update-Interval", headers[1])
- c.Writer.Header().Set("Profile-Title", headers[2])
-
- c.String(200, base64.StdEncoding.EncodeToString([]byte(result)))
- }
-}