mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-09-28 23:06:14 -04:00
switch to protojson based config for log dns router
This commit is contained in:
parent
845d031357
commit
4835b8261d
@ -26,7 +26,11 @@ func (c RootConfig) BuildV5(ctx context.Context) (proto.Message, error) {
|
|||||||
|
|
||||||
var logConfMsg *anypb.Any
|
var logConfMsg *anypb.Any
|
||||||
if c.LogConfig != nil {
|
if c.LogConfig != nil {
|
||||||
logConfMsg = serial.ToTypedMessage(c.LogConfig.Build())
|
logConfMsgUnpacked, err := loadHeterogeneousConfigFromRawJson("service", "log", c.LogConfig)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
logConfMsg = serial.ToTypedMessage(logConfMsgUnpacked)
|
||||||
} else {
|
} else {
|
||||||
logConfMsg = serial.ToTypedMessage(log.DefaultLogConfig())
|
logConfMsg = serial.ToTypedMessage(log.DefaultLogConfig())
|
||||||
}
|
}
|
||||||
@ -35,7 +39,7 @@ func (c RootConfig) BuildV5(ctx context.Context) (proto.Message, error) {
|
|||||||
config.App = append([]*anypb.Any{logConfMsg}, config.App...)
|
config.App = append([]*anypb.Any{logConfMsg}, config.App...)
|
||||||
|
|
||||||
if c.RouterConfig != nil {
|
if c.RouterConfig != nil {
|
||||||
routerConfig, err := c.RouterConfig.BuildV5(ctx)
|
routerConfig, err := loadHeterogeneousConfigFromRawJson("service", "router", c.RouterConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -43,7 +47,7 @@ func (c RootConfig) BuildV5(ctx context.Context) (proto.Message, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if c.DNSConfig != nil {
|
if c.DNSConfig != nil {
|
||||||
dnsApp, err := c.DNSConfig.BuildV5(ctx)
|
dnsApp, err := loadHeterogeneousConfigFromRawJson("service", "dns", c.DNSConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, newError("failed to parse DNS config").Base(err)
|
return nil, newError("failed to parse DNS config").Base(err)
|
||||||
}
|
}
|
||||||
|
@ -7,18 +7,16 @@ import (
|
|||||||
"github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/proxycfg"
|
"github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/proxycfg"
|
||||||
"github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/sniffer"
|
"github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/sniffer"
|
||||||
"github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/socketcfg"
|
"github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/socketcfg"
|
||||||
"github.com/v2fly/v2ray-core/v4/infra/conf/synthetic/dns"
|
|
||||||
"github.com/v2fly/v2ray-core/v4/infra/conf/synthetic/log"
|
|
||||||
"github.com/v2fly/v2ray-core/v4/infra/conf/synthetic/router"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type RootConfig struct {
|
type RootConfig struct {
|
||||||
LogConfig *log.LogConfig `json:"log"`
|
LogConfig json.RawMessage `json:"log"`
|
||||||
DNSConfig *dns.DNSConfig `json:"dns"`
|
DNSConfig json.RawMessage `json:"dns"`
|
||||||
RouterConfig *router.RouterConfig `json:"router"`
|
RouterConfig json.RawMessage `json:"router"`
|
||||||
Inbounds []InboundConfig `json:"inbounds"`
|
Inbounds []InboundConfig `json:"inbounds"`
|
||||||
Outbounds []OutboundConfig `json:"outbounds"`
|
Outbounds []OutboundConfig `json:"outbounds"`
|
||||||
Services map[string]json.RawMessage `json:"services"`
|
Services map[string]json.RawMessage `json:"services"`
|
||||||
|
Extensions []json.RawMessage `json:"extension"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type InboundConfig struct {
|
type InboundConfig struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user