feat(Clash): Add routing rules and enable routing option for Clash subscriptions (#4904)

* feat(clash): add routing rules and enable routing option for Clash/Mihomo subscriptions

Allows adding custom YAML blocks and placeholders to Clash exports.

Why: Shifting routing to the client prevents server IP exposure for
DIRECT traffic and reduces unnecessary server bandwidth/CPU usage.

* fix

---------

Co-authored-by: Misfit-s <>
This commit is contained in:
Misfit-s
2026-06-04 22:55:51 +03:00
committed by GitHub
parent ba63fa8569
commit f947fbd6c6
24 changed files with 212 additions and 15 deletions

View File

@@ -66,6 +66,8 @@ func NewSUBController(
jsonNoise string,
jsonMux string,
jsonRules string,
clashEnableRouting bool,
clashRules string,
subTitle string,
subSupportUrl string,
subProfileUrl string,
@@ -91,7 +93,7 @@ func NewSUBController(
subService: sub,
subJsonService: NewSubJsonService(jsonFragment, jsonNoise, jsonMux, jsonRules, sub),
subClashService: NewSubClashService(sub),
subClashService: NewSubClashService(clashEnableRouting, clashRules, sub),
}
a.initRouter(g)
return a