1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-01 09:14:15 -04:00
v2fly/infra/conf/v5cfg/skeleton.go

50 lines
1.9 KiB
Go
Raw Normal View History

2021-09-04 11:11:46 -04:00
package v5cfg
import (
"encoding/json"
2021-10-28 06:34:19 -04:00
"github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon"
"github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon/muxcfg"
"github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon/proxycfg"
"github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon/sniffer"
"github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon/socketcfg"
2021-09-04 11:11:46 -04:00
)
type RootConfig struct {
LogConfig json.RawMessage `json:"log"`
DNSConfig json.RawMessage `json:"dns"`
RouterConfig json.RawMessage `json:"router"`
2021-09-04 13:45:02 -04:00
Inbounds []InboundConfig `json:"inbounds"`
Outbounds []OutboundConfig `json:"outbounds"`
Services map[string]json.RawMessage `json:"services"`
Extensions []json.RawMessage `json:"extension"`
2021-09-04 11:11:46 -04:00
}
type InboundConfig struct {
Protocol string `json:"protocol"`
PortRange *cfgcommon.PortRange `json:"port"`
ListenOn *cfgcommon.Address `json:"listen"`
2021-09-04 12:49:37 -04:00
Settings json.RawMessage `json:"settings"`
2021-09-04 11:11:46 -04:00
Tag string `json:"tag"`
SniffingConfig *sniffer.SniffingConfig `json:"sniffing"`
StreamSetting *StreamConfig `json:"streamSettings"`
}
type OutboundConfig struct {
Protocol string `json:"protocol"`
SendThrough *cfgcommon.Address `json:"sendThrough"`
Tag string `json:"tag"`
2021-09-04 12:57:12 -04:00
Settings json.RawMessage `json:"settings"`
2021-09-04 11:11:46 -04:00
StreamSetting *StreamConfig `json:"streamSettings"`
ProxySettings *proxycfg.ProxyConfig `json:"proxySettings"`
MuxSettings *muxcfg.MuxConfig `json:"mux"`
}
type StreamConfig struct {
Transport string `json:"transport"`
TransportSettings json.RawMessage `json:"transportSettings"`
Security string `json:"security"`
SecuritySettings json.RawMessage `json:"securitySettings"`
SocketSettings socketcfg.SocketConfig `json:"socketSettings"`
}