3x-ui/web/service/xray_setting.go

32 lines
844 B
Go
Raw Normal View History

2023-12-04 18:20:46 +00:00
package service
import (
_ "embed"
"encoding/json"
2025-09-19 08:05:43 +00:00
"github.com/mhsanaei/3x-ui/v2/util/common"
"github.com/mhsanaei/3x-ui/v2/xray"
2023-12-04 18:20:46 +00:00
)
2025-09-20 07:35:50 +00:00
// XraySettingService provides business logic for Xray configuration management.
// It handles validation and storage of Xray template configurations.
2023-12-04 18:20:46 +00:00
type XraySettingService struct {
SettingService
}
func (s *XraySettingService) SaveXraySetting(newXraySettings string) error {
if err := s.CheckXrayConfig(newXraySettings); err != nil {
return err
}
return s.SettingService.saveSetting("xrayTemplateConfig", newXraySettings)
}
func (s *XraySettingService) CheckXrayConfig(XrayTemplateConfig string) error {
xrayConfig := &xray.Config{}
err := json.Unmarshal([]byte(XrayTemplateConfig), xrayConfig)
if err != nil {
return common.NewError("xray template config invalid:", err)
}
return nil
}