Documentation ¶
Index ¶
Constants ¶
View Source
const ( EnvYeagerAddress = "YEAGER_ADDRESS" EnvYeagerUUID = "YEAGER_UUID" EnvYeagerTransport = "YEAGER_TRANSPORT" EnvYeagerDomain = "YEAGER_DOMAIN" EnvYeagerSecurity = "YEAGER_SECURITY" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientMTLS ¶
type ClientSecurityType ¶
type ClientSecurityType string
const ( ClientNoSecurity ClientSecurityType = "" // no security, means plaintext ClientTLS ClientSecurityType = "tls" // security by TLS, manage certificate manually ClientTLSMutual ClientSecurityType = "tls-mutual" // security by mutual TLS )
type ClientTls ¶
type ClientTls struct {
Insecure bool `json:"insecure,omitempty"` // allow insecure
}
type Config ¶
type Config struct { Inbounds Inbounds `json:"inbounds,omitempty"` // 入站代理 Outbounds []*YeagerClient `json:"outbounds,omitempty"` // 出站代理 Rules []string `json:"rules,omitempty"` // 路由规则 Develop bool `json:"develop,omitempty"` // developer only // 参考 transport/grpc/pool.go 如何预估连接池大小 GrpcChannelPoolSize int `json:"grpcChannelPoolSize,omitempty"` }
type Inbounds ¶
type Inbounds struct { SOCKS *SOCKSProxy `json:"socks,omitempty"` HTTP *HTTPProxy `json:"http,omitempty"` Yeager *YeagerServer `json:"yeager,omitempty"` }
type SOCKSProxy ¶
type SOCKSProxy struct {
Listen string `json:"listen"`
}
type ServerSecurityType ¶
type ServerSecurityType string
const ( NoSecurity ServerSecurityType = "" // no security, means plaintext TLS ServerSecurityType = "tls" // security by TLS, manage certificate manually TLSAcme ServerSecurityType = "tls-acme" // security by TLS, manage certificate automatically TLSMutual ServerSecurityType = "tls-mutual" // security by mutual TLS )
type YeagerClient ¶
type YeagerClient struct { Tag string `json:"tag"` // 出站标记,用于路由规则指定出站代理 Address string `json:"address"` UUID string `json:"uuid"` // ignored when Security is TLSMutual Transport Transport `json:"transport"` Security ClientSecurityType `json:"security"` TLS ClientTls `json:"tls,omitempty"` // available when Security is ClientTLS MTLS ClientMTLS `json:"mtls,omitempty"` // available when Security is ClientTLSMutual }
type YeagerServer ¶
type YeagerServer struct { Listen string `json:"listen"` UUID string `json:"uuid"` // ignored when Security is TLSMutual Transport Transport `json:"transport"` Security ServerSecurityType `json:"security"` TLS Tls `json:"tls,omitempty"` // available when Security is TLS ACME Acme `json:"acme,omitempty"` // available when Security is TLSAcme MTLS Mtls `json:"mtls,omitempty"` // available when Security is TLSMutual }
Click to show internal directories.
Click to hide internal directories.