This commit is contained in:
MHSanaei 2026-06-04 21:55:23 +02:00
parent 30ba1f416b
commit 354d142860
No known key found for this signature in database
GPG key ID: 7E4060F2FBE5AB7A
4 changed files with 6 additions and 14 deletions

View file

@ -55,7 +55,7 @@ export class AllSetting {
subURI = ''; subURI = '';
subJsonURI = ''; subJsonURI = '';
subClashURI = ''; subClashURI = '';
subClashEnableRouting = true; subClashEnableRouting = false;
subClashRules = ''; subClashRules = '';
subJsonFragment = ''; subJsonFragment = '';
subJsonNoises = ''; subJsonNoises = '';

View file

@ -142,7 +142,7 @@ func (s *Server) initRouter() (*gin.Engine, error) {
SubClashEnableRouting, err := s.settingService.GetSubClashEnableRouting() SubClashEnableRouting, err := s.settingService.GetSubClashEnableRouting()
if err != nil { if err != nil {
SubClashEnableRouting = true SubClashEnableRouting = false
} }
SubClashRules, err := s.settingService.GetSubClashRules() SubClashRules, err := s.settingService.GetSubClashRules()
@ -150,7 +150,6 @@ func (s *Server) initRouter() (*gin.Engine, error) {
SubClashRules = "" SubClashRules = ""
} }
SubTitle, err := s.settingService.GetSubTitle() SubTitle, err := s.settingService.GetSubTitle()
if err != nil { if err != nil {
SubTitle = "" SubTitle = ""

View file

@ -557,7 +557,6 @@ func cloneMap(src map[string]any) map[string]any {
return dst return dst
} }
func mergeClashRulesYAML(base map[string]any, raw string) error { func mergeClashRulesYAML(base map[string]any, raw string) error {
raw = strings.TrimSpace(raw) raw = strings.TrimSpace(raw)
if raw == "" { if raw == "" {
@ -573,20 +572,14 @@ func mergeClashRulesYAML(base map[string]any, raw string) error {
switch typed := custom.(type) { switch typed := custom.(type) {
case []any: case []any:
mergeClashRules(base, typed) mergeClashRules(base, typed)
case []string:
rules := make([]any, 0, len(typed))
for _, rule := range typed {
rules = append(rules, rule)
}
mergeClashRules(base, rules)
case map[string]any: case map[string]any:
if rules, ok := typed["rules"]; ok { if rules, ok := typed["rules"]; ok {
if ruleList, ok := asAnySlice(rules); ok { if ruleList, ok := asAnySlice(rules); ok {
mergeClashRules(base, ruleList) mergeClashRules(base, ruleList)
} }
} }
case string: default:
mergeClashRules(base, linesToClashRules(typed)) mergeClashRules(base, linesToClashRules(raw))
} }
return nil return nil

View file

@ -79,7 +79,7 @@ var defaultValueMap = map[string]string{
"subClashEnable": "false", "subClashEnable": "false",
"subClashPath": "/clash/", "subClashPath": "/clash/",
"subClashURI": "", "subClashURI": "",
"subClashEnableRouting": "true", "subClashEnableRouting": "false",
"subClashRules": "", "subClashRules": "",
"subJsonFragment": "", "subJsonFragment": "",
"subJsonNoises": "", "subJsonNoises": "",