Exp: Make eveything listable

This commit is contained in:
Fangliding
2026-02-02 01:26:01 +08:00
parent 37efc4237a
commit e9a2d26c07
18 changed files with 282 additions and 268 deletions

View File

@@ -14,6 +14,7 @@ import (
"github.com/xtls/xray-core/common/net"
"github.com/xtls/xray-core/common/platform/filesystem"
"github.com/xtls/xray-core/common/serial"
"github.com/xtls/xray-core/infra/conf/cfgcommon/types"
"google.golang.org/protobuf/proto"
)
@@ -74,9 +75,9 @@ func (r *BalancingRule) Build() (*router.BalancingRule, error) {
}
type RouterConfig struct {
RuleList []json.RawMessage `json:"rules"`
DomainStrategy *string `json:"domainStrategy"`
Balancers []*BalancingRule `json:"balancers"`
RuleList types.Listable[json.RawMessage] `json:"rules"`
DomainStrategy *string `json:"domainStrategy"`
Balancers types.Listable[*BalancingRule] `json:"balancers"`
}
func (c *RouterConfig) getDomainStrategy() router.Config_DomainStrategy {