import "v2ray.com/core/infra/conf"
api.go blackhole.go buildable.go common.go conf.go dns.go dns_proxy.go dokodemo.go errors.generated.go freedom.go http.go loader.go log.go mtproto.go policy.go reverse.go router.go shadowsocks.go socks.go transport.go transport_authenticators.go transport_internet.go trojan.go v2ray.go vless.go vmess.go
const ( AuthMethodNoAuth = "noauth" AuthMethodUserPass = "password" )
func ParseRule(msg json.RawMessage) (*router.RoutingRule, error)
func (v *Address) Build() *net.IPOrDomain
type AttributeList struct {
// contains filtered or unexported fields
}
func (al *AttributeList) IsEmpty() bool
func (al *AttributeList) Match(domain *router.Domain) bool
type BalancingRule struct { Tag string `json:"tag"` Selectors StringList `json:"selector"` }
func (r *BalancingRule) Build() (*router.BalancingRule, error)
type BlackholeConfig struct { Response json.RawMessage `json:"response"` }
func (v *BlackholeConfig) Build() (proto.Message, error)
func (m BooleanMatcher) Match(domain *router.Domain) bool
func (c *BridgeConfig) Build() (*reverse.BridgeConfig, error)
type Config struct { Port uint16 `json:"port"` // Port of this Point server. Deprecated. LogConfig *LogConfig `json:"log"` RouterConfig *RouterConfig `json:"routing"` DNSConfig *DnsConfig `json:"dns"` InboundConfigs []InboundDetourConfig `json:"inbounds"` OutboundConfigs []OutboundDetourConfig `json:"outbounds"` InboundConfig *InboundDetourConfig `json:"inbound"` // Deprecated. OutboundConfig *OutboundDetourConfig `json:"outbound"` // Deprecated. InboundDetours []InboundDetourConfig `json:"inboundDetour"` // Deprecated. OutboundDetours []OutboundDetourConfig `json:"outboundDetour"` // Deprecated. Transport *TransportConfig `json:"transport"` Policy *PolicyConfig `json:"policy"` Api *ApiConfig `json:"api"` Stats *StatsConfig `json:"stats"` Reverse *ReverseConfig `json:"reverse"` }
Build implements Buildable.
Override method accepts another Config overrides the current attribute
type ConfigCreator func() interface{}
type ConfigCreatorCache map[string]ConfigCreator
func (v ConfigCreatorCache) CreateConfig(id string) (interface{}, error)
func (v ConfigCreatorCache) RegisterCreator(id string, creator ConfigCreator) error
type DTLSAuthenticator struct{}
func (DTLSAuthenticator) Build() (proto.Message, error)
type DnsConfig struct { Servers []*NameServerConfig `json:"servers"` Hosts map[string]*Address `json:"hosts"` ClientIP *Address `json:"clientIp"` Tag string `json:"tag"` }
DnsConfig is a JSON serializable object for dns.Config.
Build implements Buildable
type DnsOutboundConfig struct { Network Network `json:"network"` Address *Address `json:"address"` Port uint16 `json:"port"` }
func (c *DnsOutboundConfig) Build() (proto.Message, error)
type DokodemoConfig struct { Host *Address `json:"address"` PortValue uint16 `json:"port"` NetworkList *NetworkList `json:"network"` TimeoutValue uint32 `json:"timeout"` Redirect bool `json:"followRedirect"` UserLevel uint32 `json:"userLevel"` }
func (v *DokodemoConfig) Build() (proto.Message, error)
type DomainSocketConfig struct { Path string `json:"path"` Abstract bool `json:"abstract"` Padding bool `json:"padding"` AcceptProxyProtocol bool `json:"acceptProxyProtocol"` }
func (c *DomainSocketConfig) Build() (proto.Message, error)
Build implements Buildable.
type FeaturesConfig struct { Detour *VMessDetourConfig `json:"detour"` }
type FreedomConfig struct { DomainStrategy string `json:"domainStrategy"` Timeout *uint32 `json:"timeout"` Redirect string `json:"redirect"` UserLevel uint32 `json:"userLevel"` }
func (c *FreedomConfig) Build() (proto.Message, error)
Build implements Buildable
type HTTPAuthenticator struct { Request HTTPAuthenticatorRequest `json:"request"` Response HTTPAuthenticatorResponse `json:"response"` }
func (v *HTTPAuthenticator) Build() (proto.Message, error)
type HTTPAuthenticatorRequest struct { Version string `json:"version"` Method string `json:"method"` Path StringList `json:"path"` Headers map[string]*StringList `json:"headers"` }
func (v *HTTPAuthenticatorRequest) Build() (*http.RequestConfig, error)
type HTTPAuthenticatorResponse struct { Version string `json:"version"` Status string `json:"status"` Reason string `json:"reason"` Headers map[string]*StringList `json:"headers"` }
func (v *HTTPAuthenticatorResponse) Build() (*http.ResponseConfig, error)
type HTTPConfig struct { Host *StringList `json:"host"` Path string `json:"path"` }
func (c *HTTPConfig) Build() (proto.Message, error)
Build implements Buildable.
func (v *HttpAccount) Build() *http.Account
type HttpClientConfig struct { Servers []*HttpRemoteConfig `json:"servers"` }
func (v *HttpClientConfig) Build() (proto.Message, error)
type HttpRemoteConfig struct { Address *Address `json:"address"` Port uint16 `json:"port"` Users []json.RawMessage `json:"users"` }
type HttpResponse struct{}
func (*HttpResponse) Build() (proto.Message, error)
type HttpServerConfig struct { Timeout uint32 `json:"timeout"` Accounts []*HttpAccount `json:"accounts"` Transparent bool `json:"allowTransparent"` UserLevel uint32 `json:"userLevel"` }
func (c *HttpServerConfig) Build() (proto.Message, error)
type InboundDetourAllocationConfig struct { Strategy string `json:"strategy"` Concurrency *uint32 `json:"concurrency"` RefreshMin *uint32 `json:"refresh"` }
func (c *InboundDetourAllocationConfig) Build() (*proxyman.AllocationStrategy, error)
Build implements Buildable.
type InboundDetourConfig struct { Protocol string `json:"protocol"` PortRange *PortRange `json:"port"` ListenOn *Address `json:"listen"` Settings *json.RawMessage `json:"settings"` Tag string `json:"tag"` Allocation *InboundDetourAllocationConfig `json:"allocate"` StreamSetting *StreamConfig `json:"streamSettings"` DomainOverride *StringList `json:"domainOverride"` SniffingConfig *SniffingConfig `json:"sniffing"` }
func (c *InboundDetourConfig) Build() (*core.InboundHandlerConfig, error)
Build implements Buildable.
type JSONConfigLoader struct {
// contains filtered or unexported fields
}
func NewJSONConfigLoader(cache ConfigCreatorCache, idKey string, configKey string) *JSONConfigLoader
func (v *JSONConfigLoader) Load(raw []byte) (interface{}, string, error)
func (v *JSONConfigLoader) LoadWithID(raw []byte, id string) (interface{}, error)
type KCPConfig struct { Mtu *uint32 `json:"mtu"` Tti *uint32 `json:"tti"` UpCap *uint32 `json:"uplinkCapacity"` DownCap *uint32 `json:"downlinkCapacity"` Congestion *bool `json:"congestion"` ReadBufferSize *uint32 `json:"readBufferSize"` WriteBufferSize *uint32 `json:"writeBufferSize"` HeaderConfig json.RawMessage `json:"header"` Seed *string `json:"seed"` }
Build implements Buildable.
type LogConfig struct { AccessLog string `json:"access"` ErrorLog string `json:"error"` LogLevel string `json:"loglevel"` }
func (a *MTProtoAccount) Build() (*mtproto.Account, error)
Build implements Buildable
type MTProtoClientConfig struct { }
func (c *MTProtoClientConfig) Build() (proto.Message, error)
type MTProtoServerConfig struct { Users []json.RawMessage `json:"users"` }
func (c *MTProtoServerConfig) Build() (proto.Message, error)
func (m *MuxConfig) Build() *proxyman.MultiplexingConfig
Build creates MultiplexingConfig, Concurrency < 0 completely disables mux.
type NameServerConfig struct { Address *Address Port uint16 Domains []string ExpectIPs StringList }
func (c *NameServerConfig) Build() (*dns.NameServer, error)
func (c *NameServerConfig) UnmarshalJSON(data []byte) error
func (v *NetworkList) Build() []net.Network
func (v *NetworkList) UnmarshalJSON(data []byte) error
type NoOpAuthenticator struct{}
func (NoOpAuthenticator) Build() (proto.Message, error)
type NoOpConnectionAuthenticator struct{}
func (NoOpConnectionAuthenticator) Build() (proto.Message, error)
type NoneResponse struct{}
func (*NoneResponse) Build() (proto.Message, error)
type OutboundDetourConfig struct { Protocol string `json:"protocol"` SendThrough *Address `json:"sendThrough"` Tag string `json:"tag"` Settings *json.RawMessage `json:"settings"` StreamSetting *StreamConfig `json:"streamSettings"` ProxySettings *ProxyConfig `json:"proxySettings"` MuxSettings *MuxConfig `json:"mux"` }
func (c *OutboundDetourConfig) Build() (*core.OutboundHandlerConfig, error)
Build implements Buildable.
type Policy struct { Handshake *uint32 `json:"handshake"` ConnectionIdle *uint32 `json:"connIdle"` UplinkOnly *uint32 `json:"uplinkOnly"` DownlinkOnly *uint32 `json:"downlinkOnly"` StatsUserUplink bool `json:"statsUserUplink"` StatsUserDownlink bool `json:"statsUserDownlink"` BufferSize *int32 `json:"bufferSize"` }
type PolicyConfig struct { Levels map[uint32]*Policy `json:"levels"` System *SystemPolicy `json:"system"` }
func (c *PolicyConfig) Build() (*policy.Config, error)
UnmarshalJSON implements encoding/json.Unmarshaler.UnmarshalJSON
UnmarshalJSON implements encoding/json.Unmarshaler.UnmarshalJSON
func (c *PortalConfig) Build() (*reverse.PortalConfig, error)
func (v *ProxyConfig) Build() (*internet.ProxyConfig, error)
Build implements Buildable.
type QUICConfig struct { Header json.RawMessage `json:"header"` Security string `json:"security"` Key string `json:"key"` }
func (c *QUICConfig) Build() (proto.Message, error)
Build implements Buildable.
type ReverseConfig struct { Bridges []BridgeConfig `json:"bridges"` Portals []PortalConfig `json:"portals"` }
func (c *ReverseConfig) Build() (proto.Message, error)
type RouterConfig struct { Settings *RouterRulesConfig `json:"settings"` // Deprecated RuleList []json.RawMessage `json:"rules"` DomainStrategy *string `json:"domainStrategy"` Balancers []*BalancingRule `json:"balancers"` }
func (c *RouterConfig) Build() (*router.Config, error)
type RouterRule struct { Type string `json:"type"` OutboundTag string `json:"outboundTag"` BalancerTag string `json:"balancerTag"` }
type RouterRulesConfig struct { RuleList []json.RawMessage `json:"rules"` DomainStrategy string `json:"domainStrategy"` }
type SRTPAuthenticator struct{}
func (SRTPAuthenticator) Build() (proto.Message, error)
type ShadowsocksClientConfig struct { Servers []*ShadowsocksServerTarget `json:"servers"` }
func (v *ShadowsocksClientConfig) Build() (proto.Message, error)
type ShadowsocksServerConfig struct { Cipher string `json:"method"` Password string `json:"password"` UDP bool `json:"udp"` Level byte `json:"level"` Email string `json:"email"` NetworkList *NetworkList `json:"network"` }
func (v *ShadowsocksServerConfig) Build() (proto.Message, error)
type ShadowsocksServerTarget struct { Address *Address `json:"address"` Port uint16 `json:"port"` Cipher string `json:"method"` Password string `json:"password"` Email string `json:"email"` Ota bool `json:"ota"` Level byte `json:"level"` }
type SniffingConfig struct { Enabled bool `json:"enabled"` DestOverride *StringList `json:"destOverride"` }
func (c *SniffingConfig) Build() (*proxyman.SniffingConfig, error)
Build implements Buildable.
type SocketConfig struct { Mark int32 `json:"mark"` TFO *bool `json:"tcpFastOpen"` TProxy string `json:"tproxy"` }
func (c *SocketConfig) Build() (*internet.SocketConfig, error)
Build implements Buildable.
func (v *SocksAccount) Build() *socks.Account
type SocksClientConfig struct { Servers []*SocksRemoteConfig `json:"servers"` }
func (v *SocksClientConfig) Build() (proto.Message, error)
type SocksRemoteConfig struct { Address *Address `json:"address"` Port uint16 `json:"port"` Users []json.RawMessage `json:"users"` }
type SocksServerConfig struct { AuthMethod string `json:"auth"` Accounts []*SocksAccount `json:"accounts"` UDP bool `json:"udp"` Host *Address `json:"ip"` Timeout uint32 `json:"timeout"` UserLevel uint32 `json:"userLevel"` }
func (v *SocksServerConfig) Build() (proto.Message, error)
type StatsConfig struct{}
func (c *StatsConfig) Build() (*stats.Config, error)
Build implements Buildable.
type StreamConfig struct { Network *TransportProtocol `json:"network"` Security string `json:"security"` TLSSettings *TLSConfig `json:"tlsSettings"` XTLSSettings *XTLSConfig `json:"xtlsSettings"` TCPSettings *TCPConfig `json:"tcpSettings"` KCPSettings *KCPConfig `json:"kcpSettings"` WSSettings *WebSocketConfig `json:"wsSettings"` HTTPSettings *HTTPConfig `json:"httpSettings"` DSSettings *DomainSocketConfig `json:"dsSettings"` QUICSettings *QUICConfig `json:"quicSettings"` SocketSettings *SocketConfig `json:"sockopt"` }
func (c *StreamConfig) Build() (*internet.StreamConfig, error)
Build implements Buildable.
func NewStringList(raw []string) *StringList
func (v StringList) Len() int
func (v *StringList) UnmarshalJSON(data []byte) error
type SystemPolicy struct { StatsInboundUplink bool `json:"statsInboundUplink"` StatsInboundDownlink bool `json:"statsInboundDownlink"` StatsOutboundUplink bool `json:"statsOutboundUplink"` StatsOutboundDownlink bool `json:"statsOutboundDownlink"` }
func (p *SystemPolicy) Build() (*policy.SystemPolicy, error)
type TCPConfig struct { HeaderConfig json.RawMessage `json:"header"` AcceptProxyProtocol bool `json:"acceptProxyProtocol"` }
Build implements Buildable.
type TLSCertConfig struct { CertFile string `json:"certificateFile"` CertStr []string `json:"certificate"` KeyFile string `json:"keyFile"` KeyStr []string `json:"key"` Usage string `json:"usage"` }
func (c *TLSCertConfig) Build() (*tls.Certificate, error)
Build implements Buildable.
type TLSConfig struct { Insecure bool `json:"allowInsecure"` InsecureCiphers bool `json:"allowInsecureCiphers"` Certs []*TLSCertConfig `json:"certificates"` ServerName string `json:"serverName"` ALPN *StringList `json:"alpn"` DisableSessionResumption bool `json:"disableSessionResumption"` DisableSystemRoot bool `json:"disableSystemRoot"` }
Build implements Buildable.
type TransportConfig struct { TCPConfig *TCPConfig `json:"tcpSettings"` KCPConfig *KCPConfig `json:"kcpSettings"` WSConfig *WebSocketConfig `json:"wsSettings"` HTTPConfig *HTTPConfig `json:"httpSettings"` DSConfig *DomainSocketConfig `json:"dsSettings"` QUICConfig *QUICConfig `json:"quicSettings"` }
func (c *TransportConfig) Build() (*transport.Config, error)
Build implements Buildable.
func (p TransportProtocol) Build() (string, error)
Build implements Buildable.
type TrojanClientConfig struct { Servers []*TrojanServerTarget `json:"servers"` }
TrojanClientConfig is configuration of trojan servers
func (c *TrojanClientConfig) Build() (proto.Message, error)
Build implements Buildable
type TrojanInboundFallback struct { Alpn string `json:"alpn"` Path string `json:"path"` Type string `json:"type"` Dest json.RawMessage `json:"dest"` Xver uint64 `json:"xver"` }
TrojanInboundFallback is fallback configuration
type TrojanServerConfig struct { Clients []*TrojanUserConfig `json:"clients"` Fallback json.RawMessage `json:"fallback"` Fallbacks []*TrojanInboundFallback `json:"fallbacks"` }
TrojanServerConfig is Inbound configuration
func (c *TrojanServerConfig) Build() (proto.Message, error)
Build implements Buildable
type TrojanServerTarget struct { Address *Address `json:"address"` Port uint16 `json:"port"` Password string `json:"password"` Email string `json:"email"` Level byte `json:"level"` }
TrojanServerTarget is configuration of a single trojan server
type TrojanUserConfig struct { Password string `json:"password"` Level byte `json:"level"` Email string `json:"email"` }
TrojanUserConfig is user configuration
type UTPAuthenticator struct{}
func (UTPAuthenticator) Build() (proto.Message, error)
type VLessInboundConfig struct { Clients []json.RawMessage `json:"clients"` Decryption string `json:"decryption"` Fallback json.RawMessage `json:"fallback"` Fallbacks []*VLessInboundFallback `json:"fallbacks"` }
func (c *VLessInboundConfig) Build() (proto.Message, error)
Build implements Buildable
type VLessInboundFallback struct { Alpn string `json:"alpn"` Path string `json:"path"` Type string `json:"type"` Dest json.RawMessage `json:"dest"` Xver uint64 `json:"xver"` }
type VLessOutboundConfig struct { Vnext []*VLessOutboundVnext `json:"vnext"` }
func (c *VLessOutboundConfig) Build() (proto.Message, error)
Build implements Buildable
type VLessOutboundVnext struct { Address *Address `json:"address"` Port uint16 `json:"port"` Users []json.RawMessage `json:"users"` }
type VMessAccount struct { ID string `json:"id"` AlterIds uint16 `json:"alterId"` Security string `json:"security"` }
func (a *VMessAccount) Build() *vmess.Account
Build implements Buildable
func (c *VMessDefaultConfig) Build() *inbound.DefaultConfig
Build implements Buildable
func (c *VMessDetourConfig) Build() *inbound.DetourConfig
Build implements Buildable
type VMessInboundConfig struct { Users []json.RawMessage `json:"clients"` Features *FeaturesConfig `json:"features"` Defaults *VMessDefaultConfig `json:"default"` DetourConfig *VMessDetourConfig `json:"detour"` SecureOnly bool `json:"disableInsecureEncryption"` }
func (c *VMessInboundConfig) Build() (proto.Message, error)
Build implements Buildable
type VMessOutboundConfig struct { Receivers []*VMessOutboundTarget `json:"vnext"` }
func (c *VMessOutboundConfig) Build() (proto.Message, error)
Build implements Buildable
type VMessOutboundTarget struct { Address *Address `json:"address"` Port uint16 `json:"port"` Users []json.RawMessage `json:"users"` }
type WebSocketConfig struct { Path string `json:"path"` Path2 string `json:"Path"` // The key was misspelled. For backward compatibility, we have to keep track the old key. Headers map[string]string `json:"headers"` AcceptProxyProtocol bool `json:"acceptProxyProtocol"` }
func (c *WebSocketConfig) Build() (proto.Message, error)
Build implements Buildable.
type WechatVideoAuthenticator struct{}
func (WechatVideoAuthenticator) Build() (proto.Message, error)
type WireguardAuthenticator struct{}
func (WireguardAuthenticator) Build() (proto.Message, error)
type XTLSCertConfig struct { CertFile string `json:"certificateFile"` CertStr []string `json:"certificate"` KeyFile string `json:"keyFile"` KeyStr []string `json:"key"` Usage string `json:"usage"` }
func (c *XTLSCertConfig) Build() (*xtls.Certificate, error)
Build implements Buildable.
type XTLSConfig struct { Insecure bool `json:"allowInsecure"` InsecureCiphers bool `json:"allowInsecureCiphers"` Certs []*XTLSCertConfig `json:"certificates"` ServerName string `json:"serverName"` ALPN *StringList `json:"alpn"` DisableSessionResumption bool `json:"disableSessionResumption"` DisableSystemRoot bool `json:"disableSystemRoot"` }
func (c *XTLSConfig) Build() (proto.Message, error)
Build implements Buildable.
Path | Synopsis |
---|---|
command | |
json | |
serial |
Package conf imports 62 packages (graph) and is imported by 15 packages. Updated 2020-10-14. Refresh now. Tools for package owners.