SYMBOL INDEX (8339 symbols across 804 files) FILE: app/commander/commander.go type Commander (line 17) | type Commander struct method Type (line 57) | func (c *Commander) Type() interface{} { method Start (line 62) | func (c *Commander) Start() error { method Close (line 105) | func (c *Commander) Close() error { function NewCommander (line 27) | func NewCommander(ctx context.Context, config *Config) (*Commander, erro... function init (line 117) | func init() { FILE: app/commander/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 26) | type Config struct method Reset (line 39) | func (x *Config) Reset() { method String (line 46) | func (x *Config) String() string { method ProtoMessage (line 50) | func (*Config) ProtoMessage() {} method ProtoReflect (line 52) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 65) | func (*Config) Descriptor() ([]byte, []int) { method GetTag (line 69) | func (x *Config) GetTag() string { method GetListen (line 76) | func (x *Config) GetListen() string { method GetService (line 83) | func (x *Config) GetService() []*serial.TypedMessage { type ReflectionConfig (line 91) | type ReflectionConfig struct method Reset (line 97) | func (x *ReflectionConfig) Reset() { method String (line 104) | func (x *ReflectionConfig) String() string { method ProtoMessage (line 108) | func (*ReflectionConfig) ProtoMessage() {} method ProtoReflect (line 110) | func (x *ReflectionConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 123) | func (*ReflectionConfig) Descriptor() ([]byte, []int) { constant file_app_commander_config_proto_rawDesc (line 129) | file_app_commander_config_proto_rawDesc = "" + function file_app_commander_config_proto_rawDescGZIP (line 144) | func file_app_commander_config_proto_rawDescGZIP() []byte { function init (line 166) | func init() { file_app_commander_config_proto_init() } function file_app_commander_config_proto_init (line 167) | func file_app_commander_config_proto_init() { FILE: app/commander/outbound.go type OutboundListener (line 17) | type OutboundListener struct method add (line 22) | func (l *OutboundListener) add(conn net.Conn) { method Accept (line 33) | func (l *OutboundListener) Accept() (net.Conn, error) { method Close (line 43) | func (l *OutboundListener) Close() error { method Addr (line 58) | func (l *OutboundListener) Addr() net.Addr { type Outbound (line 66) | type Outbound struct method Dispatch (line 74) | func (co *Outbound) Dispatch(ctx context.Context, link *transport.Link) { method Tag (line 92) | func (co *Outbound) Tag() string { method Start (line 97) | func (co *Outbound) Start() error { method Close (line 105) | func (co *Outbound) Close() error { method SenderSettings (line 114) | func (co *Outbound) SenderSettings() *serial.TypedMessage { method ProxySettings (line 119) | func (co *Outbound) ProxySettings() *serial.TypedMessage { FILE: app/commander/service.go type Service (line 12) | type Service interface type reflectionService (line 17) | type reflectionService struct method Register (line 19) | func (r reflectionService) Register(s *grpc.Server) { function init (line 23) | func init() { FILE: app/dispatcher/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type SessionConfig (line 24) | type SessionConfig struct method Reset (line 30) | func (x *SessionConfig) Reset() { method String (line 37) | func (x *SessionConfig) String() string { method ProtoMessage (line 41) | func (*SessionConfig) ProtoMessage() {} method ProtoReflect (line 43) | func (x *SessionConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*SessionConfig) Descriptor() ([]byte, []int) { type Config (line 60) | type Config struct method Reset (line 67) | func (x *Config) Reset() { method String (line 74) | func (x *Config) String() string { method ProtoMessage (line 78) | func (*Config) ProtoMessage() {} method ProtoReflect (line 80) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 93) | func (*Config) Descriptor() ([]byte, []int) { method GetSettings (line 97) | func (x *Config) GetSettings() *SessionConfig { constant file_app_dispatcher_config_proto_rawDesc (line 106) | file_app_dispatcher_config_proto_rawDesc = "" + function file_app_dispatcher_config_proto_rawDescGZIP (line 119) | func file_app_dispatcher_config_proto_rawDescGZIP() []byte { function init (line 140) | func init() { file_app_dispatcher_config_proto_init() } function file_app_dispatcher_config_proto_init (line 141) | func file_app_dispatcher_config_proto_init() { FILE: app/dispatcher/default.go type cachedReader (line 30) | type cachedReader struct method Cache (line 36) | func (r *cachedReader) Cache(b *buf.Buffer, deadline time.Duration) er... method readInternal (line 53) | func (r *cachedReader) readInternal() buf.MultiBuffer { method ReadMultiBuffer (line 66) | func (r *cachedReader) ReadMultiBuffer() (buf.MultiBuffer, error) { method ReadMultiBufferTimeout (line 75) | func (r *cachedReader) ReadMultiBufferTimeout(timeout time.Duration) (... method Interrupt (line 84) | func (r *cachedReader) Interrupt() { type DefaultDispatcher (line 96) | type DefaultDispatcher struct method Init (line 120) | func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, ... method Type (line 129) | func (*DefaultDispatcher) Type() interface{} { method Start (line 134) | func (*DefaultDispatcher) Start() error { method Close (line 139) | func (*DefaultDispatcher) Close() error { return nil } method getLink (line 141) | func (d *DefaultDispatcher) getLink(ctx context.Context) (*transport.L... method shouldOverride (line 235) | func (d *DefaultDispatcher) shouldOverride(ctx context.Context, result... method Dispatch (line 281) | func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination ... method DispatchLink (line 338) | func (d *DefaultDispatcher) DispatchLink(ctx context.Context, destinat... method routedDispatch (line 448) | func (d *DefaultDispatcher) routedDispatch(ctx context.Context, link *... function init (line 104) | func init() { function WrapLink (line 196) | func WrapLink(ctx context.Context, policyManager policy.Manager, statsMa... function sniffer (line 392) | func sniffer(ctx context.Context, cReader *cachedReader, metadataOnly bo... FILE: app/dispatcher/fakednssniffer.go function newFakeDNSSniffer (line 16) | func newFakeDNSSniffer(ctx context.Context) (protocolSnifferWithMetadata... type fakeDNSSniffResult (line 52) | type fakeDNSSniffResult struct method Protocol (line 56) | func (fakeDNSSniffResult) Protocol() string { method Domain (line 60) | func (f fakeDNSSniffResult) Domain() string { type fakeDNSExtraOpts (line 64) | type fakeDNSExtraOpts constant ipAddressInRange (line 66) | ipAddressInRange fakeDNSExtraOpts = 1 type ipAddressInRangeOpt (line 68) | type ipAddressInRangeOpt struct type DNSThenOthersSniffResult (line 72) | type DNSThenOthersSniffResult struct method IsProtoSubsetOf (line 77) | func (f DNSThenOthersSniffResult) IsProtoSubsetOf(protocolName string)... method Protocol (line 81) | func (DNSThenOthersSniffResult) Protocol() string { method Domain (line 85) | func (f DNSThenOthersSniffResult) Domain() string { function newFakeDNSThenOthers (line 89) | func newFakeDNSThenOthers(ctx context.Context, fakeDNSSniffer protocolSn... FILE: app/dispatcher/sniffer.go type SniffResult (line 16) | type SniffResult interface type protocolSniffer (line 21) | type protocolSniffer type protocolSnifferWithMetadata (line 23) | type protocolSnifferWithMetadata struct type Sniffer (line 32) | type Sniffer struct method Sniff (line 59) | func (s *Sniffer) Sniff(c context.Context, payload []byte, network net... method SniffMetadata (line 88) | func (s *Sniffer) SniffMetadata(c context.Context) (SniffResult, error) { function NewSniffer (line 36) | func NewSniffer(ctx context.Context) *Sniffer { function CompositeResult (line 115) | func CompositeResult(domainResult SniffResult, protocolResult SniffResul... type compositeResult (line 119) | type compositeResult struct method Protocol (line 124) | func (c compositeResult) Protocol() string { method Domain (line 128) | func (c compositeResult) Domain() string { method ProtocolForDomainResult (line 132) | func (c compositeResult) ProtocolForDomainResult() string { type SnifferResultComposite (line 136) | type SnifferResultComposite interface type SnifferIsProtoSubsetOf (line 140) | type SnifferIsProtoSubsetOf interface FILE: app/dispatcher/stats.go type SizeStatWriter (line 9) | type SizeStatWriter struct method WriteMultiBuffer (line 14) | func (w *SizeStatWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { method Close (line 19) | func (w *SizeStatWriter) Close() error { method Interrupt (line 23) | func (w *SizeStatWriter) Interrupt() { FILE: app/dispatcher/stats_test.go type TestCounter (line 11) | type TestCounter method Value (line 13) | func (c *TestCounter) Value() int64 { method Add (line 17) | func (c *TestCounter) Add(v int64) int64 { method Set (line 23) | func (c *TestCounter) Set(v int64) int64 { function TestStatsWriter (line 28) | func TestStatsWriter(t *testing.T) { FILE: app/dns/cache_controller.go constant minSizeForEmptyRebuild (line 21) | minSizeForEmptyRebuild = 512 constant shrinkAbsoluteThreshold (line 22) | shrinkAbsoluteThreshold = 10240 constant shrinkRatioThreshold (line 23) | shrinkRatioThreshold = 0.65 constant migrationBatchSize (line 24) | migrationBatchSize = 4096 type CacheController (line 27) | type CacheController struct method CacheCleanup (line 61) | func (c *CacheController) CacheCleanup() error { method collectExpiredKeys (line 73) | func (c *CacheController) collectExpiredKeys() ([]string, error) { method writeAndShrink (line 103) | func (c *CacheController) writeAndShrink(expiredKeys []string) { method migrate (line 176) | func (c *CacheController) migrate() { method flush (line 220) | func (c *CacheController) flush(batch []migrationEntry) { method updateRecord (line 244) | func (c *CacheController) updateRecord(req *dnsRequest, rep *IPRecord) { method findRecords (line 310) | func (c *CacheController) findRecords(domain string) *record { method registerSubscribers (line 321) | func (c *CacheController) registerSubscribers(domain string, option dn... function NewCacheController (line 43) | func NewCacheController(name string, disableCache bool, serveStale bool,... type migrationEntry (line 171) | type migrationEntry struct function closeSubscribers (line 332) | func closeSubscribers(sub4 *pubsub.Subscriber, sub6 *pubsub.Subscriber) { FILE: app/dns/config.go function toStrMatcher (line 37) | func toStrMatcher(t DomainMatchingType, domain string) (strmatcher.Match... function toNetIP (line 49) | func toNetIP(addrs []net.Address) ([]net.IP, error) { function generateRandomTag (line 61) | func generateRandomTag() string { FILE: app/dns/config.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type DomainMatchingType (line 26) | type DomainMatchingType method Enum (line 51) | func (x DomainMatchingType) Enum() *DomainMatchingType { method String (line 57) | func (x DomainMatchingType) String() string { method Descriptor (line 61) | func (DomainMatchingType) Descriptor() protoreflect.EnumDescriptor { method Type (line 65) | func (DomainMatchingType) Type() protoreflect.EnumType { method Number (line 69) | func (x DomainMatchingType) Number() protoreflect.EnumNumber { method EnumDescriptor (line 74) | func (DomainMatchingType) EnumDescriptor() ([]byte, []int) { constant DomainMatchingType_Full (line 29) | DomainMatchingType_Full DomainMatchingType = 0 constant DomainMatchingType_Subdomain (line 30) | DomainMatchingType_Subdomain DomainMatchingType = 1 constant DomainMatchingType_Keyword (line 31) | DomainMatchingType_Keyword DomainMatchingType = 2 constant DomainMatchingType_Regex (line 32) | DomainMatchingType_Regex DomainMatchingType = 3 type QueryStrategy (line 78) | type QueryStrategy method Enum (line 103) | func (x QueryStrategy) Enum() *QueryStrategy { method String (line 109) | func (x QueryStrategy) String() string { method Descriptor (line 113) | func (QueryStrategy) Descriptor() protoreflect.EnumDescriptor { method Type (line 117) | func (QueryStrategy) Type() protoreflect.EnumType { method Number (line 121) | func (x QueryStrategy) Number() protoreflect.EnumNumber { method EnumDescriptor (line 126) | func (QueryStrategy) EnumDescriptor() ([]byte, []int) { constant QueryStrategy_USE_IP (line 81) | QueryStrategy_USE_IP QueryStrategy = 0 constant QueryStrategy_USE_IP4 (line 82) | QueryStrategy_USE_IP4 QueryStrategy = 1 constant QueryStrategy_USE_IP6 (line 83) | QueryStrategy_USE_IP6 QueryStrategy = 2 constant QueryStrategy_USE_SYS (line 84) | QueryStrategy_USE_SYS QueryStrategy = 3 type NameServer (line 130) | type NameServer struct method Reset (line 153) | func (x *NameServer) Reset() { method String (line 160) | func (x *NameServer) String() string { method ProtoMessage (line 164) | func (*NameServer) ProtoMessage() {} method ProtoReflect (line 166) | func (x *NameServer) ProtoReflect() protoreflect.Message { method Descriptor (line 179) | func (*NameServer) Descriptor() ([]byte, []int) { method GetAddress (line 183) | func (x *NameServer) GetAddress() *net.Endpoint { method GetClientIp (line 190) | func (x *NameServer) GetClientIp() []byte { method GetSkipFallback (line 197) | func (x *NameServer) GetSkipFallback() bool { method GetPrioritizedDomain (line 204) | func (x *NameServer) GetPrioritizedDomain() []*NameServer_PriorityDoma... method GetExpectedGeoip (line 211) | func (x *NameServer) GetExpectedGeoip() []*router.GeoIP { method GetOriginalRules (line 218) | func (x *NameServer) GetOriginalRules() []*NameServer_OriginalRule { method GetQueryStrategy (line 225) | func (x *NameServer) GetQueryStrategy() QueryStrategy { method GetActPrior (line 232) | func (x *NameServer) GetActPrior() bool { method GetTag (line 239) | func (x *NameServer) GetTag() string { method GetTimeoutMs (line 246) | func (x *NameServer) GetTimeoutMs() uint64 { method GetDisableCache (line 253) | func (x *NameServer) GetDisableCache() bool { method GetServeStale (line 260) | func (x *NameServer) GetServeStale() bool { method GetServeExpiredTTL (line 267) | func (x *NameServer) GetServeExpiredTTL() uint32 { method GetFinalQuery (line 274) | func (x *NameServer) GetFinalQuery() bool { method GetUnexpectedGeoip (line 281) | func (x *NameServer) GetUnexpectedGeoip() []*router.GeoIP { method GetActUnprior (line 288) | func (x *NameServer) GetActUnprior() bool { method GetPolicyID (line 295) | func (x *NameServer) GetPolicyID() uint32 { type Config (line 302) | type Config struct method Reset (line 325) | func (x *Config) Reset() { method String (line 332) | func (x *Config) String() string { method ProtoMessage (line 336) | func (*Config) ProtoMessage() {} method ProtoReflect (line 338) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 351) | func (*Config) Descriptor() ([]byte, []int) { method GetNameServer (line 355) | func (x *Config) GetNameServer() []*NameServer { method GetClientIp (line 362) | func (x *Config) GetClientIp() []byte { method GetStaticHosts (line 369) | func (x *Config) GetStaticHosts() []*Config_HostMapping { method GetTag (line 376) | func (x *Config) GetTag() string { method GetDisableCache (line 383) | func (x *Config) GetDisableCache() bool { method GetServeStale (line 390) | func (x *Config) GetServeStale() bool { method GetServeExpiredTTL (line 397) | func (x *Config) GetServeExpiredTTL() uint32 { method GetQueryStrategy (line 404) | func (x *Config) GetQueryStrategy() QueryStrategy { method GetDisableFallback (line 411) | func (x *Config) GetDisableFallback() bool { method GetDisableFallbackIfMatch (line 418) | func (x *Config) GetDisableFallbackIfMatch() bool { method GetEnableParallelQuery (line 425) | func (x *Config) GetEnableParallelQuery() bool { type NameServer_PriorityDomain (line 432) | type NameServer_PriorityDomain struct method Reset (line 440) | func (x *NameServer_PriorityDomain) Reset() { method String (line 447) | func (x *NameServer_PriorityDomain) String() string { method ProtoMessage (line 451) | func (*NameServer_PriorityDomain) ProtoMessage() {} method ProtoReflect (line 453) | func (x *NameServer_PriorityDomain) ProtoReflect() protoreflect.Message { method Descriptor (line 466) | func (*NameServer_PriorityDomain) Descriptor() ([]byte, []int) { method GetType (line 470) | func (x *NameServer_PriorityDomain) GetType() DomainMatchingType { method GetDomain (line 477) | func (x *NameServer_PriorityDomain) GetDomain() string { type NameServer_OriginalRule (line 484) | type NameServer_OriginalRule struct method Reset (line 492) | func (x *NameServer_OriginalRule) Reset() { method String (line 499) | func (x *NameServer_OriginalRule) String() string { method ProtoMessage (line 503) | func (*NameServer_OriginalRule) ProtoMessage() {} method ProtoReflect (line 505) | func (x *NameServer_OriginalRule) ProtoReflect() protoreflect.Message { method Descriptor (line 518) | func (*NameServer_OriginalRule) Descriptor() ([]byte, []int) { method GetRule (line 522) | func (x *NameServer_OriginalRule) GetRule() string { method GetSize (line 529) | func (x *NameServer_OriginalRule) GetSize() uint32 { type Config_HostMapping (line 536) | type Config_HostMapping struct method Reset (line 548) | func (x *Config_HostMapping) Reset() { method String (line 555) | func (x *Config_HostMapping) String() string { method ProtoMessage (line 559) | func (*Config_HostMapping) ProtoMessage() {} method ProtoReflect (line 561) | func (x *Config_HostMapping) ProtoReflect() protoreflect.Message { method Descriptor (line 574) | func (*Config_HostMapping) Descriptor() ([]byte, []int) { method GetType (line 578) | func (x *Config_HostMapping) GetType() DomainMatchingType { method GetDomain (line 585) | func (x *Config_HostMapping) GetDomain() string { method GetIp (line 592) | func (x *Config_HostMapping) GetIp() [][]byte { method GetProxiedDomain (line 599) | func (x *Config_HostMapping) GetProxiedDomain() string { constant file_app_dns_config_proto_rawDesc (line 608) | file_app_dns_config_proto_rawDesc = "" + function file_app_dns_config_proto_rawDescGZIP (line 685) | func file_app_dns_config_proto_rawDescGZIP() []byte { function init (line 724) | func init() { file_app_dns_config_proto_init() } function file_app_dns_config_proto_init (line 725) | func file_app_dns_config_proto_init() { FILE: app/dns/dns.go type DNS (line 26) | type DNS struct method Type (line 198) | func (*DNS) Type() interface{} { method Start (line 203) | func (s *DNS) Start() error { method Close (line 208) | func (s *DNS) Close() error { method IsOwnLink (line 213) | func (s *DNS) IsOwnLink(ctx context.Context) bool { method LookupIP (line 227) | func (s *DNS) LookupIP(domain string, option dns.IPOption) ([]net.IP, ... method sortClients (line 278) | func (s *DNS) sortClients(domain string) []*Client { method serialQuery (line 366) | func (s *DNS) serialQuery(domain string, option dns.IPOption) ([]net.I... method parallelQuery (line 389) | func (s *DNS) parallelQuery(domain string, option dns.IPOption) ([]net... type DomainMatcherInfo (line 41) | type DomainMatcherInfo struct function New (line 47) | func New(ctx context.Context, config *Config) (*DNS, error) { function mergeQueryErrors (line 342) | func mergeQueryErrors(domain string, errs []error) error { type queryResult (line 443) | type queryResult struct function asyncQueryAll (line 450) | func asyncQueryAll(domain string, option dns.IPOption, clients []*Client... type group (line 479) | type group struct function makeGroups (line 482) | func makeGroups( /*ctx context.Context,*/ clients []*Client) ([]group, [... function init (line 538) | func init() { function probeRoutes (line 544) | func probeRoutes() (ipv4 bool, ipv6 bool) { function checkRoutes (line 563) | func checkRoutes() (bool, bool) { function detectGUIPlatform (line 593) | func detectGUIPlatform() bool { FILE: app/dns/dns_test.go type staticHandler (line 25) | type staticHandler struct method ServeDNS (line 27) | func (*staticHandler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { function TestUDPServerSubnet (line 114) | func TestUDPServerSubnet(t *testing.T) { function TestUDPServer (line 174) | func TestUDPServer(t *testing.T) { function TestPrioritizedDomain (line 296) | func TestPrioritizedDomain(t *testing.T) { function TestUDPServerIPv6 (line 382) | func TestUDPServerIPv6(t *testing.T) { function TestStaticHostDomain (line 443) | func TestStaticHostDomain(t *testing.T) { function TestIPMatch (line 514) | func TestIPMatch(t *testing.T) { function TestLocalDomain (line 628) | func TestLocalDomain(t *testing.T) { function TestMultiMatchPrioritizedDomain (line 856) | func TestMultiMatchPrioritizedDomain(t *testing.T) { FILE: app/dns/dnscommon.go function Fqdn (line 23) | func Fqdn(domain string) string { type record (line 30) | type record struct type IPRecord (line 36) | type IPRecord struct method getIPs (line 44) | func (r *IPRecord) getIPs() ([]net.IP, int32, error) { type dnsRequest (line 64) | type dnsRequest struct function genEDNS0Options (line 72) | func genEDNS0Options(clientIP net.IP, padding int) *dnsmessage.Resource { function buildReqMsgs (line 130) | func buildReqMsgs(domain string, option dns_feature.IPOption, reqIDGen f... function parseResponse (line 182) | func parseResponse(payload []byte) (*IPRecord, error) { function toDnsContext (line 250) | func toDnsContext(ctx context.Context, addr string) context.Context { FILE: app/dns/dnscommon_test.go function Test_parseResponse (line 16) | func Test_parseResponse(t *testing.T) { function Test_buildReqMsgs (line 100) | func Test_buildReqMsgs(t *testing.T) { function Test_genEDNS0Options (line 144) | func Test_genEDNS0Options(t *testing.T) { function TestFqdn (line 166) | func TestFqdn(t *testing.T) { FILE: app/dns/fakedns/fake.go type Holder (line 17) | type Holder struct method IsIPInIPPool (line 25) | func (fkdns *Holder) IsIPInIPPool(ip net.Address) bool { method GetFakeIPForDomain3 (line 32) | func (fkdns *Holder) GetFakeIPForDomain3(domain string, ipv4, ipv6 boo... method Type (line 40) | func (*Holder) Type() interface{} { method Start (line 44) | func (fkdns *Holder) Start() error { method Close (line 51) | func (fkdns *Holder) Close() error { method initializeFromConfig (line 76) | func (fkdns *Holder) initializeFromConfig() error { method initialize (line 80) | func (fkdns *Holder) initialize(ipPoolCidr string, lruSize int) error { method GetFakeIPForDomain (line 100) | func (fkdns *Holder) GetFakeIPForDomain(domain string) []net.Address { method GetDomainFromFakeDNS (line 133) | func (fkdns *Holder) GetDomainFromFakeDNS(ip net.Address) string { function NewFakeDNSHolder (line 58) | func NewFakeDNSHolder() (*Holder, error) { function NewFakeDNSHolderConfigOnly (line 72) | func NewFakeDNSHolderConfigOnly(conf *FakeDnsPool) (*Holder, error) { type HolderMulti (line 144) | type HolderMulti struct method IsIPInIPPool (line 150) | func (h *HolderMulti) IsIPInIPPool(ip net.Address) bool { method GetFakeIPForDomain3 (line 162) | func (h *HolderMulti) GetFakeIPForDomain3(domain string, ipv4, ipv6 bo... method GetFakeIPForDomain (line 170) | func (h *HolderMulti) GetFakeIPForDomain(domain string) []net.Address { method GetDomainFromFakeDNS (line 178) | func (h *HolderMulti) GetDomainFromFakeDNS(ip net.Address) string { method Type (line 187) | func (h *HolderMulti) Type() interface{} { method Start (line 191) | func (h *HolderMulti) Start() error { method Close (line 204) | func (h *HolderMulti) Close() error { method createHolderGroups (line 213) | func (h *HolderMulti) createHolderGroups() error { function NewFakeDNSHolderMulti (line 224) | func NewFakeDNSHolderMulti(conf *FakeDnsPoolMulti) (*HolderMulti, error) { function init (line 232) | func init() { FILE: app/dns/fakedns/fakedns.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type FakeDnsPool (line 24) | type FakeDnsPool struct method Reset (line 32) | func (x *FakeDnsPool) Reset() { method String (line 39) | func (x *FakeDnsPool) String() string { method ProtoMessage (line 43) | func (*FakeDnsPool) ProtoMessage() {} method ProtoReflect (line 45) | func (x *FakeDnsPool) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*FakeDnsPool) Descriptor() ([]byte, []int) { method GetIpPool (line 62) | func (x *FakeDnsPool) GetIpPool() string { method GetLruSize (line 69) | func (x *FakeDnsPool) GetLruSize() int64 { type FakeDnsPoolMulti (line 76) | type FakeDnsPoolMulti struct method Reset (line 83) | func (x *FakeDnsPoolMulti) Reset() { method String (line 90) | func (x *FakeDnsPoolMulti) String() string { method ProtoMessage (line 94) | func (*FakeDnsPoolMulti) ProtoMessage() {} method ProtoReflect (line 96) | func (x *FakeDnsPoolMulti) ProtoReflect() protoreflect.Message { method Descriptor (line 109) | func (*FakeDnsPoolMulti) Descriptor() ([]byte, []int) { method GetPools (line 113) | func (x *FakeDnsPoolMulti) GetPools() []*FakeDnsPool { constant file_app_dns_fakedns_fakedns_proto_rawDesc (line 122) | file_app_dns_fakedns_fakedns_proto_rawDesc = "" + function file_app_dns_fakedns_fakedns_proto_rawDescGZIP (line 137) | func file_app_dns_fakedns_fakedns_proto_rawDescGZIP() []byte { function init (line 158) | func init() { file_app_dns_fakedns_fakedns_proto_init() } function file_app_dns_fakedns_fakedns_proto_init (line 159) | func file_app_dns_fakedns_fakedns_proto_init() { FILE: app/dns/fakedns/fakedns_test.go function TestNewFakeDnsHolder (line 17) | func TestNewFakeDnsHolder(_ *testing.T) { function TestFakeDnsHolderCreateMapping (line 22) | func TestFakeDnsHolderCreateMapping(t *testing.T) { function TestFakeDnsHolderCreateMappingMany (line 30) | func TestFakeDnsHolderCreateMappingMany(t *testing.T) { function TestFakeDnsHolderCreateMappingManyAndResolve (line 42) | func TestFakeDnsHolderCreateMappingManyAndResolve(t *testing.T) { function TestFakeDnsHolderCreateMappingManySingleDomain (line 60) | func TestFakeDnsHolderCreateMappingManySingleDomain(t *testing.T) { function TestGetFakeIPForDomainConcurrently (line 69) | func TestGetFakeIPForDomainConcurrently(t *testing.T) { function testGetFakeIP (line 87) | func testGetFakeIP(index int, addr [][]net.Address, fkdns *Holder) func(... function TestFakeDnsHolderCreateMappingAndRollOver (line 94) | func TestFakeDnsHolderCreateMappingAndRollOver(t *testing.T) { function TestFakeDNSMulti (line 131) | func TestFakeDNSMulti(t *testing.T) { FILE: app/dns/hosts.go type StaticHosts (line 15) | type StaticHosts struct method lookupInternal (line 79) | func (h *StaticHosts) lookupInternal(domain string) ([]net.Address, er... method lookup (line 100) | func (h *StaticHosts) lookup(domain string, option dns.IPOption, maxDe... method Lookup (line 124) | func (h *StaticHosts) Lookup(domain string, option dns.IPOption) ([]ne... function NewStaticHosts (line 21) | func NewStaticHosts(hosts []*Config_HostMapping) (*StaticHosts, error) { function filterIP (line 69) | func filterIP(ips []net.Address, option dns.IPOption) []net.Address { function NewStaticHostsFromCache (line 127) | func NewStaticHostsFromCache(matcher strmatcher.IndexMatcher, hostIPs ma... function parseIPs (line 162) | func parseIPs(raw []string) []net.Address { FILE: app/dns/hosts_test.go function TestStaticHosts (line 15) | func TestStaticHosts(t *testing.T) { function TestStaticHostsFromCache (line 135) | func TestStaticHostsFromCache(t *testing.T) { FILE: app/dns/nameserver.go type mphMatcherWrapper (line 22) | type mphMatcherWrapper struct method Match (line 26) | func (w *mphMatcherWrapper) Match(s string) bool { method String (line 30) | func (w *mphMatcherWrapper) String() string { type Server (line 35) | type Server interface type Client (line 46) | type Client struct method Name (line 254) | func (c *Client) Name() string { method QueryIP (line 259) | func (c *Client) QueryIP(ctx context.Context, domain string, option dn... function NewServer (line 63) | func NewServer(ctx context.Context, dest net.Destination, dispatcher rou... function NewClient (line 107) | func NewClient( function ResolveIpOptionOverride (line 321) | func ResolveIpOptionOverride(queryStrategy QueryStrategy, ipOption dns.I... FILE: app/dns/nameserver_cached.go type CachedNameserver (line 15) | type CachedNameserver interface function queryIP (line 22) | func queryIP(ctx context.Context, s CachedNameserver, domain string, opt... function pull (line 50) | func pull(ctx context.Context, s CachedNameserver, fqdn string, option d... function fetch (line 57) | func fetch(ctx context.Context, s CachedNameserver, fqdn string, option ... type result (line 76) | type result struct function doFetch (line 82) | func doFetch(ctx context.Context, s CachedNameserver, fqdn string, optio... function merge (line 130) | func merge(option dns.IPOption, rec4 *IPRecord, rec6 *IPRecord, errs ...... FILE: app/dns/nameserver_doh.go type DoHNameServer (line 32) | type DoHNameServer struct method Name (line 115) | func (s *DoHNameServer) Name() string { method IsDisableCache (line 120) | func (s *DoHNameServer) IsDisableCache() bool { method newReqID (line 124) | func (s *DoHNameServer) newReqID() uint16 { method getCacheController (line 129) | func (s *DoHNameServer) getCacheController() *CacheController { method sendQuery (line 134) | func (s *DoHNameServer) sendQuery(ctx context.Context, noResponseErrCh... method dohHTTPSContext (line 208) | func (s *DoHNameServer) dohHTTPSContext(ctx context.Context, b []byte)... method QueryIP (line 237) | func (s *DoHNameServer) QueryIP(ctx context.Context, domain string, op... function NewDoHNameServer (line 40) | func NewDoHNameServer(url *url.URL, dispatcher routing.Dispatcher, h2c b... FILE: app/dns/nameserver_doh_test.go function TestDOHNameServer (line 16) | func TestDOHNameServer(t *testing.T) { function TestDOHNameServerWithCache (line 33) | func TestDOHNameServerWithCache(t *testing.T) { function TestDOHNameServerWithIPv4Override (line 61) | func TestDOHNameServerWithIPv4Override(t *testing.T) { function TestDOHNameServerWithIPv6Override (line 84) | func TestDOHNameServerWithIPv6Override(t *testing.T) { FILE: app/dns/nameserver_fakedns.go type FakeDNSServer (line 11) | type FakeDNSServer struct method Name (line 19) | func (FakeDNSServer) Name() string { method IsDisableCache (line 24) | func (s *FakeDNSServer) IsDisableCache() bool { method QueryIP (line 28) | func (f *FakeDNSServer) QueryIP(ctx context.Context, domain string, op... function NewFakeDNSServer (line 15) | func NewFakeDNSServer(fd dns.FakeDNSEngine) *FakeDNSServer { FILE: app/dns/nameserver_local.go type LocalNameServer (line 15) | type LocalNameServer struct method QueryIP (line 20) | func (s *LocalNameServer) QueryIP(ctx context.Context, domain string, ... method Name (line 34) | func (s *LocalNameServer) Name() string { method IsDisableCache (line 39) | func (s *LocalNameServer) IsDisableCache() bool { function NewLocalNameServer (line 44) | func NewLocalNameServer() *LocalNameServer { function NewLocalDNSClient (line 52) | func NewLocalDNSClient(ipOption dns.IPOption) *Client { FILE: app/dns/nameserver_local_test.go function TestLocalNameServer (line 13) | func TestLocalNameServer(t *testing.T) { FILE: app/dns/nameserver_quic.go constant NextProtoDQ (line 25) | NextProtoDQ = "doq" constant handshakeTimeout (line 27) | handshakeTimeout = time.Second * 8 type QUICNameServer (line 30) | type QUICNameServer struct method Name (line 61) | func (s *QUICNameServer) Name() string { method IsDisableCache (line 66) | func (s *QUICNameServer) IsDisableCache() bool { method newReqID (line 70) | func (s *QUICNameServer) newReqID() uint16 { method getCacheController (line 75) | func (s *QUICNameServer) getCacheController() *CacheController { retur... method sendQuery (line 78) | func (s *QUICNameServer) sendQuery(ctx context.Context, noResponseErrC... method QueryIP (line 201) | func (s *QUICNameServer) QueryIP(ctx context.Context, domain string, o... method getConnection (line 214) | func (s *QUICNameServer) getConnection() (*quic.Conn, error) { method openConnection (line 248) | func (s *QUICNameServer) openConnection() (*quic.Conn, error) { method openStream (line 268) | func (s *QUICNameServer) openStream(ctx context.Context) (*quic.Stream... function NewQUICNameServer (line 39) | func NewQUICNameServer(url *url.URL, disableCache bool, serveStale bool,... function isActive (line 205) | func isActive(s *quic.Conn) bool { FILE: app/dns/nameserver_quic_test.go function TestQUICNameServer (line 16) | func TestQUICNameServer(t *testing.T) { function TestQUICNameServerWithIPv4Override (line 43) | func TestQUICNameServerWithIPv4Override(t *testing.T) { function TestQUICNameServerWithIPv6Override (line 66) | func TestQUICNameServerWithIPv6Override(t *testing.T) { FILE: app/dns/nameserver_tcp.go type TCPNameServer (line 23) | type TCPNameServer struct method Name (line 94) | func (s *TCPNameServer) Name() string { method IsDisableCache (line 99) | func (s *TCPNameServer) IsDisableCache() bool { method newReqID (line 103) | func (s *TCPNameServer) newReqID() uint16 { method getCacheController (line 108) | func (s *TCPNameServer) getCacheController() *CacheController { method sendQuery (line 113) | func (s *TCPNameServer) sendQuery(ctx context.Context, noResponseErrCh... method QueryIP (line 233) | func (s *TCPNameServer) QueryIP(ctx context.Context, domain string, op... function NewTCPNameServer (line 32) | func NewTCPNameServer( function NewTCPLocalNameServer (line 60) | func NewTCPLocalNameServer(url *url.URL, disableCache bool, serveStale b... function baseTCPNameServer (line 74) | func baseTCPNameServer(url *url.URL, prefix string, disableCache bool, s... FILE: app/dns/nameserver_tcp_test.go function TestTCPLocalNameServer (line 16) | func TestTCPLocalNameServer(t *testing.T) { function TestTCPLocalNameServerWithCache (line 33) | func TestTCPLocalNameServerWithCache(t *testing.T) { function TestTCPLocalNameServerWithIPv4Override (line 61) | func TestTCPLocalNameServerWithIPv4Override(t *testing.T) { function TestTCPLocalNameServerWithIPv6Override (line 85) | func TestTCPLocalNameServerWithIPv6Override(t *testing.T) { FILE: app/dns/nameserver_udp.go type ClassicNameServer (line 23) | type ClassicNameServer struct method Name (line 63) | func (s *ClassicNameServer) Name() string { method IsDisableCache (line 68) | func (s *ClassicNameServer) IsDisableCache() bool { method RequestsCleanup (line 73) | func (s *ClassicNameServer) RequestsCleanup() error { method HandleResponse (line 96) | func (s *ClassicNameServer) HandleResponse(ctx context.Context, packet... method newReqID (line 144) | func (s *ClassicNameServer) newReqID() uint16 { method addPendingRequest (line 148) | func (s *ClassicNameServer) addPendingRequest(req *udpDnsRequest) { method getCacheController (line 158) | func (s *ClassicNameServer) getCacheController() *CacheController { method sendQuery (line 163) | func (s *ClassicNameServer) sendQuery(ctx context.Context, noResponseE... method QueryIP (line 189) | func (s *ClassicNameServer) QueryIP(ctx context.Context, domain string... type udpDnsRequest (line 34) | type udpDnsRequest struct function NewClassicNameServer (line 40) | func NewClassicNameServer(address net.Destination, dispatcher routing.Di... FILE: app/log/command/command.go type LoggerServer (line 13) | type LoggerServer struct method RestartLogger (line 18) | func (s *LoggerServer) RestartLogger(ctx context.Context, request *Res... method mustEmbedUnimplementedLoggerServiceServer (line 32) | func (s *LoggerServer) mustEmbedUnimplementedLoggerServiceServer() {} type service (line 34) | type service struct method Register (line 38) | func (s *service) Register(server *grpc.Server) { function init (line 50) | func init() { FILE: app/log/command/command_test.go function TestLoggerRestart (line 18) | func TestLoggerRestart(t *testing.T) { FILE: app/log/command/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { type RestartLoggerRequest (line 60) | type RestartLoggerRequest struct method Reset (line 66) | func (x *RestartLoggerRequest) Reset() { method String (line 73) | func (x *RestartLoggerRequest) String() string { method ProtoMessage (line 77) | func (*RestartLoggerRequest) ProtoMessage() {} method ProtoReflect (line 79) | func (x *RestartLoggerRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 92) | func (*RestartLoggerRequest) Descriptor() ([]byte, []int) { type RestartLoggerResponse (line 96) | type RestartLoggerResponse struct method Reset (line 102) | func (x *RestartLoggerResponse) Reset() { method String (line 109) | func (x *RestartLoggerResponse) String() string { method ProtoMessage (line 113) | func (*RestartLoggerResponse) ProtoMessage() {} method ProtoReflect (line 115) | func (x *RestartLoggerResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 128) | func (*RestartLoggerResponse) Descriptor() ([]byte, []int) { constant file_app_log_command_config_proto_rawDesc (line 134) | file_app_log_command_config_proto_rawDesc = "" + function file_app_log_command_config_proto_rawDescGZIP (line 149) | func file_app_log_command_config_proto_rawDescGZIP() []byte { function init (line 172) | func init() { file_app_log_command_config_proto_init() } function file_app_log_command_config_proto_init (line 173) | func file_app_log_command_config_proto_init() { FILE: app/log/command/config_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant LoggerService_RestartLogger_FullMethodName (line 22) | LoggerService_RestartLogger_FullMethodName = "/xray.app.log.command.Logg... type LoggerServiceClient (line 28) | type LoggerServiceClient interface type loggerServiceClient (line 32) | type loggerServiceClient struct method RestartLogger (line 40) | func (c *loggerServiceClient) RestartLogger(ctx context.Context, in *R... function NewLoggerServiceClient (line 36) | func NewLoggerServiceClient(cc grpc.ClientConnInterface) LoggerServiceCl... type LoggerServiceServer (line 53) | type LoggerServiceServer interface type UnimplementedLoggerServiceServer (line 63) | type UnimplementedLoggerServiceServer struct method RestartLogger (line 65) | func (UnimplementedLoggerServiceServer) RestartLogger(context.Context,... method mustEmbedUnimplementedLoggerServiceServer (line 68) | func (UnimplementedLoggerServiceServer) mustEmbedUnimplementedLoggerSe... method testEmbeddedByValue (line 69) | func (UnimplementedLoggerServiceServer) testEmbeddedByValue() ... type UnsafeLoggerServiceServer (line 74) | type UnsafeLoggerServiceServer interface function RegisterLoggerServiceServer (line 78) | func RegisterLoggerServiceServer(s grpc.ServiceRegistrar, srv LoggerServ... function _LoggerService_RestartLogger_Handler (line 89) | func _LoggerService_RestartLogger_Handler(srv interface{}, ctx context.C... FILE: app/log/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type LogType (line 25) | type LogType method Enum (line 50) | func (x LogType) Enum() *LogType { method String (line 56) | func (x LogType) String() string { method Descriptor (line 60) | func (LogType) Descriptor() protoreflect.EnumDescriptor { method Type (line 64) | func (LogType) Type() protoreflect.EnumType { method Number (line 68) | func (x LogType) Number() protoreflect.EnumNumber { method EnumDescriptor (line 73) | func (LogType) EnumDescriptor() ([]byte, []int) { constant LogType_None (line 28) | LogType_None LogType = 0 constant LogType_Console (line 29) | LogType_Console LogType = 1 constant LogType_File (line 30) | LogType_File LogType = 2 constant LogType_Event (line 31) | LogType_Event LogType = 3 type Config (line 77) | type Config struct method Reset (line 90) | func (x *Config) Reset() { method String (line 97) | func (x *Config) String() string { method ProtoMessage (line 101) | func (*Config) ProtoMessage() {} method ProtoReflect (line 103) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 116) | func (*Config) Descriptor() ([]byte, []int) { method GetErrorLogType (line 120) | func (x *Config) GetErrorLogType() LogType { method GetErrorLogLevel (line 127) | func (x *Config) GetErrorLogLevel() log.Severity { method GetErrorLogPath (line 134) | func (x *Config) GetErrorLogPath() string { method GetAccessLogType (line 141) | func (x *Config) GetAccessLogType() LogType { method GetAccessLogPath (line 148) | func (x *Config) GetAccessLogPath() string { method GetEnableDnsLog (line 155) | func (x *Config) GetEnableDnsLog() bool { method GetMaskAddress (line 162) | func (x *Config) GetMaskAddress() string { constant file_app_log_config_proto_rawDesc (line 171) | file_app_log_config_proto_rawDesc = "" + function file_app_log_config_proto_rawDescGZIP (line 194) | func file_app_log_config_proto_rawDescGZIP() []byte { function init (line 219) | func init() { file_app_log_config_proto_init() } function file_app_log_config_proto_init (line 220) | func file_app_log_config_proto_init() { FILE: app/log/log.go type Instance (line 17) | type Instance struct method initAccessLogger (line 54) | func (g *Instance) initAccessLogger() error { method initErrorLogger (line 65) | func (g *Instance) initErrorLogger() error { method Type (line 77) | func (*Instance) Type() interface{} { method startInternal (line 81) | func (g *Instance) startInternal() error { method Start (line 102) | func (g *Instance) Start() error { method Handle (line 107) | func (g *Instance) Handle(msg log.Message) { method Close (line 145) | func (g *Instance) Close() error { function New (line 29) | func New(ctx context.Context, config *Config) (*Instance, error) { function ParseMaskAddress (line 166) | func ParseMaskAddress(c string) (int, int, error) { type MaskedMsgWrapper (line 204) | type MaskedMsgWrapper struct method String (line 215) | func (m *MaskedMsgWrapper) String() string { function init (line 252) | func init() { FILE: app/log/log_creator.go type HandlerCreatorOptions (line 11) | type HandlerCreatorOptions struct type HandlerCreator (line 15) | type HandlerCreator function RegisterHandlerCreator (line 21) | func RegisterHandlerCreator(logType LogType, f HandlerCreator) error { function createHandler (line 33) | func createHandler(logType LogType, options HandlerCreatorOptions) (log.... function init (line 44) | func init() { FILE: app/log/log_test.go function TestCustomLogHandler (line 15) | func TestCustomLogHandler(t *testing.T) { function TestMaskAddress (line 55) | func TestMaskAddress(t *testing.T) { FILE: app/metrics/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 25) | type Config struct method Reset (line 34) | func (x *Config) Reset() { method String (line 41) | func (x *Config) String() string { method ProtoMessage (line 45) | func (*Config) ProtoMessage() {} method ProtoReflect (line 47) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 60) | func (*Config) Descriptor() ([]byte, []int) { method GetTag (line 64) | func (x *Config) GetTag() string { method GetListen (line 71) | func (x *Config) GetListen() string { constant file_app_metrics_config_proto_rawDesc (line 80) | file_app_metrics_config_proto_rawDesc = "" + function file_app_metrics_config_proto_rawDescGZIP (line 93) | func file_app_metrics_config_proto_rawDescGZIP() []byte { function init (line 112) | func init() { file_app_metrics_config_proto_init() } function file_app_metrics_config_proto_init (line 113) | func file_app_metrics_config_proto_init() { FILE: app/metrics/metrics.go type MetricsHandler (line 22) | type MetricsHandler struct method Type (line 88) | func (p *MetricsHandler) Type() interface{} { method Start (line 92) | func (p *MetricsHandler) Start() error { method Close (line 131) | func (p *MetricsHandler) Close() error { function NewMetricsHandler (line 32) | func NewMetricsHandler(ctx context.Context, config *Config) (*MetricsHan... function init (line 135) | func init() { FILE: app/metrics/outbound.go type OutboundListener (line 17) | type OutboundListener struct method add (line 22) | func (l *OutboundListener) add(conn net.Conn) { method Accept (line 33) | func (l *OutboundListener) Accept() (net.Conn, error) { method Close (line 43) | func (l *OutboundListener) Close() error { method Addr (line 58) | func (l *OutboundListener) Addr() net.Addr { type Outbound (line 66) | type Outbound struct method Dispatch (line 74) | func (co *Outbound) Dispatch(ctx context.Context, link *transport.Link) { method Tag (line 92) | func (co *Outbound) Tag() string { method Start (line 97) | func (co *Outbound) Start() error { method Close (line 105) | func (co *Outbound) Close() error { method SenderSettings (line 114) | func (co *Outbound) SenderSettings() *serial.TypedMessage { method ProxySettings (line 119) | func (co *Outbound) ProxySettings() *serial.TypedMessage { FILE: app/observatory/burst/burst.go constant rttFailed (line 9) | rttFailed = time.Duration(math.MaxInt64 - iota) constant rttUntested (line 10) | rttUntested constant rttUnqualified (line 11) | rttUnqualified FILE: app/observatory/burst/burstobserver.go type Observer (line 19) | type Observer struct method GetObservation (line 31) | func (o *Observer) GetObservation(ctx context.Context) (proto.Message,... method createResult (line 35) | func (o *Observer) createResult() []*observatory.OutboundStatus { method Type (line 61) | func (o *Observer) Type() interface{} { method Start (line 65) | func (o *Observer) Start() error { method Close (line 82) | func (o *Observer) Close() error { function New (line 90) | func New(ctx context.Context, config *Config) (*Observer, error) { function init (line 109) | func init() { FILE: app/observatory/burst/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 33) | func (x *Config) Reset() { method String (line 40) | func (x *Config) String() string { method ProtoMessage (line 44) | func (*Config) ProtoMessage() {} method ProtoReflect (line 46) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*Config) Descriptor() ([]byte, []int) { method GetSubjectSelector (line 63) | func (x *Config) GetSubjectSelector() []string { method GetPingConfig (line 70) | func (x *Config) GetPingConfig() *HealthPingConfig { type HealthPingConfig (line 77) | type HealthPingConfig struct method Reset (line 96) | func (x *HealthPingConfig) Reset() { method String (line 103) | func (x *HealthPingConfig) String() string { method ProtoMessage (line 107) | func (*HealthPingConfig) ProtoMessage() {} method ProtoReflect (line 109) | func (x *HealthPingConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 122) | func (*HealthPingConfig) Descriptor() ([]byte, []int) { method GetDestination (line 126) | func (x *HealthPingConfig) GetDestination() string { method GetConnectivity (line 133) | func (x *HealthPingConfig) GetConnectivity() string { method GetInterval (line 140) | func (x *HealthPingConfig) GetInterval() int64 { method GetSamplingCount (line 147) | func (x *HealthPingConfig) GetSamplingCount() int32 { method GetTimeout (line 154) | func (x *HealthPingConfig) GetTimeout() int64 { method GetHttpMethod (line 161) | func (x *HealthPingConfig) GetHttpMethod() string { constant file_app_observatory_burst_config_proto_rawDesc (line 170) | file_app_observatory_burst_config_proto_rawDesc = "" + function file_app_observatory_burst_config_proto_rawDescGZIP (line 193) | func file_app_observatory_burst_config_proto_rawDescGZIP() []byte { function init (line 214) | func init() { file_app_observatory_burst_config_proto_init() } function file_app_observatory_burst_config_proto_init (line 215) | func file_app_observatory_burst_config_proto_init() { FILE: app/observatory/burst/healthping.go type HealthPingSettings (line 16) | type HealthPingSettings struct type HealthPing (line 26) | type HealthPing struct method StartScheduler (line 87) | func (h *HealthPing) StartScheduler(selector func() ([]string, error)) { method StopScheduler (line 127) | func (h *HealthPing) StopScheduler() { method Check (line 138) | func (h *HealthPing) Check(tags []string) error { method doCheck (line 154) | func (h *HealthPing) doCheck(tags []string, duration time.Duration, ro... method PutResult (line 216) | func (h *HealthPing) PutResult(tag string, rtt time.Duration) { method Cleanup (line 237) | func (h *HealthPing) Cleanup(tags []string) { method checkConnectivity (line 256) | func (h *HealthPing) checkConnectivity() bool { function NewHealthPing (line 38) | func NewHealthPing(ctx context.Context, dispatcher routing.Dispatcher, c... type rtt (line 147) | type rtt struct FILE: app/observatory/burst/healthping_result.go type HealthPingStats (line 9) | type HealthPingStats struct type HealthPingRTTS (line 19) | type HealthPingRTTS struct method Get (line 40) | func (h *HealthPingRTTS) Get() *HealthPingStats { method GetWithCache (line 47) | func (h *HealthPingRTTS) GetWithCache() *HealthPingStats { method Put (line 58) | func (h *HealthPingRTTS) Put(d time.Duration) { method calcIndex (line 72) | func (h *HealthPingRTTS) calcIndex(step int) int { method getStatistics (line 81) | func (h *HealthPingRTTS) getStatistics() *HealthPingStats { method findOutdated (line 130) | func (h *HealthPingRTTS) findOutdated(now time.Time) int { type pingRTT (line 29) | type pingRTT struct function NewHealthPingResult (line 35) | func NewHealthPingResult(cap int, validity time.Duration) *HealthPingRTTS { FILE: app/observatory/burst/healthping_result_test.go function TestHealthPingResults (line 12) | func TestHealthPingResults(t *testing.T) { function TestHealthPingResultsIgnoreOutdated (line 54) | func TestHealthPingResultsIgnoreOutdated(t *testing.T) { FILE: app/observatory/burst/ping.go type pingClient (line 15) | type pingClient struct method MeasureDelay (line 56) | func (s *pingClient) MeasureDelay(httpMethod string) (time.Duration, e... function newPingClient (line 20) | func newPingClient(ctx context.Context, dispatcher routing.Dispatcher, d... function newDirectPingClient (line 27) | func newDirectPingClient(destination string, timeout time.Duration) *pin... function newHTTPClient (line 34) | func newHTTPClient(ctxv context.Context, dispatcher routing.Dispatcher, ... FILE: app/observatory/command/command.go type service (line 13) | type service struct method GetOutboundStatus (line 20) | func (s *service) GetOutboundStatus(ctx context.Context, request *GetO... method Register (line 31) | func (s *service) Register(server *grpc.Server) { function init (line 35) | func init() { FILE: app/observatory/command/command.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type GetOutboundStatusRequest (line 25) | type GetOutboundStatusRequest struct method Reset (line 31) | func (x *GetOutboundStatusRequest) Reset() { method String (line 38) | func (x *GetOutboundStatusRequest) String() string { method ProtoMessage (line 42) | func (*GetOutboundStatusRequest) ProtoMessage() {} method ProtoReflect (line 44) | func (x *GetOutboundStatusRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*GetOutboundStatusRequest) Descriptor() ([]byte, []int) { type GetOutboundStatusResponse (line 61) | type GetOutboundStatusResponse struct method Reset (line 68) | func (x *GetOutboundStatusResponse) Reset() { method String (line 75) | func (x *GetOutboundStatusResponse) String() string { method ProtoMessage (line 79) | func (*GetOutboundStatusResponse) ProtoMessage() {} method ProtoReflect (line 81) | func (x *GetOutboundStatusResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 94) | func (*GetOutboundStatusResponse) Descriptor() ([]byte, []int) { method GetStatus (line 98) | func (x *GetOutboundStatusResponse) GetStatus() *observatory.Observati... type Config (line 105) | type Config struct method Reset (line 111) | func (x *Config) Reset() { method String (line 118) | func (x *Config) String() string { method ProtoMessage (line 122) | func (*Config) ProtoMessage() {} method ProtoReflect (line 124) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 137) | func (*Config) Descriptor() ([]byte, []int) { constant file_app_observatory_command_command_proto_rawDesc (line 143) | file_app_observatory_command_command_proto_rawDesc = "" + function file_app_observatory_command_command_proto_rawDescGZIP (line 159) | func file_app_observatory_command_command_proto_rawDescGZIP() []byte { function init (line 184) | func init() { file_app_observatory_command_command_proto_init() } function file_app_observatory_command_command_proto_init (line 185) | func file_app_observatory_command_command_proto_init() { FILE: app/observatory/command/command_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant ObservatoryService_GetOutboundStatus_FullMethodName (line 22) | ObservatoryService_GetOutboundStatus_FullMethodName = "/xray.core.app.ob... type ObservatoryServiceClient (line 28) | type ObservatoryServiceClient interface type observatoryServiceClient (line 32) | type observatoryServiceClient struct method GetOutboundStatus (line 40) | func (c *observatoryServiceClient) GetOutboundStatus(ctx context.Conte... function NewObservatoryServiceClient (line 36) | func NewObservatoryServiceClient(cc grpc.ClientConnInterface) Observator... type ObservatoryServiceServer (line 53) | type ObservatoryServiceServer interface type UnimplementedObservatoryServiceServer (line 63) | type UnimplementedObservatoryServiceServer struct method GetOutboundStatus (line 65) | func (UnimplementedObservatoryServiceServer) GetOutboundStatus(context... method mustEmbedUnimplementedObservatoryServiceServer (line 68) | func (UnimplementedObservatoryServiceServer) mustEmbedUnimplementedObs... method testEmbeddedByValue (line 69) | func (UnimplementedObservatoryServiceServer) testEmbeddedByValue() ... type UnsafeObservatoryServiceServer (line 74) | type UnsafeObservatoryServiceServer interface function RegisterObservatoryServiceServer (line 78) | func RegisterObservatoryServiceServer(s grpc.ServiceRegistrar, srv Obser... function _ObservatoryService_GetOutboundStatus_Handler (line 89) | func _ObservatoryService_GetOutboundStatus_Handler(srv interface{}, ctx ... FILE: app/observatory/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type ObservationResult (line 24) | type ObservationResult struct method Reset (line 31) | func (x *ObservationResult) Reset() { method String (line 38) | func (x *ObservationResult) String() string { method ProtoMessage (line 42) | func (*ObservationResult) ProtoMessage() {} method ProtoReflect (line 44) | func (x *ObservationResult) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*ObservationResult) Descriptor() ([]byte, []int) { method GetStatus (line 61) | func (x *ObservationResult) GetStatus() []*OutboundStatus { type HealthPingMeasurementResult (line 68) | type HealthPingMeasurementResult struct method Reset (line 80) | func (x *HealthPingMeasurementResult) Reset() { method String (line 87) | func (x *HealthPingMeasurementResult) String() string { method ProtoMessage (line 91) | func (*HealthPingMeasurementResult) ProtoMessage() {} method ProtoReflect (line 93) | func (x *HealthPingMeasurementResult) ProtoReflect() protoreflect.Mess... method Descriptor (line 106) | func (*HealthPingMeasurementResult) Descriptor() ([]byte, []int) { method GetAll (line 110) | func (x *HealthPingMeasurementResult) GetAll() int64 { method GetFail (line 117) | func (x *HealthPingMeasurementResult) GetFail() int64 { method GetDeviation (line 124) | func (x *HealthPingMeasurementResult) GetDeviation() int64 { method GetAverage (line 131) | func (x *HealthPingMeasurementResult) GetAverage() int64 { method GetMax (line 138) | func (x *HealthPingMeasurementResult) GetMax() int64 { method GetMin (line 145) | func (x *HealthPingMeasurementResult) GetMin() int64 { type OutboundStatus (line 152) | type OutboundStatus struct method Reset (line 178) | func (x *OutboundStatus) Reset() { method String (line 185) | func (x *OutboundStatus) String() string { method ProtoMessage (line 189) | func (*OutboundStatus) ProtoMessage() {} method ProtoReflect (line 191) | func (x *OutboundStatus) ProtoReflect() protoreflect.Message { method Descriptor (line 204) | func (*OutboundStatus) Descriptor() ([]byte, []int) { method GetAlive (line 208) | func (x *OutboundStatus) GetAlive() bool { method GetDelay (line 215) | func (x *OutboundStatus) GetDelay() int64 { method GetLastErrorReason (line 222) | func (x *OutboundStatus) GetLastErrorReason() string { method GetOutboundTag (line 229) | func (x *OutboundStatus) GetOutboundTag() string { method GetLastSeenTime (line 236) | func (x *OutboundStatus) GetLastSeenTime() int64 { method GetLastTryTime (line 243) | func (x *OutboundStatus) GetLastTryTime() int64 { method GetHealthPing (line 250) | func (x *OutboundStatus) GetHealthPing() *HealthPingMeasurementResult { type ProbeResult (line 257) | type ProbeResult struct method Reset (line 273) | func (x *ProbeResult) Reset() { method String (line 280) | func (x *ProbeResult) String() string { method ProtoMessage (line 284) | func (*ProbeResult) ProtoMessage() {} method ProtoReflect (line 286) | func (x *ProbeResult) ProtoReflect() protoreflect.Message { method Descriptor (line 299) | func (*ProbeResult) Descriptor() ([]byte, []int) { method GetAlive (line 303) | func (x *ProbeResult) GetAlive() bool { method GetDelay (line 310) | func (x *ProbeResult) GetDelay() int64 { method GetLastErrorReason (line 317) | func (x *ProbeResult) GetLastErrorReason() string { type Intensity (line 324) | type Intensity struct method Reset (line 333) | func (x *Intensity) Reset() { method String (line 340) | func (x *Intensity) String() string { method ProtoMessage (line 344) | func (*Intensity) ProtoMessage() {} method ProtoReflect (line 346) | func (x *Intensity) ProtoReflect() protoreflect.Message { method Descriptor (line 359) | func (*Intensity) Descriptor() ([]byte, []int) { method GetProbeInterval (line 363) | func (x *Intensity) GetProbeInterval() uint32 { type Config (line 370) | type Config struct method Reset (line 381) | func (x *Config) Reset() { method String (line 388) | func (x *Config) String() string { method ProtoMessage (line 392) | func (*Config) ProtoMessage() {} method ProtoReflect (line 394) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 407) | func (*Config) Descriptor() ([]byte, []int) { method GetSubjectSelector (line 411) | func (x *Config) GetSubjectSelector() []string { method GetProbeUrl (line 418) | func (x *Config) GetProbeUrl() string { method GetProbeInterval (line 425) | func (x *Config) GetProbeInterval() int64 { method GetEnableConcurrency (line 432) | func (x *Config) GetEnableConcurrency() bool { constant file_app_observatory_config_proto_rawDesc (line 441) | file_app_observatory_config_proto_rawDesc = "" + function file_app_observatory_config_proto_rawDescGZIP (line 480) | func file_app_observatory_config_proto_rawDescGZIP() []byte { function init (line 506) | func init() { file_app_observatory_config_proto_init() } function file_app_observatory_config_proto_init (line 507) | func file_app_observatory_config_proto_init() { FILE: app/observatory/explainErrors.go type errorCollector (line 5) | type errorCollector struct method SubmitError (line 9) | func (e *errorCollector) SubmitError(err error) { method UnderlyingError (line 21) | func (e *errorCollector) UnderlyingError() error { function newErrorCollector (line 17) | func newErrorCollector() *errorCollector { FILE: app/observatory/observer.go type Observer (line 27) | type Observer struct method GetObservation (line 40) | func (o *Observer) GetObservation(ctx context.Context) (proto.Message,... method Type (line 44) | func (o *Observer) Type() interface{} { method Start (line 48) | func (o *Observer) Start() error { method Close (line 56) | func (o *Observer) Close() error { method background (line 63) | func (o *Observer) background() { method updateStatus (line 114) | func (o *Observer) updateStatus(outbounds []string) { method probe (line 121) | func (o *Observer) probe(outbound string) ProbeResult { method updateStatusForResult (line 188) | func (o *Observer) updateStatusForResult(outbound string, result *Prob... method findStatusLocationLockHolderOnly (line 212) | func (o *Observer) findStatusLocationLockHolderOnly(outbound string) i... function New (line 221) | func New(ctx context.Context, config *Config) (*Observer, error) { function init (line 239) | func init() { FILE: app/policy/config.go method Duration (line 10) | func (s *Second) Duration() time.Duration { function defaultPolicy (line 17) | func defaultPolicy() *Policy { method overrideWith (line 33) | func (p *Policy_Timeout) overrideWith(another *Policy_Timeout) { method overrideWith (line 48) | func (p *Policy) overrideWith(another *Policy) { method ToCorePolicy (line 64) | func (p *Policy) ToCorePolicy() policy.Session { method ToCorePolicy (line 85) | func (p *SystemPolicy) ToCorePolicy() policy.System { FILE: app/policy/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Second (line 24) | type Second struct method Reset (line 31) | func (x *Second) Reset() { method String (line 38) | func (x *Second) String() string { method ProtoMessage (line 42) | func (*Second) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Second) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Second) Descriptor() ([]byte, []int) { method GetValue (line 61) | func (x *Second) GetValue() uint32 { type Policy (line 68) | type Policy struct method Reset (line 77) | func (x *Policy) Reset() { method String (line 84) | func (x *Policy) String() string { method ProtoMessage (line 88) | func (*Policy) ProtoMessage() {} method ProtoReflect (line 90) | func (x *Policy) ProtoReflect() protoreflect.Message { method Descriptor (line 103) | func (*Policy) Descriptor() ([]byte, []int) { method GetTimeout (line 107) | func (x *Policy) GetTimeout() *Policy_Timeout { method GetStats (line 114) | func (x *Policy) GetStats() *Policy_Stats { method GetBuffer (line 121) | func (x *Policy) GetBuffer() *Policy_Buffer { type SystemPolicy (line 128) | type SystemPolicy struct method Reset (line 135) | func (x *SystemPolicy) Reset() { method String (line 142) | func (x *SystemPolicy) String() string { method ProtoMessage (line 146) | func (*SystemPolicy) ProtoMessage() {} method ProtoReflect (line 148) | func (x *SystemPolicy) ProtoReflect() protoreflect.Message { method Descriptor (line 161) | func (*SystemPolicy) Descriptor() ([]byte, []int) { method GetStats (line 165) | func (x *SystemPolicy) GetStats() *SystemPolicy_Stats { type Config (line 172) | type Config struct method Reset (line 180) | func (x *Config) Reset() { method String (line 187) | func (x *Config) String() string { method ProtoMessage (line 191) | func (*Config) ProtoMessage() {} method ProtoReflect (line 193) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 206) | func (*Config) Descriptor() ([]byte, []int) { method GetLevel (line 210) | func (x *Config) GetLevel() map[uint32]*Policy { method GetSystem (line 217) | func (x *Config) GetSystem() *SystemPolicy { type Policy_Timeout (line 225) | type Policy_Timeout struct method Reset (line 235) | func (x *Policy_Timeout) Reset() { method String (line 242) | func (x *Policy_Timeout) String() string { method ProtoMessage (line 246) | func (*Policy_Timeout) ProtoMessage() {} method ProtoReflect (line 248) | func (x *Policy_Timeout) ProtoReflect() protoreflect.Message { method Descriptor (line 261) | func (*Policy_Timeout) Descriptor() ([]byte, []int) { method GetHandshake (line 265) | func (x *Policy_Timeout) GetHandshake() *Second { method GetConnectionIdle (line 272) | func (x *Policy_Timeout) GetConnectionIdle() *Second { method GetUplinkOnly (line 279) | func (x *Policy_Timeout) GetUplinkOnly() *Second { method GetDownlinkOnly (line 286) | func (x *Policy_Timeout) GetDownlinkOnly() *Second { type Policy_Stats (line 293) | type Policy_Stats struct method Reset (line 302) | func (x *Policy_Stats) Reset() { method String (line 309) | func (x *Policy_Stats) String() string { method ProtoMessage (line 313) | func (*Policy_Stats) ProtoMessage() {} method ProtoReflect (line 315) | func (x *Policy_Stats) ProtoReflect() protoreflect.Message { method Descriptor (line 328) | func (*Policy_Stats) Descriptor() ([]byte, []int) { method GetUserUplink (line 332) | func (x *Policy_Stats) GetUserUplink() bool { method GetUserDownlink (line 339) | func (x *Policy_Stats) GetUserDownlink() bool { method GetUserOnline (line 346) | func (x *Policy_Stats) GetUserOnline() bool { type Policy_Buffer (line 353) | type Policy_Buffer struct method Reset (line 361) | func (x *Policy_Buffer) Reset() { method String (line 368) | func (x *Policy_Buffer) String() string { method ProtoMessage (line 372) | func (*Policy_Buffer) ProtoMessage() {} method ProtoReflect (line 374) | func (x *Policy_Buffer) ProtoReflect() protoreflect.Message { method Descriptor (line 387) | func (*Policy_Buffer) Descriptor() ([]byte, []int) { method GetConnection (line 391) | func (x *Policy_Buffer) GetConnection() int32 { type SystemPolicy_Stats (line 398) | type SystemPolicy_Stats struct method Reset (line 408) | func (x *SystemPolicy_Stats) Reset() { method String (line 415) | func (x *SystemPolicy_Stats) String() string { method ProtoMessage (line 419) | func (*SystemPolicy_Stats) ProtoMessage() {} method ProtoReflect (line 421) | func (x *SystemPolicy_Stats) ProtoReflect() protoreflect.Message { method Descriptor (line 434) | func (*SystemPolicy_Stats) Descriptor() ([]byte, []int) { method GetInboundUplink (line 438) | func (x *SystemPolicy_Stats) GetInboundUplink() bool { method GetInboundDownlink (line 445) | func (x *SystemPolicy_Stats) GetInboundDownlink() bool { method GetOutboundUplink (line 452) | func (x *SystemPolicy_Stats) GetOutboundUplink() bool { method GetOutboundDownlink (line 459) | func (x *SystemPolicy_Stats) GetOutboundDownlink() bool { constant file_app_policy_config_proto_rawDesc (line 468) | file_app_policy_config_proto_rawDesc = "" + function file_app_policy_config_proto_rawDescGZIP (line 514) | func file_app_policy_config_proto_rawDescGZIP() []byte { function init (line 552) | func init() { file_app_policy_config_proto_init() } function file_app_policy_config_proto_init (line 553) | func file_app_policy_config_proto_init() { FILE: app/policy/manager.go type Instance (line 11) | type Instance struct method Type (line 34) | func (*Instance) Type() interface{} { method ForLevel (line 39) | func (m *Instance) ForLevel(level uint32) policy.Session { method ForSystem (line 47) | func (m *Instance) ForSystem() policy.System { method Start (line 55) | func (m *Instance) Start() error { method Close (line 60) | func (m *Instance) Close() error { function New (line 17) | func New(ctx context.Context, config *Config) (*Instance, error) { function init (line 64) | func init() { FILE: app/policy/manager_test.go function TestPolicy (line 13) | func TestPolicy(t *testing.T) { FILE: app/proxyman/command/command.go type InboundOperation (line 18) | type InboundOperation interface type OutboundOperation (line 24) | type OutboundOperation interface function getInbound (line 29) | func getInbound(handler inbound.Handler) (proxy.Inbound, error) { method ApplyInbound (line 38) | func (op *AddUserOperation) ApplyInbound(ctx context.Context, handler in... method ApplyInbound (line 55) | func (op *RemoveUserOperation) ApplyInbound(ctx context.Context, handler... type handlerServer (line 67) | type handlerServer struct method AddInbound (line 73) | func (s *handlerServer) AddInbound(ctx context.Context, request *AddIn... method RemoveInbound (line 81) | func (s *handlerServer) RemoveInbound(ctx context.Context, request *Re... method AlterInbound (line 85) | func (s *handlerServer) AlterInbound(ctx context.Context, request *Alt... method ListInbounds (line 103) | func (s *handlerServer) ListInbounds(ctx context.Context, request *Lis... method GetInboundUsers (line 125) | func (s *handlerServer) GetInboundUsers(ctx context.Context, request *... method GetInboundUsersCount (line 149) | func (s *handlerServer) GetInboundUsersCount(ctx context.Context, requ... method AddOutbound (line 165) | func (s *handlerServer) AddOutbound(ctx context.Context, request *AddO... method RemoveOutbound (line 172) | func (s *handlerServer) RemoveOutbound(ctx context.Context, request *R... method AlterOutbound (line 176) | func (s *handlerServer) AlterOutbound(ctx context.Context, request *Al... method ListOutbounds (line 190) | func (s *handlerServer) ListOutbounds(ctx context.Context, request *Li... method mustEmbedUnimplementedHandlerServiceServer (line 207) | func (s *handlerServer) mustEmbedUnimplementedHandlerServiceServer() {} type service (line 209) | type service struct method Register (line 213) | func (s *service) Register(server *grpc.Server) { function init (line 229) | func init() { FILE: app/proxyman/command/command.pb.go constant _ (line 22) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 24) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type AddUserOperation (line 27) | type AddUserOperation struct method Reset (line 34) | func (x *AddUserOperation) Reset() { method String (line 41) | func (x *AddUserOperation) String() string { method ProtoMessage (line 45) | func (*AddUserOperation) ProtoMessage() {} method ProtoReflect (line 47) | func (x *AddUserOperation) ProtoReflect() protoreflect.Message { method Descriptor (line 60) | func (*AddUserOperation) Descriptor() ([]byte, []int) { method GetUser (line 64) | func (x *AddUserOperation) GetUser() *protocol.User { type RemoveUserOperation (line 71) | type RemoveUserOperation struct method Reset (line 78) | func (x *RemoveUserOperation) Reset() { method String (line 85) | func (x *RemoveUserOperation) String() string { method ProtoMessage (line 89) | func (*RemoveUserOperation) ProtoMessage() {} method ProtoReflect (line 91) | func (x *RemoveUserOperation) ProtoReflect() protoreflect.Message { method Descriptor (line 104) | func (*RemoveUserOperation) Descriptor() ([]byte, []int) { method GetEmail (line 108) | func (x *RemoveUserOperation) GetEmail() string { type AddInboundRequest (line 115) | type AddInboundRequest struct method Reset (line 122) | func (x *AddInboundRequest) Reset() { method String (line 129) | func (x *AddInboundRequest) String() string { method ProtoMessage (line 133) | func (*AddInboundRequest) ProtoMessage() {} method ProtoReflect (line 135) | func (x *AddInboundRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 148) | func (*AddInboundRequest) Descriptor() ([]byte, []int) { method GetInbound (line 152) | func (x *AddInboundRequest) GetInbound() *core.InboundHandlerConfig { type AddInboundResponse (line 159) | type AddInboundResponse struct method Reset (line 165) | func (x *AddInboundResponse) Reset() { method String (line 172) | func (x *AddInboundResponse) String() string { method ProtoMessage (line 176) | func (*AddInboundResponse) ProtoMessage() {} method ProtoReflect (line 178) | func (x *AddInboundResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 191) | func (*AddInboundResponse) Descriptor() ([]byte, []int) { type RemoveInboundRequest (line 195) | type RemoveInboundRequest struct method Reset (line 202) | func (x *RemoveInboundRequest) Reset() { method String (line 209) | func (x *RemoveInboundRequest) String() string { method ProtoMessage (line 213) | func (*RemoveInboundRequest) ProtoMessage() {} method ProtoReflect (line 215) | func (x *RemoveInboundRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 228) | func (*RemoveInboundRequest) Descriptor() ([]byte, []int) { method GetTag (line 232) | func (x *RemoveInboundRequest) GetTag() string { type RemoveInboundResponse (line 239) | type RemoveInboundResponse struct method Reset (line 245) | func (x *RemoveInboundResponse) Reset() { method String (line 252) | func (x *RemoveInboundResponse) String() string { method ProtoMessage (line 256) | func (*RemoveInboundResponse) ProtoMessage() {} method ProtoReflect (line 258) | func (x *RemoveInboundResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 271) | func (*RemoveInboundResponse) Descriptor() ([]byte, []int) { type AlterInboundRequest (line 275) | type AlterInboundRequest struct method Reset (line 283) | func (x *AlterInboundRequest) Reset() { method String (line 290) | func (x *AlterInboundRequest) String() string { method ProtoMessage (line 294) | func (*AlterInboundRequest) ProtoMessage() {} method ProtoReflect (line 296) | func (x *AlterInboundRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 309) | func (*AlterInboundRequest) Descriptor() ([]byte, []int) { method GetTag (line 313) | func (x *AlterInboundRequest) GetTag() string { method GetOperation (line 320) | func (x *AlterInboundRequest) GetOperation() *serial.TypedMessage { type AlterInboundResponse (line 327) | type AlterInboundResponse struct method Reset (line 333) | func (x *AlterInboundResponse) Reset() { method String (line 340) | func (x *AlterInboundResponse) String() string { method ProtoMessage (line 344) | func (*AlterInboundResponse) ProtoMessage() {} method ProtoReflect (line 346) | func (x *AlterInboundResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 359) | func (*AlterInboundResponse) Descriptor() ([]byte, []int) { type ListInboundsRequest (line 363) | type ListInboundsRequest struct method Reset (line 370) | func (x *ListInboundsRequest) Reset() { method String (line 377) | func (x *ListInboundsRequest) String() string { method ProtoMessage (line 381) | func (*ListInboundsRequest) ProtoMessage() {} method ProtoReflect (line 383) | func (x *ListInboundsRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 396) | func (*ListInboundsRequest) Descriptor() ([]byte, []int) { method GetIsOnlyTags (line 400) | func (x *ListInboundsRequest) GetIsOnlyTags() bool { type ListInboundsResponse (line 407) | type ListInboundsResponse struct method Reset (line 414) | func (x *ListInboundsResponse) Reset() { method String (line 421) | func (x *ListInboundsResponse) String() string { method ProtoMessage (line 425) | func (*ListInboundsResponse) ProtoMessage() {} method ProtoReflect (line 427) | func (x *ListInboundsResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 440) | func (*ListInboundsResponse) Descriptor() ([]byte, []int) { method GetInbounds (line 444) | func (x *ListInboundsResponse) GetInbounds() []*core.InboundHandlerCon... type GetInboundUserRequest (line 451) | type GetInboundUserRequest struct method Reset (line 459) | func (x *GetInboundUserRequest) Reset() { method String (line 466) | func (x *GetInboundUserRequest) String() string { method ProtoMessage (line 470) | func (*GetInboundUserRequest) ProtoMessage() {} method ProtoReflect (line 472) | func (x *GetInboundUserRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 485) | func (*GetInboundUserRequest) Descriptor() ([]byte, []int) { method GetTag (line 489) | func (x *GetInboundUserRequest) GetTag() string { method GetEmail (line 496) | func (x *GetInboundUserRequest) GetEmail() string { type GetInboundUserResponse (line 503) | type GetInboundUserResponse struct method Reset (line 510) | func (x *GetInboundUserResponse) Reset() { method String (line 517) | func (x *GetInboundUserResponse) String() string { method ProtoMessage (line 521) | func (*GetInboundUserResponse) ProtoMessage() {} method ProtoReflect (line 523) | func (x *GetInboundUserResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 536) | func (*GetInboundUserResponse) Descriptor() ([]byte, []int) { method GetUsers (line 540) | func (x *GetInboundUserResponse) GetUsers() []*protocol.User { type GetInboundUsersCountResponse (line 547) | type GetInboundUsersCountResponse struct method Reset (line 554) | func (x *GetInboundUsersCountResponse) Reset() { method String (line 561) | func (x *GetInboundUsersCountResponse) String() string { method ProtoMessage (line 565) | func (*GetInboundUsersCountResponse) ProtoMessage() {} method ProtoReflect (line 567) | func (x *GetInboundUsersCountResponse) ProtoReflect() protoreflect.Mes... method Descriptor (line 580) | func (*GetInboundUsersCountResponse) Descriptor() ([]byte, []int) { method GetCount (line 584) | func (x *GetInboundUsersCountResponse) GetCount() int64 { type AddOutboundRequest (line 591) | type AddOutboundRequest struct method Reset (line 598) | func (x *AddOutboundRequest) Reset() { method String (line 605) | func (x *AddOutboundRequest) String() string { method ProtoMessage (line 609) | func (*AddOutboundRequest) ProtoMessage() {} method ProtoReflect (line 611) | func (x *AddOutboundRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 624) | func (*AddOutboundRequest) Descriptor() ([]byte, []int) { method GetOutbound (line 628) | func (x *AddOutboundRequest) GetOutbound() *core.OutboundHandlerConfig { type AddOutboundResponse (line 635) | type AddOutboundResponse struct method Reset (line 641) | func (x *AddOutboundResponse) Reset() { method String (line 648) | func (x *AddOutboundResponse) String() string { method ProtoMessage (line 652) | func (*AddOutboundResponse) ProtoMessage() {} method ProtoReflect (line 654) | func (x *AddOutboundResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 667) | func (*AddOutboundResponse) Descriptor() ([]byte, []int) { type RemoveOutboundRequest (line 671) | type RemoveOutboundRequest struct method Reset (line 678) | func (x *RemoveOutboundRequest) Reset() { method String (line 685) | func (x *RemoveOutboundRequest) String() string { method ProtoMessage (line 689) | func (*RemoveOutboundRequest) ProtoMessage() {} method ProtoReflect (line 691) | func (x *RemoveOutboundRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 704) | func (*RemoveOutboundRequest) Descriptor() ([]byte, []int) { method GetTag (line 708) | func (x *RemoveOutboundRequest) GetTag() string { type RemoveOutboundResponse (line 715) | type RemoveOutboundResponse struct method Reset (line 721) | func (x *RemoveOutboundResponse) Reset() { method String (line 728) | func (x *RemoveOutboundResponse) String() string { method ProtoMessage (line 732) | func (*RemoveOutboundResponse) ProtoMessage() {} method ProtoReflect (line 734) | func (x *RemoveOutboundResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 747) | func (*RemoveOutboundResponse) Descriptor() ([]byte, []int) { type AlterOutboundRequest (line 751) | type AlterOutboundRequest struct method Reset (line 759) | func (x *AlterOutboundRequest) Reset() { method String (line 766) | func (x *AlterOutboundRequest) String() string { method ProtoMessage (line 770) | func (*AlterOutboundRequest) ProtoMessage() {} method ProtoReflect (line 772) | func (x *AlterOutboundRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 785) | func (*AlterOutboundRequest) Descriptor() ([]byte, []int) { method GetTag (line 789) | func (x *AlterOutboundRequest) GetTag() string { method GetOperation (line 796) | func (x *AlterOutboundRequest) GetOperation() *serial.TypedMessage { type AlterOutboundResponse (line 803) | type AlterOutboundResponse struct method Reset (line 809) | func (x *AlterOutboundResponse) Reset() { method String (line 816) | func (x *AlterOutboundResponse) String() string { method ProtoMessage (line 820) | func (*AlterOutboundResponse) ProtoMessage() {} method ProtoReflect (line 822) | func (x *AlterOutboundResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 835) | func (*AlterOutboundResponse) Descriptor() ([]byte, []int) { type ListOutboundsRequest (line 839) | type ListOutboundsRequest struct method Reset (line 845) | func (x *ListOutboundsRequest) Reset() { method String (line 852) | func (x *ListOutboundsRequest) String() string { method ProtoMessage (line 856) | func (*ListOutboundsRequest) ProtoMessage() {} method ProtoReflect (line 858) | func (x *ListOutboundsRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 871) | func (*ListOutboundsRequest) Descriptor() ([]byte, []int) { type ListOutboundsResponse (line 875) | type ListOutboundsResponse struct method Reset (line 882) | func (x *ListOutboundsResponse) Reset() { method String (line 889) | func (x *ListOutboundsResponse) String() string { method ProtoMessage (line 893) | func (*ListOutboundsResponse) ProtoMessage() {} method ProtoReflect (line 895) | func (x *ListOutboundsResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 908) | func (*ListOutboundsResponse) Descriptor() ([]byte, []int) { method GetOutbounds (line 912) | func (x *ListOutboundsResponse) GetOutbounds() []*core.OutboundHandler... type Config (line 919) | type Config struct method Reset (line 925) | func (x *Config) Reset() { method String (line 932) | func (x *Config) String() string { method ProtoMessage (line 936) | func (*Config) ProtoMessage() {} method ProtoReflect (line 938) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 951) | func (*Config) Descriptor() ([]byte, []int) { constant file_app_proxyman_command_command_proto_rawDesc (line 957) | file_app_proxyman_command_command_proto_rawDesc = "" + function file_app_proxyman_command_command_proto_rawDescGZIP (line 1020) | func file_app_proxyman_command_command_proto_rawDescGZIP() []byte { function init (line 1092) | func init() { file_app_proxyman_command_command_proto_init() } function file_app_proxyman_command_command_proto_init (line 1093) | func file_app_proxyman_command_command_proto_init() { FILE: app/proxyman/command/command_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant HandlerService_AddInbound_FullMethodName (line 22) | HandlerService_AddInbound_FullMethodName = "/xray.app.proxyman... constant HandlerService_RemoveInbound_FullMethodName (line 23) | HandlerService_RemoveInbound_FullMethodName = "/xray.app.proxyman... constant HandlerService_AlterInbound_FullMethodName (line 24) | HandlerService_AlterInbound_FullMethodName = "/xray.app.proxyman... constant HandlerService_ListInbounds_FullMethodName (line 25) | HandlerService_ListInbounds_FullMethodName = "/xray.app.proxyman... constant HandlerService_GetInboundUsers_FullMethodName (line 26) | HandlerService_GetInboundUsers_FullMethodName = "/xray.app.proxyman... constant HandlerService_GetInboundUsersCount_FullMethodName (line 27) | HandlerService_GetInboundUsersCount_FullMethodName = "/xray.app.proxyman... constant HandlerService_AddOutbound_FullMethodName (line 28) | HandlerService_AddOutbound_FullMethodName = "/xray.app.proxyman... constant HandlerService_RemoveOutbound_FullMethodName (line 29) | HandlerService_RemoveOutbound_FullMethodName = "/xray.app.proxyman... constant HandlerService_AlterOutbound_FullMethodName (line 30) | HandlerService_AlterOutbound_FullMethodName = "/xray.app.proxyman... constant HandlerService_ListOutbounds_FullMethodName (line 31) | HandlerService_ListOutbounds_FullMethodName = "/xray.app.proxyman... type HandlerServiceClient (line 37) | type HandlerServiceClient interface type handlerServiceClient (line 50) | type handlerServiceClient struct method AddInbound (line 58) | func (c *handlerServiceClient) AddInbound(ctx context.Context, in *Add... method RemoveInbound (line 68) | func (c *handlerServiceClient) RemoveInbound(ctx context.Context, in *... method AlterInbound (line 78) | func (c *handlerServiceClient) AlterInbound(ctx context.Context, in *A... method ListInbounds (line 88) | func (c *handlerServiceClient) ListInbounds(ctx context.Context, in *L... method GetInboundUsers (line 98) | func (c *handlerServiceClient) GetInboundUsers(ctx context.Context, in... method GetInboundUsersCount (line 108) | func (c *handlerServiceClient) GetInboundUsersCount(ctx context.Contex... method AddOutbound (line 118) | func (c *handlerServiceClient) AddOutbound(ctx context.Context, in *Ad... method RemoveOutbound (line 128) | func (c *handlerServiceClient) RemoveOutbound(ctx context.Context, in ... method AlterOutbound (line 138) | func (c *handlerServiceClient) AlterOutbound(ctx context.Context, in *... method ListOutbounds (line 148) | func (c *handlerServiceClient) ListOutbounds(ctx context.Context, in *... function NewHandlerServiceClient (line 54) | func NewHandlerServiceClient(cc grpc.ClientConnInterface) HandlerService... type HandlerServiceServer (line 161) | type HandlerServiceServer interface type UnimplementedHandlerServiceServer (line 180) | type UnimplementedHandlerServiceServer struct method AddInbound (line 182) | func (UnimplementedHandlerServiceServer) AddInbound(context.Context, *... method RemoveInbound (line 185) | func (UnimplementedHandlerServiceServer) RemoveInbound(context.Context... method AlterInbound (line 188) | func (UnimplementedHandlerServiceServer) AlterInbound(context.Context,... method ListInbounds (line 191) | func (UnimplementedHandlerServiceServer) ListInbounds(context.Context,... method GetInboundUsers (line 194) | func (UnimplementedHandlerServiceServer) GetInboundUsers(context.Conte... method GetInboundUsersCount (line 197) | func (UnimplementedHandlerServiceServer) GetInboundUsersCount(context.... method AddOutbound (line 200) | func (UnimplementedHandlerServiceServer) AddOutbound(context.Context, ... method RemoveOutbound (line 203) | func (UnimplementedHandlerServiceServer) RemoveOutbound(context.Contex... method AlterOutbound (line 206) | func (UnimplementedHandlerServiceServer) AlterOutbound(context.Context... method ListOutbounds (line 209) | func (UnimplementedHandlerServiceServer) ListOutbounds(context.Context... method mustEmbedUnimplementedHandlerServiceServer (line 212) | func (UnimplementedHandlerServiceServer) mustEmbedUnimplementedHandler... method testEmbeddedByValue (line 213) | func (UnimplementedHandlerServiceServer) testEmbeddedByValue() ... type UnsafeHandlerServiceServer (line 218) | type UnsafeHandlerServiceServer interface function RegisterHandlerServiceServer (line 222) | func RegisterHandlerServiceServer(s grpc.ServiceRegistrar, srv HandlerSe... function _HandlerService_AddInbound_Handler (line 233) | func _HandlerService_AddInbound_Handler(srv interface{}, ctx context.Con... function _HandlerService_RemoveInbound_Handler (line 251) | func _HandlerService_RemoveInbound_Handler(srv interface{}, ctx context.... function _HandlerService_AlterInbound_Handler (line 269) | func _HandlerService_AlterInbound_Handler(srv interface{}, ctx context.C... function _HandlerService_ListInbounds_Handler (line 287) | func _HandlerService_ListInbounds_Handler(srv interface{}, ctx context.C... function _HandlerService_GetInboundUsers_Handler (line 305) | func _HandlerService_GetInboundUsers_Handler(srv interface{}, ctx contex... function _HandlerService_GetInboundUsersCount_Handler (line 323) | func _HandlerService_GetInboundUsersCount_Handler(srv interface{}, ctx c... function _HandlerService_AddOutbound_Handler (line 341) | func _HandlerService_AddOutbound_Handler(srv interface{}, ctx context.Co... function _HandlerService_RemoveOutbound_Handler (line 359) | func _HandlerService_RemoveOutbound_Handler(srv interface{}, ctx context... function _HandlerService_AlterOutbound_Handler (line 377) | func _HandlerService_AlterOutbound_Handler(srv interface{}, ctx context.... function _HandlerService_ListOutbounds_Handler (line 395) | func _HandlerService_ListOutbounds_Handler(srv interface{}, ctx context.... FILE: app/proxyman/config.pb.go constant _ (line 22) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 24) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type InboundConfig (line 27) | type InboundConfig struct method Reset (line 33) | func (x *InboundConfig) Reset() { method String (line 40) | func (x *InboundConfig) String() string { method ProtoMessage (line 44) | func (*InboundConfig) ProtoMessage() {} method ProtoReflect (line 46) | func (x *InboundConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*InboundConfig) Descriptor() ([]byte, []int) { type SniffingConfig (line 63) | type SniffingConfig struct method Reset (line 80) | func (x *SniffingConfig) Reset() { method String (line 87) | func (x *SniffingConfig) String() string { method ProtoMessage (line 91) | func (*SniffingConfig) ProtoMessage() {} method ProtoReflect (line 93) | func (x *SniffingConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 106) | func (*SniffingConfig) Descriptor() ([]byte, []int) { method GetEnabled (line 110) | func (x *SniffingConfig) GetEnabled() bool { method GetDestinationOverride (line 117) | func (x *SniffingConfig) GetDestinationOverride() []string { method GetDomainsExcluded (line 124) | func (x *SniffingConfig) GetDomainsExcluded() []string { method GetMetadataOnly (line 131) | func (x *SniffingConfig) GetMetadataOnly() bool { method GetRouteOnly (line 138) | func (x *SniffingConfig) GetRouteOnly() bool { type ReceiverConfig (line 145) | type ReceiverConfig struct method Reset (line 158) | func (x *ReceiverConfig) Reset() { method String (line 165) | func (x *ReceiverConfig) String() string { method ProtoMessage (line 169) | func (*ReceiverConfig) ProtoMessage() {} method ProtoReflect (line 171) | func (x *ReceiverConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 184) | func (*ReceiverConfig) Descriptor() ([]byte, []int) { method GetPortList (line 188) | func (x *ReceiverConfig) GetPortList() *net.PortList { method GetListen (line 195) | func (x *ReceiverConfig) GetListen() *net.IPOrDomain { method GetStreamSettings (line 202) | func (x *ReceiverConfig) GetStreamSettings() *internet.StreamConfig { method GetReceiveOriginalDestination (line 209) | func (x *ReceiverConfig) GetReceiveOriginalDestination() bool { method GetSniffingSettings (line 216) | func (x *ReceiverConfig) GetSniffingSettings() *SniffingConfig { type InboundHandlerConfig (line 223) | type InboundHandlerConfig struct method Reset (line 232) | func (x *InboundHandlerConfig) Reset() { method String (line 239) | func (x *InboundHandlerConfig) String() string { method ProtoMessage (line 243) | func (*InboundHandlerConfig) ProtoMessage() {} method ProtoReflect (line 245) | func (x *InboundHandlerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 258) | func (*InboundHandlerConfig) Descriptor() ([]byte, []int) { method GetTag (line 262) | func (x *InboundHandlerConfig) GetTag() string { method GetReceiverSettings (line 269) | func (x *InboundHandlerConfig) GetReceiverSettings() *serial.TypedMess... method GetProxySettings (line 276) | func (x *InboundHandlerConfig) GetProxySettings() *serial.TypedMessage { type OutboundConfig (line 283) | type OutboundConfig struct method Reset (line 289) | func (x *OutboundConfig) Reset() { method String (line 296) | func (x *OutboundConfig) String() string { method ProtoMessage (line 300) | func (*OutboundConfig) ProtoMessage() {} method ProtoReflect (line 302) | func (x *OutboundConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 315) | func (*OutboundConfig) Descriptor() ([]byte, []int) { type SenderConfig (line 319) | type SenderConfig struct method Reset (line 332) | func (x *SenderConfig) Reset() { method String (line 339) | func (x *SenderConfig) String() string { method ProtoMessage (line 343) | func (*SenderConfig) ProtoMessage() {} method ProtoReflect (line 345) | func (x *SenderConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 358) | func (*SenderConfig) Descriptor() ([]byte, []int) { method GetVia (line 362) | func (x *SenderConfig) GetVia() *net.IPOrDomain { method GetStreamSettings (line 369) | func (x *SenderConfig) GetStreamSettings() *internet.StreamConfig { method GetProxySettings (line 376) | func (x *SenderConfig) GetProxySettings() *internet.ProxyConfig { method GetMultiplexSettings (line 383) | func (x *SenderConfig) GetMultiplexSettings() *MultiplexingConfig { method GetViaCidr (line 390) | func (x *SenderConfig) GetViaCidr() string { method GetTargetStrategy (line 397) | func (x *SenderConfig) GetTargetStrategy() internet.DomainStrategy { type MultiplexingConfig (line 404) | type MultiplexingConfig struct method Reset (line 418) | func (x *MultiplexingConfig) Reset() { method String (line 425) | func (x *MultiplexingConfig) String() string { method ProtoMessage (line 429) | func (*MultiplexingConfig) ProtoMessage() {} method ProtoReflect (line 431) | func (x *MultiplexingConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 444) | func (*MultiplexingConfig) Descriptor() ([]byte, []int) { method GetEnabled (line 448) | func (x *MultiplexingConfig) GetEnabled() bool { method GetConcurrency (line 455) | func (x *MultiplexingConfig) GetConcurrency() int32 { method GetXudpConcurrency (line 462) | func (x *MultiplexingConfig) GetXudpConcurrency() int32 { method GetXudpProxyUDP443 (line 469) | func (x *MultiplexingConfig) GetXudpProxyUDP443() string { constant file_app_proxyman_config_proto_rawDesc (line 478) | file_app_proxyman_config_proto_rawDesc = "" + function file_app_proxyman_config_proto_rawDescGZIP (line 519) | func file_app_proxyman_config_proto_rawDescGZIP() []byte { function init (line 561) | func init() { file_app_proxyman_config_proto_init() } function file_app_proxyman_config_proto_init (line 562) | func file_app_proxyman_config_proto_init() { FILE: app/proxyman/inbound/always.go function getStatCounter (line 21) | func getStatCounter(v *core.Instance, tag string) (stats.Counter, stats.... type AlwaysOnInboundHandler (line 46) | type AlwaysOnInboundHandler struct method Start (line 173) | func (h *AlwaysOnInboundHandler) Start() error { method Close (line 183) | func (h *AlwaysOnInboundHandler) Close() error { method Tag (line 195) | func (h *AlwaysOnInboundHandler) Tag() string { method GetInbound (line 199) | func (h *AlwaysOnInboundHandler) GetInbound() proxy.Inbound { method ReceiverSettings (line 204) | func (h *AlwaysOnInboundHandler) ReceiverSettings() *serial.TypedMessa... method ProxySettings (line 209) | func (h *AlwaysOnInboundHandler) ProxySettings() *serial.TypedMessage { function NewAlwaysOnInboundHandler (line 55) | func NewAlwaysOnInboundHandler(ctx context.Context, tag string, receiver... FILE: app/proxyman/inbound/inbound.go type Manager (line 18) | type Manager struct method Type (line 34) | func (*Manager) Type() interface{} { method AddHandler (line 39) | func (m *Manager) AddHandler(ctx context.Context, handler inbound.Hand... method GetHandler (line 61) | func (m *Manager) GetHandler(ctx context.Context, tag string) (inbound... method RemoveHandler (line 73) | func (m *Manager) RemoveHandler(ctx context.Context, tag string) error { method ListHandlers (line 93) | func (m *Manager) ListHandlers(ctx context.Context) []inbound.Handler { method Start (line 108) | func (m *Manager) Start() error { method Close (line 129) | func (m *Manager) Close() error { function New (line 26) | func New(ctx context.Context, config *proxyman.InboundConfig) (*Manager,... function NewHandler (line 155) | func NewHandler(ctx context.Context, config *core.InboundHandlerConfig) ... function init (line 184) | func init() { FILE: app/proxyman/inbound/worker.go type worker (line 31) | type worker interface type tcpWorker (line 38) | type tcpWorker struct method callback (line 62) | func (w *tcpWorker) callback(conn stat.Connection) { method Proxy (line 137) | func (w *tcpWorker) Proxy() proxy.Inbound { method Start (line 141) | func (w *tcpWorker) Start() error { method Close (line 160) | func (w *tcpWorker) Close() error { method Port (line 177) | func (w *tcpWorker) Port() net.Port { function getTProxyType (line 55) | func getTProxyType(s *internet.MemoryStreamConfig) internet.SocketConfig... type udpConn (line 181) | type udpConn struct method setInactive (line 195) | func (c *udpConn) setInactive() { method updateActivity (line 199) | func (c *udpConn) updateActivity() { method ReadMultiBuffer (line 204) | func (c *udpConn) ReadMultiBuffer() (buf.MultiBuffer, error) { method Read (line 218) | func (c *udpConn) Read(buf []byte) (int, error) { method Write (line 223) | func (c *udpConn) Write(buf []byte) (int, error) { method Close (line 234) | func (c *udpConn) Close() error { method RemoteAddr (line 243) | func (c *udpConn) RemoteAddr() net.Addr { method LocalAddr (line 247) | func (c *udpConn) LocalAddr() net.Addr { method SetDeadline (line 251) | func (*udpConn) SetDeadline(time.Time) error { method SetReadDeadline (line 255) | func (*udpConn) SetReadDeadline(time.Time) error { method SetWriteDeadline (line 259) | func (*udpConn) SetWriteDeadline(time.Time) error { type connID (line 263) | type connID struct type udpWorker (line 268) | type udpWorker struct method getConnection (line 289) | func (w *udpWorker) getConnection(id connID) (*udpConn, bool) { method callback (line 323) | func (w *udpWorker) callback(b *buf.Buffer, source net.Destination, or... method removeConn (line 389) | func (w *udpWorker) removeConn(id connID) { method handlePackets (line 395) | func (w *udpWorker) handlePackets() { method clean (line 402) | func (w *udpWorker) clean() error { method Start (line 428) | func (w *udpWorker) Start() error { method Close (line 448) | func (w *udpWorker) Close() error { method Port (line 476) | func (w *udpWorker) Port() net.Port { method Proxy (line 480) | func (w *udpWorker) Proxy() proxy.Inbound { type dsWorker (line 484) | type dsWorker struct method callback (line 499) | func (w *dsWorker) callback(conn stat.Connection) { method Proxy (line 538) | func (w *dsWorker) Proxy() proxy.Inbound { method Port (line 542) | func (w *dsWorker) Port() net.Port { method Start (line 546) | func (w *dsWorker) Start() error { method Close (line 558) | func (w *dsWorker) Close() error { function IsLocal (line 575) | func IsLocal(ip net.IP) bool { FILE: app/proxyman/outbound/handler.go function getStatCounter (line 35) | func getStatCounter(v *core.Instance, tag string) (stats.Counter, stats.... type Handler (line 61) | type Handler struct method Tag (line 175) | func (h *Handler) Tag() string { method Dispatch (line 180) | func (h *Handler) Dispatch(ctx context.Context, link *transport.Link) { method DestIpAddress (line 266) | func (h *Handler) DestIpAddress() net.IP { method Dial (line 271) | func (h *Handler) Dial(ctx context.Context, dest net.Destination) (sta... method SetOutboundGateway (line 328) | func (h *Handler) SetOutboundGateway(ctx context.Context, ob *session.... method getStatCouterConnection (line 360) | func (h *Handler) getStatCouterConnection(conn stat.Connection) stat.C... method GetOutbound (line 372) | func (h *Handler) GetOutbound() proxy.Outbound { method Start (line 377) | func (h *Handler) Start() error { method Close (line 382) | func (h *Handler) Close() error { method SenderSettings (line 389) | func (h *Handler) SenderSettings() *serial.TypedMessage { method ProxySettings (line 394) | func (h *Handler) ProxySettings() *serial.TypedMessage { function NewHandler (line 76) | func NewHandler(ctx context.Context, config *core.OutboundHandlerConfig)... function ParseRandomIP (line 398) | func ParseRandomIP(addr net.Address, prefix string) net.Address { FILE: app/proxyman/outbound/handler_test.go function TestInterfaces (line 24) | func TestInterfaces(t *testing.T) { constant xrayKey (line 29) | xrayKey core.XrayKey = 1 function TestOutboundWithoutStatCounter (line 31) | func TestOutboundWithoutStatCounter(t *testing.T) { function TestOutboundWithStatCounter (line 60) | func TestOutboundWithStatCounter(t *testing.T) { function TestTagsCache (line 90) | func TestTagsCache(t *testing.T) { FILE: app/proxyman/outbound/outbound.go type Manager (line 17) | type Manager struct method Type (line 36) | func (m *Manager) Type() interface{} { method Start (line 41) | func (m *Manager) Start() error { method Close (line 63) | func (m *Manager) Close() error { method GetDefaultHandler (line 82) | func (m *Manager) GetDefaultHandler() outbound.Handler { method GetHandler (line 93) | func (m *Manager) GetHandler(tag string) outbound.Handler { method AddHandler (line 103) | func (m *Manager) AddHandler(ctx context.Context, handler outbound.Han... method RemoveHandler (line 131) | func (m *Manager) RemoveHandler(ctx context.Context, tag string) error { method ListHandlers (line 149) | func (m *Manager) ListHandlers(ctx context.Context) []outbound.Handler { method Select (line 164) | func (m *Manager) Select(selectors []string) []string { function New (line 27) | func New(ctx context.Context, config *proxyman.OutboundConfig) (*Manager... function init (line 191) | func init() { FILE: app/proxyman/outbound/uot.go method getUoTConnection (line 14) | func (h *Handler) getUoTConnection(ctx context.Context, dest net.Destina... FILE: app/reverse/bridge.go type Bridge (line 20) | type Bridge struct method cleanup (line 49) | func (b *Bridge) cleanup() { method monitor (line 68) | func (b *Bridge) monitor() error { method Start (line 93) | func (b *Bridge) Start() error { method Close (line 97) | func (b *Bridge) Close() error { function NewBridge (line 29) | func NewBridge(config *BridgeConfig, dispatcher routing.Dispatcher) (*Br... type BridgeWorker (line 101) | type BridgeWorker struct method Type (line 141) | func (w *BridgeWorker) Type() interface{} { method Start (line 145) | func (w *BridgeWorker) Start() error { method Close (line 149) | func (w *BridgeWorker) Close() error { method IsActive (line 153) | func (w *BridgeWorker) IsActive() bool { method Closed (line 157) | func (w *BridgeWorker) Closed() bool { method Connections (line 161) | func (w *BridgeWorker) Connections() uint32 { method handleInternalConn (line 165) | func (w *BridgeWorker) handleInternalConn(link *transport.Link) { method Dispatch (line 198) | func (w *BridgeWorker) Dispatch(ctx context.Context, dest net.Destinat... method DispatchLink (line 223) | func (w *BridgeWorker) DispatchLink(ctx context.Context, dest net.Dest... function NewBridgeWorker (line 109) | func NewBridgeWorker(domain string, tag string, d routing.Dispatcher) (*... FILE: app/reverse/config.go method FillInRandom (line 10) | func (c *Control) FillInRandom() { FILE: app/reverse/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Control_State (line 24) | type Control_State method Enum (line 43) | func (x Control_State) Enum() *Control_State { method String (line 49) | func (x Control_State) String() string { method Descriptor (line 53) | func (Control_State) Descriptor() protoreflect.EnumDescriptor { method Type (line 57) | func (Control_State) Type() protoreflect.EnumType { method Number (line 61) | func (x Control_State) Number() protoreflect.EnumNumber { method EnumDescriptor (line 66) | func (Control_State) EnumDescriptor() ([]byte, []int) { constant Control_ACTIVE (line 27) | Control_ACTIVE Control_State = 0 constant Control_DRAIN (line 28) | Control_DRAIN Control_State = 1 type Control (line 70) | type Control struct method Reset (line 78) | func (x *Control) Reset() { method String (line 85) | func (x *Control) String() string { method ProtoMessage (line 89) | func (*Control) ProtoMessage() {} method ProtoReflect (line 91) | func (x *Control) ProtoReflect() protoreflect.Message { method Descriptor (line 104) | func (*Control) Descriptor() ([]byte, []int) { method GetState (line 108) | func (x *Control) GetState() Control_State { method GetRandom (line 115) | func (x *Control) GetRandom() []byte { type BridgeConfig (line 122) | type BridgeConfig struct method Reset (line 130) | func (x *BridgeConfig) Reset() { method String (line 137) | func (x *BridgeConfig) String() string { method ProtoMessage (line 141) | func (*BridgeConfig) ProtoMessage() {} method ProtoReflect (line 143) | func (x *BridgeConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 156) | func (*BridgeConfig) Descriptor() ([]byte, []int) { method GetTag (line 160) | func (x *BridgeConfig) GetTag() string { method GetDomain (line 167) | func (x *BridgeConfig) GetDomain() string { type PortalConfig (line 174) | type PortalConfig struct method Reset (line 182) | func (x *PortalConfig) Reset() { method String (line 189) | func (x *PortalConfig) String() string { method ProtoMessage (line 193) | func (*PortalConfig) ProtoMessage() {} method ProtoReflect (line 195) | func (x *PortalConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 208) | func (*PortalConfig) Descriptor() ([]byte, []int) { method GetTag (line 212) | func (x *PortalConfig) GetTag() string { method GetDomain (line 219) | func (x *PortalConfig) GetDomain() string { type Config (line 226) | type Config struct method Reset (line 234) | func (x *Config) Reset() { method String (line 241) | func (x *Config) String() string { method ProtoMessage (line 245) | func (*Config) ProtoMessage() {} method ProtoReflect (line 247) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 260) | func (*Config) Descriptor() ([]byte, []int) { method GetBridgeConfig (line 264) | func (x *Config) GetBridgeConfig() []*BridgeConfig { method GetPortalConfig (line 271) | func (x *Config) GetPortalConfig() []*PortalConfig { constant file_app_reverse_config_proto_rawDesc (line 280) | file_app_reverse_config_proto_rawDesc = "" + function file_app_reverse_config_proto_rawDescGZIP (line 306) | func file_app_reverse_config_proto_rawDescGZIP() []byte { function init (line 333) | func init() { file_app_reverse_config_proto_init() } function file_app_reverse_config_proto_init (line 334) | func file_app_reverse_config_proto_init() { FILE: app/reverse/portal.go type Portal (line 23) | type Portal struct method Start (line 56) | func (p *Portal) Start() error { method Close (line 63) | func (p *Portal) Close() error { method HandleConnection (line 67) | func (p *Portal) HandleConnection(ctx context.Context, link *transport... function NewPortal (line 31) | func NewPortal(config *PortalConfig, ohm outbound.Manager) (*Portal, err... type Outbound (line 104) | type Outbound struct method Tag (line 109) | func (o *Outbound) Tag() string { method Dispatch (line 113) | func (o *Outbound) Dispatch(ctx context.Context, link *transport.Link) { method Start (line 121) | func (o *Outbound) Start() error { method Close (line 125) | func (o *Outbound) Close() error { method SenderSettings (line 130) | func (o *Outbound) SenderSettings() *serial.TypedMessage { method ProxySettings (line 135) | func (o *Outbound) ProxySettings() *serial.TypedMessage { type StaticMuxPicker (line 139) | type StaticMuxPicker struct method cleanup (line 155) | func (p *StaticMuxPicker) cleanup() error { method PickAvailable (line 175) | func (p *StaticMuxPicker) PickAvailable() (*mux.ClientWorker, error) { method AddWorker (line 217) | func (p *StaticMuxPicker) AddWorker(worker *PortalWorker) { function NewStaticMuxPicker (line 145) | func NewStaticMuxPicker() (*StaticMuxPicker, error) { type PortalWorker (line 224) | type PortalWorker struct method heartbeat (line 268) | func (w *PortalWorker) heartbeat() error { method IsFull (line 302) | func (w *PortalWorker) IsFull() bool { method Closed (line 306) | func (w *PortalWorker) Closed() bool { function NewPortalWorker (line 234) | func NewPortalWorker(client *mux.ClientWorker) (*PortalWorker, error) { FILE: app/reverse/portal_test.go function TestStaticPickerEmpty (line 10) | func TestStaticPickerEmpty(t *testing.T) { FILE: app/reverse/reverse.go constant internalDomain (line 15) | internalDomain = "reverse" function isDomain (line 18) | func isDomain(dest net.Destination, domain string) bool { function isInternalDomain (line 22) | func isInternalDomain(dest net.Destination) bool { function init (line 26) | func init() { type Reverse (line 38) | type Reverse struct method Init (line 43) | func (r *Reverse) Init(config *Config, d routing.Dispatcher, ohm outbo... method Type (line 63) | func (r *Reverse) Type() interface{} { method Start (line 67) | func (r *Reverse) Start() error { method Close (line 83) | func (r *Reverse) Close() error { FILE: app/router/balancing.go type BalancingStrategy (line 15) | type BalancingStrategy interface type BalancingPrincipleTarget (line 19) | type BalancingPrincipleTarget interface type RoundRobinStrategy (line 23) | type RoundRobinStrategy struct method InjectContext (line 32) | func (s *RoundRobinStrategy) InjectContext(ctx context.Context) { method GetPrincipleTarget (line 42) | func (s *RoundRobinStrategy) GetPrincipleTarget(strings []string) []st... method PickOutbound (line 46) | func (s *RoundRobinStrategy) PickOutbound(tags []string) string { type Balancer (line 85) | type Balancer struct method PickOutbound (line 95) | func (b *Balancer) PickOutbound() (string, error) { method InjectContext (line 121) | func (b *Balancer) InjectContext(ctx context.Context) { method SelectOutbounds (line 128) | func (b *Balancer) SelectOutbounds() ([]string, error) { method GetPrincipleTarget (line 138) | func (r *Router) GetPrincipleTarget(tag string) ([]string, error) { method SetOverrideTarget (line 153) | func (r *Router) SetOverrideTarget(tag, target string) error { method GetOverrideTarget (line 162) | func (r *Router) GetOverrideTarget(tag string) (string, error) { FILE: app/router/balancing_override.go method OverrideBalancer (line 9) | func (r *Router) OverrideBalancer(balancer string, target string) error { type overrideSettings (line 24) | type overrideSettings struct type override (line 28) | type override struct method Get (line 34) | func (o *override) Get() string { method Put (line 41) | func (o *override) Put(target string) { method Clear (line 48) | func (o *override) Clear() { FILE: app/router/command/command.go type routingServer (line 16) | type routingServer struct method GetBalancerInfo (line 21) | func (s *routingServer) GetBalancerInfo(ctx context.Context, request *... method OverrideBalancerTarget (line 49) | func (s *routingServer) OverrideBalancerTarget(ctx context.Context, re... method AddRule (line 56) | func (s *routingServer) AddRule(ctx context.Context, request *AddRuleR... method RemoveRule (line 64) | func (s *routingServer) RemoveRule(ctx context.Context, request *Remov... method ListRule (line 71) | func (s *routingServer) ListRule(ctx context.Context, request *ListRul... method TestRoute (line 93) | func (s *routingServer) TestRoute(ctx context.Context, request *TestRo... method SubscribeRoutingStats (line 108) | func (s *routingServer) SubscribeRoutingStats(request *SubscribeRoutin... method mustEmbedUnimplementedRoutingServiceServer (line 138) | func (s *routingServer) mustEmbedUnimplementedRoutingServiceServer() {} function NewRoutingServer (line 86) | func NewRoutingServer(router routing.Router, routingStats stats.Channel)... type service (line 140) | type service struct method Register (line 144) | func (s *service) Register(server *grpc.Server) { function init (line 156) | func init() { FILE: app/router/command/command.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type RoutingContext (line 29) | type RoutingContext struct method Reset (line 50) | func (x *RoutingContext) Reset() { method String (line 57) | func (x *RoutingContext) String() string { method ProtoMessage (line 61) | func (*RoutingContext) ProtoMessage() {} method ProtoReflect (line 63) | func (x *RoutingContext) ProtoReflect() protoreflect.Message { method Descriptor (line 76) | func (*RoutingContext) Descriptor() ([]byte, []int) { method GetInboundTag (line 80) | func (x *RoutingContext) GetInboundTag() string { method GetNetwork (line 87) | func (x *RoutingContext) GetNetwork() net.Network { method GetSourceIPs (line 94) | func (x *RoutingContext) GetSourceIPs() [][]byte { method GetTargetIPs (line 101) | func (x *RoutingContext) GetTargetIPs() [][]byte { method GetSourcePort (line 108) | func (x *RoutingContext) GetSourcePort() uint32 { method GetTargetPort (line 115) | func (x *RoutingContext) GetTargetPort() uint32 { method GetTargetDomain (line 122) | func (x *RoutingContext) GetTargetDomain() string { method GetProtocol (line 129) | func (x *RoutingContext) GetProtocol() string { method GetUser (line 136) | func (x *RoutingContext) GetUser() string { method GetAttributes (line 143) | func (x *RoutingContext) GetAttributes() map[string]string { method GetOutboundGroupTags (line 150) | func (x *RoutingContext) GetOutboundGroupTags() []string { method GetOutboundTag (line 157) | func (x *RoutingContext) GetOutboundTag() string { method GetLocalIPs (line 164) | func (x *RoutingContext) GetLocalIPs() [][]byte { method GetLocalPort (line 171) | func (x *RoutingContext) GetLocalPort() uint32 { method GetVlessRoute (line 178) | func (x *RoutingContext) GetVlessRoute() uint32 { type SubscribeRoutingStatsRequest (line 203) | type SubscribeRoutingStatsRequest struct method Reset (line 210) | func (x *SubscribeRoutingStatsRequest) Reset() { method String (line 217) | func (x *SubscribeRoutingStatsRequest) String() string { method ProtoMessage (line 221) | func (*SubscribeRoutingStatsRequest) ProtoMessage() {} method ProtoReflect (line 223) | func (x *SubscribeRoutingStatsRequest) ProtoReflect() protoreflect.Mes... method Descriptor (line 236) | func (*SubscribeRoutingStatsRequest) Descriptor() ([]byte, []int) { method GetFieldSelectors (line 240) | func (x *SubscribeRoutingStatsRequest) GetFieldSelectors() []string { type TestRouteRequest (line 254) | type TestRouteRequest struct method Reset (line 263) | func (x *TestRouteRequest) Reset() { method String (line 270) | func (x *TestRouteRequest) String() string { method ProtoMessage (line 274) | func (*TestRouteRequest) ProtoMessage() {} method ProtoReflect (line 276) | func (x *TestRouteRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 289) | func (*TestRouteRequest) Descriptor() ([]byte, []int) { method GetRoutingContext (line 293) | func (x *TestRouteRequest) GetRoutingContext() *RoutingContext { method GetFieldSelectors (line 300) | func (x *TestRouteRequest) GetFieldSelectors() []string { method GetPublishResult (line 307) | func (x *TestRouteRequest) GetPublishResult() bool { type PrincipleTargetInfo (line 314) | type PrincipleTargetInfo struct method Reset (line 321) | func (x *PrincipleTargetInfo) Reset() { method String (line 328) | func (x *PrincipleTargetInfo) String() string { method ProtoMessage (line 332) | func (*PrincipleTargetInfo) ProtoMessage() {} method ProtoReflect (line 334) | func (x *PrincipleTargetInfo) ProtoReflect() protoreflect.Message { method Descriptor (line 347) | func (*PrincipleTargetInfo) Descriptor() ([]byte, []int) { method GetTag (line 351) | func (x *PrincipleTargetInfo) GetTag() []string { type OverrideInfo (line 358) | type OverrideInfo struct method Reset (line 365) | func (x *OverrideInfo) Reset() { method String (line 372) | func (x *OverrideInfo) String() string { method ProtoMessage (line 376) | func (*OverrideInfo) ProtoMessage() {} method ProtoReflect (line 378) | func (x *OverrideInfo) ProtoReflect() protoreflect.Message { method Descriptor (line 391) | func (*OverrideInfo) Descriptor() ([]byte, []int) { method GetTarget (line 395) | func (x *OverrideInfo) GetTarget() string { type BalancerMsg (line 402) | type BalancerMsg struct method Reset (line 410) | func (x *BalancerMsg) Reset() { method String (line 417) | func (x *BalancerMsg) String() string { method ProtoMessage (line 421) | func (*BalancerMsg) ProtoMessage() {} method ProtoReflect (line 423) | func (x *BalancerMsg) ProtoReflect() protoreflect.Message { method Descriptor (line 436) | func (*BalancerMsg) Descriptor() ([]byte, []int) { method GetOverride (line 440) | func (x *BalancerMsg) GetOverride() *OverrideInfo { method GetPrincipleTarget (line 447) | func (x *BalancerMsg) GetPrincipleTarget() *PrincipleTargetInfo { type GetBalancerInfoRequest (line 454) | type GetBalancerInfoRequest struct method Reset (line 461) | func (x *GetBalancerInfoRequest) Reset() { method String (line 468) | func (x *GetBalancerInfoRequest) String() string { method ProtoMessage (line 472) | func (*GetBalancerInfoRequest) ProtoMessage() {} method ProtoReflect (line 474) | func (x *GetBalancerInfoRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 487) | func (*GetBalancerInfoRequest) Descriptor() ([]byte, []int) { method GetTag (line 491) | func (x *GetBalancerInfoRequest) GetTag() string { type GetBalancerInfoResponse (line 498) | type GetBalancerInfoResponse struct method Reset (line 505) | func (x *GetBalancerInfoResponse) Reset() { method String (line 512) | func (x *GetBalancerInfoResponse) String() string { method ProtoMessage (line 516) | func (*GetBalancerInfoResponse) ProtoMessage() {} method ProtoReflect (line 518) | func (x *GetBalancerInfoResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 531) | func (*GetBalancerInfoResponse) Descriptor() ([]byte, []int) { method GetBalancer (line 535) | func (x *GetBalancerInfoResponse) GetBalancer() *BalancerMsg { type OverrideBalancerTargetRequest (line 542) | type OverrideBalancerTargetRequest struct method Reset (line 550) | func (x *OverrideBalancerTargetRequest) Reset() { method String (line 557) | func (x *OverrideBalancerTargetRequest) String() string { method ProtoMessage (line 561) | func (*OverrideBalancerTargetRequest) ProtoMessage() {} method ProtoReflect (line 563) | func (x *OverrideBalancerTargetRequest) ProtoReflect() protoreflect.Me... method Descriptor (line 576) | func (*OverrideBalancerTargetRequest) Descriptor() ([]byte, []int) { method GetBalancerTag (line 580) | func (x *OverrideBalancerTargetRequest) GetBalancerTag() string { method GetTarget (line 587) | func (x *OverrideBalancerTargetRequest) GetTarget() string { type OverrideBalancerTargetResponse (line 594) | type OverrideBalancerTargetResponse struct method Reset (line 600) | func (x *OverrideBalancerTargetResponse) Reset() { method String (line 607) | func (x *OverrideBalancerTargetResponse) String() string { method ProtoMessage (line 611) | func (*OverrideBalancerTargetResponse) ProtoMessage() {} method ProtoReflect (line 613) | func (x *OverrideBalancerTargetResponse) ProtoReflect() protoreflect.M... method Descriptor (line 626) | func (*OverrideBalancerTargetResponse) Descriptor() ([]byte, []int) { type AddRuleRequest (line 630) | type AddRuleRequest struct method Reset (line 638) | func (x *AddRuleRequest) Reset() { method String (line 645) | func (x *AddRuleRequest) String() string { method ProtoMessage (line 649) | func (*AddRuleRequest) ProtoMessage() {} method ProtoReflect (line 651) | func (x *AddRuleRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 664) | func (*AddRuleRequest) Descriptor() ([]byte, []int) { method GetConfig (line 668) | func (x *AddRuleRequest) GetConfig() *serial.TypedMessage { method GetShouldAppend (line 675) | func (x *AddRuleRequest) GetShouldAppend() bool { type AddRuleResponse (line 682) | type AddRuleResponse struct method Reset (line 688) | func (x *AddRuleResponse) Reset() { method String (line 695) | func (x *AddRuleResponse) String() string { method ProtoMessage (line 699) | func (*AddRuleResponse) ProtoMessage() {} method ProtoReflect (line 701) | func (x *AddRuleResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 714) | func (*AddRuleResponse) Descriptor() ([]byte, []int) { type RemoveRuleRequest (line 718) | type RemoveRuleRequest struct method Reset (line 725) | func (x *RemoveRuleRequest) Reset() { method String (line 732) | func (x *RemoveRuleRequest) String() string { method ProtoMessage (line 736) | func (*RemoveRuleRequest) ProtoMessage() {} method ProtoReflect (line 738) | func (x *RemoveRuleRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 751) | func (*RemoveRuleRequest) Descriptor() ([]byte, []int) { method GetRuleTag (line 755) | func (x *RemoveRuleRequest) GetRuleTag() string { type RemoveRuleResponse (line 762) | type RemoveRuleResponse struct method Reset (line 768) | func (x *RemoveRuleResponse) Reset() { method String (line 775) | func (x *RemoveRuleResponse) String() string { method ProtoMessage (line 779) | func (*RemoveRuleResponse) ProtoMessage() {} method ProtoReflect (line 781) | func (x *RemoveRuleResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 794) | func (*RemoveRuleResponse) Descriptor() ([]byte, []int) { type ListRuleRequest (line 798) | type ListRuleRequest struct method Reset (line 804) | func (x *ListRuleRequest) Reset() { method String (line 811) | func (x *ListRuleRequest) String() string { method ProtoMessage (line 815) | func (*ListRuleRequest) ProtoMessage() {} method ProtoReflect (line 817) | func (x *ListRuleRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 830) | func (*ListRuleRequest) Descriptor() ([]byte, []int) { type ListRuleItem (line 834) | type ListRuleItem struct method Reset (line 842) | func (x *ListRuleItem) Reset() { method String (line 849) | func (x *ListRuleItem) String() string { method ProtoMessage (line 853) | func (*ListRuleItem) ProtoMessage() {} method ProtoReflect (line 855) | func (x *ListRuleItem) ProtoReflect() protoreflect.Message { method Descriptor (line 868) | func (*ListRuleItem) Descriptor() ([]byte, []int) { method GetTag (line 872) | func (x *ListRuleItem) GetTag() string { method GetRuleTag (line 879) | func (x *ListRuleItem) GetRuleTag() string { type ListRuleResponse (line 886) | type ListRuleResponse struct method Reset (line 893) | func (x *ListRuleResponse) Reset() { method String (line 900) | func (x *ListRuleResponse) String() string { method ProtoMessage (line 904) | func (*ListRuleResponse) ProtoMessage() {} method ProtoReflect (line 906) | func (x *ListRuleResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 919) | func (*ListRuleResponse) Descriptor() ([]byte, []int) { method GetRules (line 923) | func (x *ListRuleResponse) GetRules() []*ListRuleItem { type Config (line 930) | type Config struct method Reset (line 936) | func (x *Config) Reset() { method String (line 943) | func (x *Config) String() string { method ProtoMessage (line 947) | func (*Config) ProtoMessage() {} method ProtoReflect (line 949) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 962) | func (*Config) Descriptor() ([]byte, []int) { constant file_app_router_command_command_proto_rawDesc (line 968) | file_app_router_command_command_proto_rawDesc = "" + function file_app_router_command_command_proto_rawDescGZIP (line 1052) | func file_app_router_command_command_proto_rawDescGZIP() []byte { function init (line 1113) | func init() { file_app_router_command_command_proto_init() } function file_app_router_command_command_proto_init (line 1114) | func file_app_router_command_command_proto_init() { FILE: app/router/command/command_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant RoutingService_SubscribeRoutingStats_FullMethodName (line 22) | RoutingService_SubscribeRoutingStats_FullMethodName = "/xray.app.router... constant RoutingService_TestRoute_FullMethodName (line 23) | RoutingService_TestRoute_FullMethodName = "/xray.app.router... constant RoutingService_GetBalancerInfo_FullMethodName (line 24) | RoutingService_GetBalancerInfo_FullMethodName = "/xray.app.router... constant RoutingService_OverrideBalancerTarget_FullMethodName (line 25) | RoutingService_OverrideBalancerTarget_FullMethodName = "/xray.app.router... constant RoutingService_AddRule_FullMethodName (line 26) | RoutingService_AddRule_FullMethodName = "/xray.app.router... constant RoutingService_RemoveRule_FullMethodName (line 27) | RoutingService_RemoveRule_FullMethodName = "/xray.app.router... constant RoutingService_ListRule_FullMethodName (line 28) | RoutingService_ListRule_FullMethodName = "/xray.app.router... type RoutingServiceClient (line 34) | type RoutingServiceClient interface type routingServiceClient (line 44) | type routingServiceClient struct method SubscribeRoutingStats (line 52) | func (c *routingServiceClient) SubscribeRoutingStats(ctx context.Conte... method TestRoute (line 71) | func (c *routingServiceClient) TestRoute(ctx context.Context, in *Test... method GetBalancerInfo (line 81) | func (c *routingServiceClient) GetBalancerInfo(ctx context.Context, in... method OverrideBalancerTarget (line 91) | func (c *routingServiceClient) OverrideBalancerTarget(ctx context.Cont... method AddRule (line 101) | func (c *routingServiceClient) AddRule(ctx context.Context, in *AddRul... method RemoveRule (line 111) | func (c *routingServiceClient) RemoveRule(ctx context.Context, in *Rem... method ListRule (line 121) | func (c *routingServiceClient) ListRule(ctx context.Context, in *ListR... function NewRoutingServiceClient (line 48) | func NewRoutingServiceClient(cc grpc.ClientConnInterface) RoutingService... type RoutingServiceServer (line 134) | type RoutingServiceServer interface type UnimplementedRoutingServiceServer (line 150) | type UnimplementedRoutingServiceServer struct method SubscribeRoutingStats (line 152) | func (UnimplementedRoutingServiceServer) SubscribeRoutingStats(*Subscr... method TestRoute (line 155) | func (UnimplementedRoutingServiceServer) TestRoute(context.Context, *T... method GetBalancerInfo (line 158) | func (UnimplementedRoutingServiceServer) GetBalancerInfo(context.Conte... method OverrideBalancerTarget (line 161) | func (UnimplementedRoutingServiceServer) OverrideBalancerTarget(contex... method AddRule (line 164) | func (UnimplementedRoutingServiceServer) AddRule(context.Context, *Add... method RemoveRule (line 167) | func (UnimplementedRoutingServiceServer) RemoveRule(context.Context, *... method ListRule (line 170) | func (UnimplementedRoutingServiceServer) ListRule(context.Context, *Li... method mustEmbedUnimplementedRoutingServiceServer (line 173) | func (UnimplementedRoutingServiceServer) mustEmbedUnimplementedRouting... method testEmbeddedByValue (line 174) | func (UnimplementedRoutingServiceServer) testEmbeddedByValue() ... type UnsafeRoutingServiceServer (line 179) | type UnsafeRoutingServiceServer interface function RegisterRoutingServiceServer (line 183) | func RegisterRoutingServiceServer(s grpc.ServiceRegistrar, srv RoutingSe... function _RoutingService_SubscribeRoutingStats_Handler (line 194) | func _RoutingService_SubscribeRoutingStats_Handler(srv interface{}, stre... function _RoutingService_TestRoute_Handler (line 205) | func _RoutingService_TestRoute_Handler(srv interface{}, ctx context.Cont... function _RoutingService_GetBalancerInfo_Handler (line 223) | func _RoutingService_GetBalancerInfo_Handler(srv interface{}, ctx contex... function _RoutingService_OverrideBalancerTarget_Handler (line 241) | func _RoutingService_OverrideBalancerTarget_Handler(srv interface{}, ctx... function _RoutingService_AddRule_Handler (line 259) | func _RoutingService_AddRule_Handler(srv interface{}, ctx context.Contex... function _RoutingService_RemoveRule_Handler (line 277) | func _RoutingService_RemoveRule_Handler(srv interface{}, ctx context.Con... function _RoutingService_ListRule_Handler (line 295) | func _RoutingService_ListRule_Handler(srv interface{}, ctx context.Conte... FILE: app/router/command/command_test.go function TestServiceSubscribeRoutingStats (line 23) | func TestServiceSubscribeRoutingStats(t *testing.T) { function TestServiceSubscribeSubsetOfFields (line 157) | func TestServiceSubscribeSubsetOfFields(t *testing.T) { function TestServiceTestRoute (line 275) | func TestServiceTestRoute(t *testing.T) { FILE: app/router/command/config.go type routingContext (line 11) | type routingContext struct method GetSourceIPs (line 15) | func (c routingContext) GetSourceIPs() []net.IP { method GetSourcePort (line 19) | func (c routingContext) GetSourcePort() net.Port { method GetTargetIPs (line 23) | func (c routingContext) GetTargetIPs() []net.IP { method GetTargetPort (line 27) | func (c routingContext) GetTargetPort() net.Port { method GetLocalIPs (line 31) | func (c routingContext) GetLocalIPs() []net.IP { method GetLocalPort (line 35) | func (c routingContext) GetLocalPort() net.Port { method GetVlessRoute (line 39) | func (c routingContext) GetVlessRoute() net.Port { method GetRuleTag (line 43) | func (c routingContext) GetRuleTag() string { method GetSkipDNSResolve (line 50) | func (c routingContext) GetSkipDNSResolve() bool { function AsRoutingContext (line 55) | func AsRoutingContext(r *RoutingContext) routing.Context { function AsRoutingRoute (line 60) | func AsRoutingRoute(r *RoutingContext) routing.Route { function AsProtobufMessage (line 82) | func AsProtobufMessage(fieldSelectors []string) func(routing.Route) *Rou... function mapBytesToIPs (line 105) | func mapBytesToIPs(bytes [][]byte) []net.IP { function mapIPsToBytes (line 113) | func mapIPsToBytes(ips []net.IP) [][]byte { FILE: app/router/condition.go type Condition (line 18) | type Condition interface type ConditionChan (line 22) | type ConditionChan method Add (line 29) | func (v *ConditionChan) Add(cond Condition) *ConditionChan { method Apply (line 35) | func (v *ConditionChan) Apply(ctx routing.Context) bool { method Len (line 44) | func (v *ConditionChan) Len() int { function NewConditionChan (line 24) | func NewConditionChan() *ConditionChan { type DomainMatcher (line 55) | type DomainMatcher struct method ApplyDomain (line 107) | func (m *DomainMatcher) ApplyDomain(domain string) bool { method Apply (line 112) | func (m *DomainMatcher) Apply(ctx routing.Context) bool { function SerializeDomainMatcher (line 59) | func SerializeDomainMatcher(domains []*Domain, w io.Writer) error { function NewDomainMatcherFromBuffer (line 78) | func NewDomainMatcherFromBuffer(data []byte) (*strmatcher.MphMatcherGrou... function NewMphMatcherGroup (line 86) | func NewMphMatcherGroup(domains []*Domain) (*DomainMatcher, error) { type MatcherAsType (line 120) | type MatcherAsType constant MatcherAsType_Local (line 123) | MatcherAsType_Local MatcherAsType = iota constant MatcherAsType_Source (line 124) | MatcherAsType_Source constant MatcherAsType_Target (line 125) | MatcherAsType_Target constant MatcherAsType_VlessRoute (line 126) | MatcherAsType_VlessRoute type IPMatcher (line 129) | type IPMatcher struct method Apply (line 143) | func (m *IPMatcher) Apply(ctx routing.Context) bool { function NewIPMatcher (line 134) | func NewIPMatcher(geoips []*GeoIP, asType MatcherAsType) (*IPMatcher, er... type PortMatcher (line 160) | type PortMatcher struct method Apply (line 174) | func (v *PortMatcher) Apply(ctx routing.Context) bool { function NewPortMatcher (line 166) | func NewPortMatcher(list *net.PortList, asType MatcherAsType) *PortMatch... type NetworkMatcher (line 189) | type NetworkMatcher struct method Apply (line 202) | func (v NetworkMatcher) Apply(ctx routing.Context) bool { function NewNetworkMatcher (line 193) | func NewNetworkMatcher(network []net.Network) NetworkMatcher { type UserMatcher (line 206) | type UserMatcher struct method Apply (line 233) | func (v *UserMatcher) Apply(ctx routing.Context) bool { function NewUserMatcher (line 211) | func NewUserMatcher(users []string) *UserMatcher { type InboundTagMatcher (line 251) | type InboundTagMatcher struct method Apply (line 268) | func (v *InboundTagMatcher) Apply(ctx routing.Context) bool { function NewInboundTagMatcher (line 255) | func NewInboundTagMatcher(tags []string) *InboundTagMatcher { type ProtocolMatcher (line 281) | type ProtocolMatcher struct method Apply (line 300) | func (m *ProtocolMatcher) Apply(ctx routing.Context) bool { function NewProtocolMatcher (line 285) | func NewProtocolMatcher(protocols []string) *ProtocolMatcher { type AttributeMatcher (line 313) | type AttributeMatcher struct method Match (line 318) | func (m *AttributeMatcher) Match(attrs map[string]string) bool { method Apply (line 333) | func (m *AttributeMatcher) Apply(ctx routing.Context) bool { type ProcessNameMatcher (line 341) | type ProcessNameMatcher struct method Apply (line 389) | func (m *ProcessNameMatcher) Apply(ctx routing.Context) bool { function NewProcessNameMatcher (line 348) | func NewProcessNameMatcher(names []string) *ProcessNameMatcher { FILE: app/router/condition_geoip.go type GeoIPMatcher (line 16) | type GeoIPMatcher interface type GeoIPSet (line 36) | type GeoIPSet struct type HeuristicGeoIPMatcher (line 41) | type HeuristicGeoIPMatcher struct method Match (line 52) | func (m *HeuristicGeoIPMatcher) Match(ip net.IP) bool { method matchAddr (line 60) | func (m *HeuristicGeoIPMatcher) matchAddr(ipx netip.Addr) bool { method AnyMatch (line 71) | func (m *HeuristicGeoIPMatcher) AnyMatch(ips []net.IP) bool { method Matches (line 121) | func (m *HeuristicGeoIPMatcher) Matches(ips []net.IP) bool { method FilterIPs (line 209) | func (m *HeuristicGeoIPMatcher) FilterIPs(ips []net.IP) (matched []net... method ToggleReverse (line 299) | func (m *HeuristicGeoIPMatcher) ToggleReverse() { method SetReverse (line 304) | func (m *HeuristicGeoIPMatcher) SetReverse(reverse bool) { type ipBucket (line 46) | type ipBucket struct function prefixKeyFromIP (line 185) | func prefixKeyFromIP(ip net.IP) (key [9]byte, ok bool) { type GeneralMultiGeoIPMatcher (line 308) | type GeneralMultiGeoIPMatcher struct method Match (line 313) | func (mm *GeneralMultiGeoIPMatcher) Match(ip net.IP) bool { method AnyMatch (line 323) | func (mm *GeneralMultiGeoIPMatcher) AnyMatch(ips []net.IP) bool { method Matches (line 333) | func (mm *GeneralMultiGeoIPMatcher) Matches(ips []net.IP) bool { method FilterIPs (line 343) | func (mm *GeneralMultiGeoIPMatcher) FilterIPs(ips []net.IP) (matched [... method ToggleReverse (line 360) | func (mm *GeneralMultiGeoIPMatcher) ToggleReverse() { method SetReverse (line 367) | func (mm *GeneralMultiGeoIPMatcher) SetReverse(reverse bool) { type HeuristicMultiGeoIPMatcher (line 373) | type HeuristicMultiGeoIPMatcher struct method Match (line 378) | func (mm *HeuristicMultiGeoIPMatcher) Match(ip net.IP) bool { method AnyMatch (line 393) | func (mm *HeuristicMultiGeoIPMatcher) AnyMatch(ips []net.IP) bool { method Matches (line 443) | func (mm *HeuristicMultiGeoIPMatcher) Matches(ips []net.IP) bool { method FilterIPs (line 585) | func (mm *HeuristicMultiGeoIPMatcher) FilterIPs(ips []net.IP) (matched... method ToggleReverse (line 786) | func (mm *HeuristicMultiGeoIPMatcher) ToggleReverse() { method SetReverse (line 793) | func (mm *HeuristicMultiGeoIPMatcher) SetReverse(reverse bool) { type ipViews (line 501) | type ipViews struct method ensureForMatcher (line 506) | func (v *ipViews) ensureForMatcher(m *HeuristicGeoIPMatcher, ips []net... type ipBucketViews (line 692) | type ipBucketViews struct method ensureForMatcher (line 697) | func (v *ipBucketViews) ensureForMatcher(m *HeuristicGeoIPMatcher, ips... type GeoIPSetFactory (line 799) | type GeoIPSetFactory struct method GetOrCreate (line 806) | func (f *GeoIPSetFactory) GetOrCreate(key string, cidrGroups [][]*CIDR... method Create (line 821) | func (f *GeoIPSetFactory) Create(cidrGroups ...[]*CIDR) (*GeoIPSet, er... function BuildOptimizedGeoIPMatcher (line 882) | func BuildOptimizedGeoIPMatcher(geoips ...*GeoIP) (GeoIPMatcher, error) { FILE: app/router/condition_geoip_test.go function getAssetPath (line 17) | func getAssetPath(file string) (string, error) { function TestGeoIPMatcher (line 38) | func TestGeoIPMatcher(t *testing.T) { function TestGeoIPMatcherRegression (line 112) | func TestGeoIPMatcherRegression(t *testing.T) { function TestGeoIPReverseMatcher (line 146) | func TestGeoIPReverseMatcher(t *testing.T) { function TestGeoIPMatcher4CN (line 184) | func TestGeoIPMatcher4CN(t *testing.T) { function TestGeoIPMatcher6US (line 198) | func TestGeoIPMatcher6US(t *testing.T) { function loadGeoIP (line 212) | func loadGeoIP(country string) ([]*router.CIDR, error) { function BenchmarkGeoIPMatcher4CN (line 236) | func BenchmarkGeoIPMatcher4CN(b *testing.B) { function BenchmarkGeoIPMatcher6US (line 252) | func BenchmarkGeoIPMatcher6US(b *testing.B) { FILE: app/router/condition_serialize_test.go function TestDomainMatcherSerialization (line 14) | func TestDomainMatcherSerialization(t *testing.T) { function TestGeoSiteSerialization (line 54) | func TestGeoSiteSerialization(t *testing.T) { function TestGeoSiteSerializationWithDeps (line 132) | func TestGeoSiteSerializationWithDeps(t *testing.T) { FILE: app/router/condition_test.go function withBackground (line 20) | func withBackground() routing.Context { function withOutbound (line 24) | func withOutbound(outbound *session.Outbound) routing.Context { function withInbound (line 28) | func withInbound(inbound *session.Inbound) routing.Context { function withContent (line 32) | func withContent(content *session.Content) routing.Context { function TestRoutingRule (line 36) | func TestRoutingRule(t *testing.T) { function loadGeoSite (line 303) | func loadGeoSite(country string) ([]*Domain, error) { function TestChinaSites (line 327) | func TestChinaSites(t *testing.T) { function BenchmarkMphDomainMatcher (line 369) | func BenchmarkMphDomainMatcher(b *testing.B) { function BenchmarkMultiGeoIPMatcher (line 411) | func BenchmarkMultiGeoIPMatcher(b *testing.B) { FILE: app/router/config.go type Rule (line 16) | type Rule struct method GetTag (line 24) | func (r *Rule) GetTag() (string, error) { method Apply (line 32) | func (r *Rule) Apply(ctx routing.Context) bool { method BuildCondition (line 36) | func (rr *RoutingRule) BuildCondition() (Condition, error) { method Build (line 147) | func (br *BalancingRule) Build(ohm outbound.Manager, dispatcher routing.... function GetDomainMatcherWithRuleTag (line 193) | func GetDomainMatcherWithRuleTag(domainMatcherPath string, ruleTag strin... FILE: app/router/config.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Domain_Type (line 27) | type Domain_Type method Enum (line 56) | func (x Domain_Type) Enum() *Domain_Type { method String (line 62) | func (x Domain_Type) String() string { method Descriptor (line 66) | func (Domain_Type) Descriptor() protoreflect.EnumDescriptor { method Type (line 70) | func (Domain_Type) Type() protoreflect.EnumType { method Number (line 74) | func (x Domain_Type) Number() protoreflect.EnumNumber { method EnumDescriptor (line 79) | func (Domain_Type) EnumDescriptor() ([]byte, []int) { constant Domain_Plain (line 31) | Domain_Plain Domain_Type = 0 constant Domain_Regex (line 33) | Domain_Regex Domain_Type = 1 constant Domain_Domain (line 35) | Domain_Domain Domain_Type = 2 constant Domain_Full (line 37) | Domain_Full Domain_Type = 3 type Config_DomainStrategy (line 83) | type Config_DomainStrategy method Enum (line 108) | func (x Config_DomainStrategy) Enum() *Config_DomainStrategy { method String (line 114) | func (x Config_DomainStrategy) String() string { method Descriptor (line 118) | func (Config_DomainStrategy) Descriptor() protoreflect.EnumDescriptor { method Type (line 122) | func (Config_DomainStrategy) Type() protoreflect.EnumType { method Number (line 126) | func (x Config_DomainStrategy) Number() protoreflect.EnumNumber { method EnumDescriptor (line 131) | func (Config_DomainStrategy) EnumDescriptor() ([]byte, []int) { constant Config_AsIs (line 87) | Config_AsIs Config_DomainStrategy = 0 constant Config_IpIfNonMatch (line 89) | Config_IpIfNonMatch Config_DomainStrategy = 2 constant Config_IpOnDemand (line 91) | Config_IpOnDemand Config_DomainStrategy = 3 type Domain (line 136) | type Domain struct method Reset (line 148) | func (x *Domain) Reset() { method String (line 155) | func (x *Domain) String() string { method ProtoMessage (line 159) | func (*Domain) ProtoMessage() {} method ProtoReflect (line 161) | func (x *Domain) ProtoReflect() protoreflect.Message { method Descriptor (line 174) | func (*Domain) Descriptor() ([]byte, []int) { method GetType (line 178) | func (x *Domain) GetType() Domain_Type { method GetValue (line 185) | func (x *Domain) GetValue() string { method GetAttribute (line 192) | func (x *Domain) GetAttribute() []*Domain_Attribute { type CIDR (line 200) | type CIDR struct method Reset (line 210) | func (x *CIDR) Reset() { method String (line 217) | func (x *CIDR) String() string { method ProtoMessage (line 221) | func (*CIDR) ProtoMessage() {} method ProtoReflect (line 223) | func (x *CIDR) ProtoReflect() protoreflect.Message { method Descriptor (line 236) | func (*CIDR) Descriptor() ([]byte, []int) { method GetIp (line 240) | func (x *CIDR) GetIp() []byte { method GetPrefix (line 247) | func (x *CIDR) GetPrefix() uint32 { type GeoIP (line 254) | type GeoIP struct method Reset (line 263) | func (x *GeoIP) Reset() { method String (line 270) | func (x *GeoIP) String() string { method ProtoMessage (line 274) | func (*GeoIP) ProtoMessage() {} method ProtoReflect (line 276) | func (x *GeoIP) ProtoReflect() protoreflect.Message { method Descriptor (line 289) | func (*GeoIP) Descriptor() ([]byte, []int) { method GetCountryCode (line 293) | func (x *GeoIP) GetCountryCode() string { method GetCidr (line 300) | func (x *GeoIP) GetCidr() []*CIDR { method GetReverseMatch (line 307) | func (x *GeoIP) GetReverseMatch() bool { type GeoIPList (line 314) | type GeoIPList struct method Reset (line 321) | func (x *GeoIPList) Reset() { method String (line 328) | func (x *GeoIPList) String() string { method ProtoMessage (line 332) | func (*GeoIPList) ProtoMessage() {} method ProtoReflect (line 334) | func (x *GeoIPList) ProtoReflect() protoreflect.Message { method Descriptor (line 347) | func (*GeoIPList) Descriptor() ([]byte, []int) { method GetEntry (line 351) | func (x *GeoIPList) GetEntry() []*GeoIP { type GeoSite (line 358) | type GeoSite struct method Reset (line 366) | func (x *GeoSite) Reset() { method String (line 373) | func (x *GeoSite) String() string { method ProtoMessage (line 377) | func (*GeoSite) ProtoMessage() {} method ProtoReflect (line 379) | func (x *GeoSite) ProtoReflect() protoreflect.Message { method Descriptor (line 392) | func (*GeoSite) Descriptor() ([]byte, []int) { method GetCountryCode (line 396) | func (x *GeoSite) GetCountryCode() string { method GetDomain (line 403) | func (x *GeoSite) GetDomain() []*Domain { type GeoSiteList (line 410) | type GeoSiteList struct method Reset (line 417) | func (x *GeoSiteList) Reset() { method String (line 424) | func (x *GeoSiteList) String() string { method ProtoMessage (line 428) | func (*GeoSiteList) ProtoMessage() {} method ProtoReflect (line 430) | func (x *GeoSiteList) ProtoReflect() protoreflect.Message { method Descriptor (line 443) | func (*GeoSiteList) Descriptor() ([]byte, []int) { method GetEntry (line 447) | func (x *GeoSiteList) GetEntry() []*GeoSite { type RoutingRule (line 454) | type RoutingRule struct method Reset (line 491) | func (x *RoutingRule) Reset() { method String (line 498) | func (x *RoutingRule) String() string { method ProtoMessage (line 502) | func (*RoutingRule) ProtoMessage() {} method ProtoReflect (line 504) | func (x *RoutingRule) ProtoReflect() protoreflect.Message { method Descriptor (line 517) | func (*RoutingRule) Descriptor() ([]byte, []int) { method GetTargetTag (line 521) | func (x *RoutingRule) GetTargetTag() isRoutingRule_TargetTag { method GetTag (line 528) | func (x *RoutingRule) GetTag() string { method GetBalancingTag (line 537) | func (x *RoutingRule) GetBalancingTag() string { method GetRuleTag (line 546) | func (x *RoutingRule) GetRuleTag() string { method GetDomain (line 553) | func (x *RoutingRule) GetDomain() []*Domain { method GetGeoip (line 560) | func (x *RoutingRule) GetGeoip() []*GeoIP { method GetPortList (line 567) | func (x *RoutingRule) GetPortList() *net.PortList { method GetNetworks (line 574) | func (x *RoutingRule) GetNetworks() []net.Network { method GetSourceGeoip (line 581) | func (x *RoutingRule) GetSourceGeoip() []*GeoIP { method GetSourcePortList (line 588) | func (x *RoutingRule) GetSourcePortList() *net.PortList { method GetUserEmail (line 595) | func (x *RoutingRule) GetUserEmail() []string { method GetInboundTag (line 602) | func (x *RoutingRule) GetInboundTag() []string { method GetProtocol (line 609) | func (x *RoutingRule) GetProtocol() []string { method GetAttributes (line 616) | func (x *RoutingRule) GetAttributes() map[string]string { method GetLocalGeoip (line 623) | func (x *RoutingRule) GetLocalGeoip() []*GeoIP { method GetLocalPortList (line 630) | func (x *RoutingRule) GetLocalPortList() *net.PortList { method GetVlessRouteList (line 637) | func (x *RoutingRule) GetVlessRouteList() *net.PortList { method GetProcess (line 644) | func (x *RoutingRule) GetProcess() []string { method GetWebhook (line 651) | func (x *RoutingRule) GetWebhook() *WebhookConfig { type isRoutingRule_TargetTag (line 658) | type isRoutingRule_TargetTag interface type RoutingRule_Tag (line 662) | type RoutingRule_Tag struct method isRoutingRule_TargetTag (line 672) | func (*RoutingRule_Tag) isRoutingRule_TargetTag() {} type RoutingRule_BalancingTag (line 667) | type RoutingRule_BalancingTag struct method isRoutingRule_TargetTag (line 674) | func (*RoutingRule_BalancingTag) isRoutingRule_TargetTag() {} type WebhookConfig (line 676) | type WebhookConfig struct method Reset (line 685) | func (x *WebhookConfig) Reset() { method String (line 692) | func (x *WebhookConfig) String() string { method ProtoMessage (line 696) | func (*WebhookConfig) ProtoMessage() {} method ProtoReflect (line 698) | func (x *WebhookConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 711) | func (*WebhookConfig) Descriptor() ([]byte, []int) { method GetUrl (line 715) | func (x *WebhookConfig) GetUrl() string { method GetDeduplication (line 722) | func (x *WebhookConfig) GetDeduplication() uint32 { method GetHeaders (line 729) | func (x *WebhookConfig) GetHeaders() map[string]string { type BalancingRule (line 736) | type BalancingRule struct method Reset (line 747) | func (x *BalancingRule) Reset() { method String (line 754) | func (x *BalancingRule) String() string { method ProtoMessage (line 758) | func (*BalancingRule) ProtoMessage() {} method ProtoReflect (line 760) | func (x *BalancingRule) ProtoReflect() protoreflect.Message { method Descriptor (line 773) | func (*BalancingRule) Descriptor() ([]byte, []int) { method GetTag (line 777) | func (x *BalancingRule) GetTag() string { method GetOutboundSelector (line 784) | func (x *BalancingRule) GetOutboundSelector() []string { method GetStrategy (line 791) | func (x *BalancingRule) GetStrategy() string { method GetStrategySettings (line 798) | func (x *BalancingRule) GetStrategySettings() *serial.TypedMessage { method GetFallbackTag (line 805) | func (x *BalancingRule) GetFallbackTag() string { type StrategyWeight (line 812) | type StrategyWeight struct method Reset (line 821) | func (x *StrategyWeight) Reset() { method String (line 828) | func (x *StrategyWeight) String() string { method ProtoMessage (line 832) | func (*StrategyWeight) ProtoMessage() {} method ProtoReflect (line 834) | func (x *StrategyWeight) ProtoReflect() protoreflect.Message { method Descriptor (line 847) | func (*StrategyWeight) Descriptor() ([]byte, []int) { method GetRegexp (line 851) | func (x *StrategyWeight) GetRegexp() bool { method GetMatch (line 858) | func (x *StrategyWeight) GetMatch() string { method GetValue (line 865) | func (x *StrategyWeight) GetValue() float32 { type StrategyLeastLoadConfig (line 872) | type StrategyLeastLoadConfig struct method Reset (line 888) | func (x *StrategyLeastLoadConfig) Reset() { method String (line 895) | func (x *StrategyLeastLoadConfig) String() string { method ProtoMessage (line 899) | func (*StrategyLeastLoadConfig) ProtoMessage() {} method ProtoReflect (line 901) | func (x *StrategyLeastLoadConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 914) | func (*StrategyLeastLoadConfig) Descriptor() ([]byte, []int) { method GetCosts (line 918) | func (x *StrategyLeastLoadConfig) GetCosts() []*StrategyWeight { method GetBaselines (line 925) | func (x *StrategyLeastLoadConfig) GetBaselines() []int64 { method GetExpected (line 932) | func (x *StrategyLeastLoadConfig) GetExpected() int32 { method GetMaxRTT (line 939) | func (x *StrategyLeastLoadConfig) GetMaxRTT() int64 { method GetTolerance (line 946) | func (x *StrategyLeastLoadConfig) GetTolerance() float32 { type Config (line 953) | type Config struct method Reset (line 962) | func (x *Config) Reset() { method String (line 969) | func (x *Config) String() string { method ProtoMessage (line 973) | func (*Config) ProtoMessage() {} method ProtoReflect (line 975) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 988) | func (*Config) Descriptor() ([]byte, []int) { method GetDomainStrategy (line 992) | func (x *Config) GetDomainStrategy() Config_DomainStrategy { method GetRule (line 999) | func (x *Config) GetRule() []*RoutingRule { method GetBalancingRule (line 1006) | func (x *Config) GetBalancingRule() []*BalancingRule { type Domain_Attribute (line 1013) | type Domain_Attribute struct method Reset (line 1025) | func (x *Domain_Attribute) Reset() { method String (line 1032) | func (x *Domain_Attribute) String() string { method ProtoMessage (line 1036) | func (*Domain_Attribute) ProtoMessage() {} method ProtoReflect (line 1038) | func (x *Domain_Attribute) ProtoReflect() protoreflect.Message { method Descriptor (line 1051) | func (*Domain_Attribute) Descriptor() ([]byte, []int) { method GetKey (line 1055) | func (x *Domain_Attribute) GetKey() string { method GetTypedValue (line 1062) | func (x *Domain_Attribute) GetTypedValue() isDomain_Attribute_TypedVal... method GetBoolValue (line 1069) | func (x *Domain_Attribute) GetBoolValue() bool { method GetIntValue (line 1078) | func (x *Domain_Attribute) GetIntValue() int64 { type isDomain_Attribute_TypedValue (line 1087) | type isDomain_Attribute_TypedValue interface type Domain_Attribute_BoolValue (line 1091) | type Domain_Attribute_BoolValue struct method isDomain_Attribute_TypedValue (line 1099) | func (*Domain_Attribute_BoolValue) isDomain_Attribute_TypedValue() {} type Domain_Attribute_IntValue (line 1095) | type Domain_Attribute_IntValue struct method isDomain_Attribute_TypedValue (line 1101) | func (*Domain_Attribute_IntValue) isDomain_Attribute_TypedValue() {} constant file_app_router_config_proto_rawDesc (line 1105) | file_app_router_config_proto_rawDesc = "" + function file_app_router_config_proto_rawDescGZIP (line 1207) | func file_app_router_config_proto_rawDescGZIP() []byte { function init (line 1269) | func init() { file_app_router_config_proto_init() } function file_app_router_config_proto_init (line 1270) | func file_app_router_config_proto_init() { FILE: app/router/geosite_compact.go type geoSiteListGob (line 12) | type geoSiteListGob struct function SerializeGeoSiteList (line 18) | func SerializeGeoSiteList(sites []*GeoSite, deps map[string][]string, ho... type bytesWriter (line 39) | type bytesWriter struct method Write (line 43) | func (w *bytesWriter) Write(p []byte) (n int, err error) { method Bytes (line 48) | func (w *bytesWriter) Bytes() []byte { function LoadGeoSiteMatcher (line 52) | func LoadGeoSiteMatcher(r io.Reader, countryCode string) (strmatcher.Ind... function loadWithDeps (line 61) | func loadWithDeps(data *geoSiteListGob, code string, visited map[string]... function LoadGeoSiteHosts (line 94) | func LoadGeoSiteHosts(r io.Reader) (map[string][]string, error) { FILE: app/router/router.go type Router (line 18) | type Router struct method Init (line 39) | func (r *Router) Init(ctx context.Context, config *Config, d dns.Clien... method PickRoute (line 95) | func (r *Router) PickRoute(ctx routing.Context) (routing.Route, error) { method AddRule (line 112) | func (r *Router) AddRule(config *serial.TypedMessage, shouldAppend boo... method ReloadRules (line 124) | func (r *Router) ReloadRules(config *Config, shouldAppend bool) error { method RuleExists (line 201) | func (r *Router) RuleExists(tag string) bool { method RemoveRule (line 213) | func (r *Router) RemoveRule(tag string) error { method ListRule (line 234) | func (r *Router) ListRule() []routing.Route { method pickRouteInternal (line 247) | func (r *Router) pickRouteInternal(ctx routing.Context) (*Rule, routin... method Start (line 280) | func (r *Router) Start() error { method closeWebhooks (line 285) | func (r *Router) closeWebhooks() { method Close (line 294) | func (r *Router) Close() error { method Type (line 302) | func (*Router) Type() interface{} { type Route (line 31) | type Route struct method GetOutboundGroupTags (line 307) | func (r *Route) GetOutboundGroupTags() []string { method GetOutboundTag (line 312) | func (r *Route) GetOutboundTag() string { method GetRuleTag (line 316) | func (r *Route) GetRuleTag() string { function init (line 320) | func init() { FILE: app/router/router_test.go type mockOutboundManager (line 18) | type mockOutboundManager struct function TestSimpleRouter (line 23) | func TestSimpleRouter(t *testing.T) { function TestSimpleBalancer (line 58) | func TestSimpleBalancer(t *testing.T) { function TestIPOnDemand (line 150) | func TestIPOnDemand(t *testing.T) { function TestIPIfNonMatchDomain (line 195) | func TestIPIfNonMatchDomain(t *testing.T) { function TestIPIfNonMatchIP (line 240) | func TestIPIfNonMatchIP(t *testing.T) { FILE: app/router/strategy_leastload.go type LeastLoadStrategy (line 18) | type LeastLoadStrategy struct method GetPrincipleTarget (line 27) | func (l *LeastLoadStrategy) GetPrincipleTarget(strings []string) []str... method InjectContext (line 61) | func (s *LeastLoadStrategy) InjectContext(ctx context.Context) { method PickOutbound (line 69) | func (s *LeastLoadStrategy) PickOutbound(candidates []string) string { method pickOutbounds (line 79) | func (s *LeastLoadStrategy) pickOutbounds(candidates []string) []*node { method selectLeastLoad (line 101) | func (s *LeastLoadStrategy) selectLeastLoad(nodes []*node) []*node { method getNodes (line 141) | func (s *LeastLoadStrategy) getNodes(candidates []string, maxRTT time.... function NewLeastLoadStrategy (line 37) | func NewLeastLoadStrategy(settings *StrategyLeastLoadConfig) *LeastLoadS... type node (line 52) | type node struct function leastloadSort (line 185) | func leastloadSort(nodes []*node) { FILE: app/router/strategy_leastload_test.go function TestSelectLeastExpected (line 69) | func TestSelectLeastExpected(t *testing.T) { function TestSelectLeastExpected2 (line 88) | func TestSelectLeastExpected2(t *testing.T) { function TestSelectLeastExpectedAndBaselines (line 105) | func TestSelectLeastExpectedAndBaselines(t *testing.T) { function TestSelectLeastExpectedAndBaselines2 (line 125) | func TestSelectLeastExpectedAndBaselines2(t *testing.T) { function TestSelectLeastLoadBaselines (line 145) | func TestSelectLeastLoadBaselines(t *testing.T) { function TestSelectLeastLoadBaselinesNoQualified (line 163) | func TestSelectLeastLoadBaselinesNoQualified(t *testing.T) { FILE: app/router/strategy_leastping.go type LeastPingStrategy (line 13) | type LeastPingStrategy struct method GetPrincipleTarget (line 18) | func (l *LeastPingStrategy) GetPrincipleTarget(strings []string) []str... method InjectContext (line 22) | func (l *LeastPingStrategy) InjectContext(ctx context.Context) { method PickOutbound (line 30) | func (l *LeastPingStrategy) PickOutbound(strings []string) string { type outboundList (line 58) | type outboundList method contains (line 60) | func (o outboundList) contains(name string) bool { FILE: app/router/strategy_random.go type RandomStrategy (line 14) | type RandomStrategy struct method InjectContext (line 21) | func (s *RandomStrategy) InjectContext(ctx context.Context) { method GetPrincipleTarget (line 31) | func (s *RandomStrategy) GetPrincipleTarget(strings []string) []string { method PickOutbound (line 35) | func (s *RandomStrategy) PickOutbound(candidates []string) string { FILE: app/router/webhook.go function parseURL (line 32) | func parseURL(raw string) (httpURL, socketPath string) { function resolveSocketPath (line 50) | func resolveSocketPath(path string) string { function ptr (line 65) | func ptr[T any](v T) *T { return &v } type event (line 67) | type event struct type WebhookNotifier (line 83) | type WebhookNotifier struct method Fire (line 134) | func (h *WebhookNotifier) Fire(ctx routing.Context, outboundTag string) { method post (line 212) | func (h *WebhookNotifier) post(ev *event) { method isDuplicate (line 244) | func (h *WebhookNotifier) isDuplicate(email string) bool { method cleanupLoop (line 259) | func (h *WebhookNotifier) cleanupLoop() { method Close (line 280) | func (h *WebhookNotifier) Close() error { function NewWebhookNotifier (line 94) | func NewWebhookNotifier(cfg *WebhookConfig) (*WebhookNotifier, error) { function buildEvent (line 158) | func buildEvent(ctx routing.Context, outboundTag string) *event { function enrichFromSession (line 195) | func enrichFromSession(ev *event, sctx *routing_session.Context) { FILE: app/router/weight.go type weightScaler (line 13) | type weightScaler function NewWeightManager (line 18) | func NewWeightManager(s []*StrategyWeight, defaultWeight float64, scaler... type WeightManager (line 28) | type WeightManager struct method Get (line 37) | func (s *WeightManager) Get(tag string) float64 { method Apply (line 50) | func (s *WeightManager) Apply(tag string, value float64) float64 { method findValue (line 54) | func (s *WeightManager) findValue(tag string) float64 { method getMatch (line 78) | func (s *WeightManager) getMatch(tag, find string, isRegexp bool) stri... FILE: app/router/weight_test.go function TestWeight (line 10) | func TestWeight(t *testing.T) { FILE: app/stats/channel.go type Channel (line 12) | type Channel struct method Subscribers (line 37) | func (c *Channel) Subscribers() []chan interface{} { method Subscribe (line 44) | func (c *Channel) Subscribe() (chan interface{}, error) { method Unsubscribe (line 56) | func (c *Channel) Unsubscribe(subscriber chan interface{}) error { method Publish (line 72) | func (c *Channel) Publish(ctx context.Context, msg interface{}) { method Running (line 87) | func (c *Channel) Running() bool { method Start (line 99) | func (c *Channel) Start() error { method Close (line 129) | func (c *Channel) Close() error { function NewChannel (line 27) | func NewChannel(config *ChannelConfig) *Channel { type channelMessage (line 140) | type channelMessage struct method publish (line 145) | func (c channelMessage) publish(publisher chan channelMessage) { method publishNonBlocking (line 152) | func (c channelMessage) publishNonBlocking(publisher chan channelMessa... method broadcast (line 160) | func (c channelMessage) broadcast(subscriber chan interface{}) { method broadcastNonBlocking (line 167) | func (c channelMessage) broadcastNonBlocking(subscriber chan interface... FILE: app/stats/channel_test.go function TestStatsChannel (line 14) | func TestStatsChannel(t *testing.T) { function TestStatsChannelUnsubscribe (line 98) | func TestStatsChannelUnsubscribe(t *testing.T) { function TestStatsChannelBlocking (line 188) | func TestStatsChannelBlocking(t *testing.T) { function TestStatsChannelNonBlocking (line 262) | func TestStatsChannelNonBlocking(t *testing.T) { function TestStatsChannelConcurrency (line 338) | func TestStatsChannelConcurrency(t *testing.T) { FILE: app/stats/command/command.go type statsServer (line 20) | type statsServer struct method GetStats (line 32) | func (s *statsServer) GetStats(ctx context.Context, request *GetStatsR... method GetStatsOnline (line 51) | func (s *statsServer) GetStatsOnline(ctx context.Context, request *Get... method GetStatsOnlineIpList (line 65) | func (s *statsServer) GetStatsOnlineIpList(ctx context.Context, reques... method GetAllOnlineUsers (line 83) | func (s *statsServer) GetAllOnlineUsers(ctx context.Context, request *... method QueryStats (line 89) | func (s *statsServer) QueryStats(ctx context.Context, request *QuerySt... method GetSysStats (line 121) | func (s *statsServer) GetSysStats(ctx context.Context, request *SysSta... method mustEmbedUnimplementedStatsServiceServer (line 143) | func (s *statsServer) mustEmbedUnimplementedStatsServiceServer() {} function NewStatsServer (line 25) | func NewStatsServer(manager feature_stats.Manager) StatsServiceServer { type service (line 145) | type service struct method Register (line 149) | func (s *service) Register(server *grpc.Server) { function init (line 159) | func init() { FILE: app/stats/command/command.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type GetStatsRequest (line 24) | type GetStatsRequest struct method Reset (line 34) | func (x *GetStatsRequest) Reset() { method String (line 41) | func (x *GetStatsRequest) String() string { method ProtoMessage (line 45) | func (*GetStatsRequest) ProtoMessage() {} method ProtoReflect (line 47) | func (x *GetStatsRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 60) | func (*GetStatsRequest) Descriptor() ([]byte, []int) { method GetName (line 64) | func (x *GetStatsRequest) GetName() string { method GetReset_ (line 71) | func (x *GetStatsRequest) GetReset_() bool { type Stat (line 78) | type Stat struct method Reset (line 86) | func (x *Stat) Reset() { method String (line 93) | func (x *Stat) String() string { method ProtoMessage (line 97) | func (*Stat) ProtoMessage() {} method ProtoReflect (line 99) | func (x *Stat) ProtoReflect() protoreflect.Message { method Descriptor (line 112) | func (*Stat) Descriptor() ([]byte, []int) { method GetName (line 116) | func (x *Stat) GetName() string { method GetValue (line 123) | func (x *Stat) GetValue() int64 { type GetStatsResponse (line 130) | type GetStatsResponse struct method Reset (line 137) | func (x *GetStatsResponse) Reset() { method String (line 144) | func (x *GetStatsResponse) String() string { method ProtoMessage (line 148) | func (*GetStatsResponse) ProtoMessage() {} method ProtoReflect (line 150) | func (x *GetStatsResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 163) | func (*GetStatsResponse) Descriptor() ([]byte, []int) { method GetStat (line 167) | func (x *GetStatsResponse) GetStat() *Stat { type QueryStatsRequest (line 174) | type QueryStatsRequest struct method Reset (line 182) | func (x *QueryStatsRequest) Reset() { method String (line 189) | func (x *QueryStatsRequest) String() string { method ProtoMessage (line 193) | func (*QueryStatsRequest) ProtoMessage() {} method ProtoReflect (line 195) | func (x *QueryStatsRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 208) | func (*QueryStatsRequest) Descriptor() ([]byte, []int) { method GetPattern (line 212) | func (x *QueryStatsRequest) GetPattern() string { method GetReset_ (line 219) | func (x *QueryStatsRequest) GetReset_() bool { type QueryStatsResponse (line 226) | type QueryStatsResponse struct method Reset (line 233) | func (x *QueryStatsResponse) Reset() { method String (line 240) | func (x *QueryStatsResponse) String() string { method ProtoMessage (line 244) | func (*QueryStatsResponse) ProtoMessage() {} method ProtoReflect (line 246) | func (x *QueryStatsResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 259) | func (*QueryStatsResponse) Descriptor() ([]byte, []int) { method GetStat (line 263) | func (x *QueryStatsResponse) GetStat() []*Stat { type SysStatsRequest (line 270) | type SysStatsRequest struct method Reset (line 276) | func (x *SysStatsRequest) Reset() { method String (line 283) | func (x *SysStatsRequest) String() string { method ProtoMessage (line 287) | func (*SysStatsRequest) ProtoMessage() {} method ProtoReflect (line 289) | func (x *SysStatsRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 302) | func (*SysStatsRequest) Descriptor() ([]byte, []int) { type SysStatsResponse (line 306) | type SysStatsResponse struct method Reset (line 322) | func (x *SysStatsResponse) Reset() { method String (line 329) | func (x *SysStatsResponse) String() string { method ProtoMessage (line 333) | func (*SysStatsResponse) ProtoMessage() {} method ProtoReflect (line 335) | func (x *SysStatsResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 348) | func (*SysStatsResponse) Descriptor() ([]byte, []int) { method GetNumGoroutine (line 352) | func (x *SysStatsResponse) GetNumGoroutine() uint32 { method GetNumGC (line 359) | func (x *SysStatsResponse) GetNumGC() uint32 { method GetAlloc (line 366) | func (x *SysStatsResponse) GetAlloc() uint64 { method GetTotalAlloc (line 373) | func (x *SysStatsResponse) GetTotalAlloc() uint64 { method GetSys (line 380) | func (x *SysStatsResponse) GetSys() uint64 { method GetMallocs (line 387) | func (x *SysStatsResponse) GetMallocs() uint64 { method GetFrees (line 394) | func (x *SysStatsResponse) GetFrees() uint64 { method GetLiveObjects (line 401) | func (x *SysStatsResponse) GetLiveObjects() uint64 { method GetPauseTotalNs (line 408) | func (x *SysStatsResponse) GetPauseTotalNs() uint64 { method GetUptime (line 415) | func (x *SysStatsResponse) GetUptime() uint32 { type GetStatsOnlineIpListResponse (line 422) | type GetStatsOnlineIpListResponse struct method Reset (line 430) | func (x *GetStatsOnlineIpListResponse) Reset() { method String (line 437) | func (x *GetStatsOnlineIpListResponse) String() string { method ProtoMessage (line 441) | func (*GetStatsOnlineIpListResponse) ProtoMessage() {} method ProtoReflect (line 443) | func (x *GetStatsOnlineIpListResponse) ProtoReflect() protoreflect.Mes... method Descriptor (line 456) | func (*GetStatsOnlineIpListResponse) Descriptor() ([]byte, []int) { method GetName (line 460) | func (x *GetStatsOnlineIpListResponse) GetName() string { method GetIps (line 467) | func (x *GetStatsOnlineIpListResponse) GetIps() map[string]int64 { type GetAllOnlineUsersRequest (line 474) | type GetAllOnlineUsersRequest struct method Reset (line 480) | func (x *GetAllOnlineUsersRequest) Reset() { method String (line 487) | func (x *GetAllOnlineUsersRequest) String() string { method ProtoMessage (line 491) | func (*GetAllOnlineUsersRequest) ProtoMessage() {} method ProtoReflect (line 493) | func (x *GetAllOnlineUsersRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 506) | func (*GetAllOnlineUsersRequest) Descriptor() ([]byte, []int) { type GetAllOnlineUsersResponse (line 510) | type GetAllOnlineUsersResponse struct method Reset (line 517) | func (x *GetAllOnlineUsersResponse) Reset() { method String (line 524) | func (x *GetAllOnlineUsersResponse) String() string { method ProtoMessage (line 528) | func (*GetAllOnlineUsersResponse) ProtoMessage() {} method ProtoReflect (line 530) | func (x *GetAllOnlineUsersResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 543) | func (*GetAllOnlineUsersResponse) Descriptor() ([]byte, []int) { method GetUsers (line 547) | func (x *GetAllOnlineUsersResponse) GetUsers() []string { type Config (line 554) | type Config struct method Reset (line 560) | func (x *Config) Reset() { method String (line 567) | func (x *Config) String() string { method ProtoMessage (line 571) | func (*Config) ProtoMessage() {} method ProtoReflect (line 573) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 586) | func (*Config) Descriptor() ([]byte, []int) { constant file_app_stats_command_command_proto_rawDesc (line 592) | file_app_stats_command_command_proto_rawDesc = "" + function file_app_stats_command_command_proto_rawDescGZIP (line 648) | func file_app_stats_command_command_proto_rawDescGZIP() []byte { function init (line 693) | func init() { file_app_stats_command_command_proto_init() } function file_app_stats_command_command_proto_init (line 694) | func file_app_stats_command_command_proto_init() { FILE: app/stats/command/command_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant StatsService_GetStats_FullMethodName (line 22) | StatsService_GetStats_FullMethodName = "/xray.app.stats.comm... constant StatsService_GetStatsOnline_FullMethodName (line 23) | StatsService_GetStatsOnline_FullMethodName = "/xray.app.stats.comm... constant StatsService_QueryStats_FullMethodName (line 24) | StatsService_QueryStats_FullMethodName = "/xray.app.stats.comm... constant StatsService_GetSysStats_FullMethodName (line 25) | StatsService_GetSysStats_FullMethodName = "/xray.app.stats.comm... constant StatsService_GetStatsOnlineIpList_FullMethodName (line 26) | StatsService_GetStatsOnlineIpList_FullMethodName = "/xray.app.stats.comm... constant StatsService_GetAllOnlineUsers_FullMethodName (line 27) | StatsService_GetAllOnlineUsers_FullMethodName = "/xray.app.stats.comm... type StatsServiceClient (line 33) | type StatsServiceClient interface type statsServiceClient (line 42) | type statsServiceClient struct method GetStats (line 50) | func (c *statsServiceClient) GetStats(ctx context.Context, in *GetStat... method GetStatsOnline (line 60) | func (c *statsServiceClient) GetStatsOnline(ctx context.Context, in *G... method QueryStats (line 70) | func (c *statsServiceClient) QueryStats(ctx context.Context, in *Query... method GetSysStats (line 80) | func (c *statsServiceClient) GetSysStats(ctx context.Context, in *SysS... method GetStatsOnlineIpList (line 90) | func (c *statsServiceClient) GetStatsOnlineIpList(ctx context.Context,... method GetAllOnlineUsers (line 100) | func (c *statsServiceClient) GetAllOnlineUsers(ctx context.Context, in... function NewStatsServiceClient (line 46) | func NewStatsServiceClient(cc grpc.ClientConnInterface) StatsServiceClie... type StatsServiceServer (line 113) | type StatsServiceServer interface type UnimplementedStatsServiceServer (line 128) | type UnimplementedStatsServiceServer struct method GetStats (line 130) | func (UnimplementedStatsServiceServer) GetStats(context.Context, *GetS... method GetStatsOnline (line 133) | func (UnimplementedStatsServiceServer) GetStatsOnline(context.Context,... method QueryStats (line 136) | func (UnimplementedStatsServiceServer) QueryStats(context.Context, *Qu... method GetSysStats (line 139) | func (UnimplementedStatsServiceServer) GetSysStats(context.Context, *S... method GetStatsOnlineIpList (line 142) | func (UnimplementedStatsServiceServer) GetStatsOnlineIpList(context.Co... method GetAllOnlineUsers (line 145) | func (UnimplementedStatsServiceServer) GetAllOnlineUsers(context.Conte... method mustEmbedUnimplementedStatsServiceServer (line 148) | func (UnimplementedStatsServiceServer) mustEmbedUnimplementedStatsServ... method testEmbeddedByValue (line 149) | func (UnimplementedStatsServiceServer) testEmbeddedByValue() ... type UnsafeStatsServiceServer (line 154) | type UnsafeStatsServiceServer interface function RegisterStatsServiceServer (line 158) | func RegisterStatsServiceServer(s grpc.ServiceRegistrar, srv StatsServic... function _StatsService_GetStats_Handler (line 169) | func _StatsService_GetStats_Handler(srv interface{}, ctx context.Context... function _StatsService_GetStatsOnline_Handler (line 187) | func _StatsService_GetStatsOnline_Handler(srv interface{}, ctx context.C... function _StatsService_QueryStats_Handler (line 205) | func _StatsService_QueryStats_Handler(srv interface{}, ctx context.Conte... function _StatsService_GetSysStats_Handler (line 223) | func _StatsService_GetSysStats_Handler(srv interface{}, ctx context.Cont... function _StatsService_GetStatsOnlineIpList_Handler (line 241) | func _StatsService_GetStatsOnlineIpList_Handler(srv interface{}, ctx con... function _StatsService_GetAllOnlineUsers_Handler (line 259) | func _StatsService_GetAllOnlineUsers_Handler(srv interface{}, ctx contex... FILE: app/stats/command/command_test.go function TestGetStats (line 14) | func TestGetStats(t *testing.T) { function TestQueryStats (line 63) | func TestQueryStats(t *testing.T) { FILE: app/stats/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { type ChannelConfig (line 60) | type ChannelConfig struct method Reset (line 69) | func (x *ChannelConfig) Reset() { method String (line 76) | func (x *ChannelConfig) String() string { method ProtoMessage (line 80) | func (*ChannelConfig) ProtoMessage() {} method ProtoReflect (line 82) | func (x *ChannelConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 95) | func (*ChannelConfig) Descriptor() ([]byte, []int) { method GetBlocking (line 99) | func (x *ChannelConfig) GetBlocking() bool { method GetSubscriberLimit (line 106) | func (x *ChannelConfig) GetSubscriberLimit() int32 { method GetBufferSize (line 113) | func (x *ChannelConfig) GetBufferSize() int32 { constant file_app_stats_config_proto_rawDesc (line 122) | file_app_stats_config_proto_rawDesc = "" + function file_app_stats_config_proto_rawDescGZIP (line 139) | func file_app_stats_config_proto_rawDescGZIP() []byte { function init (line 159) | func init() { file_app_stats_config_proto_init() } function file_app_stats_config_proto_init (line 160) | func file_app_stats_config_proto_init() { FILE: app/stats/counter.go type Counter (line 6) | type Counter struct method Value (line 11) | func (c *Counter) Value() int64 { method Set (line 16) | func (c *Counter) Set(newValue int64) int64 { method Add (line 21) | func (c *Counter) Add(delta int64) int64 { FILE: app/stats/counter_test.go function TestStatsCounter (line 12) | func TestStatsCounter(t *testing.T) { FILE: app/stats/online_map.go constant localhostIPv4 (line 10) | localhostIPv4 = "127.0.0.1" constant localhostIPv6 (line 11) | localhostIPv6 = "[::1]" type ipEntry (line 14) | type ipEntry struct type OnlineMap (line 22) | type OnlineMap struct method AddIP (line 36) | func (om *OnlineMap) AddIP(ip string) { method RemoveIP (line 57) | func (om *OnlineMap) RemoveIP(ip string) { method Count (line 73) | func (om *OnlineMap) Count() int { method List (line 78) | func (om *OnlineMap) List() []string { method IPTimeMap (line 90) | func (om *OnlineMap) IPTimeMap() map[string]time.Time { function NewOnlineMap (line 29) | func NewOnlineMap() *OnlineMap { FILE: app/stats/stats.go type Manager (line 13) | type Manager struct method Type (line 33) | func (*Manager) Type() interface{} { method RegisterCounter (line 38) | func (m *Manager) RegisterCounter(name string) (stats.Counter, error) { method UnregisterCounter (line 52) | func (m *Manager) UnregisterCounter(name string) error { method GetCounter (line 64) | func (m *Manager) GetCounter(name string) stats.Counter { method VisitCounters (line 75) | func (m *Manager) VisitCounters(visitor func(string, stats.Counter) bo... method RegisterOnlineMap (line 87) | func (m *Manager) RegisterOnlineMap(name string) (stats.OnlineMap, err... method UnregisterOnlineMap (line 101) | func (m *Manager) UnregisterOnlineMap(name string) error { method GetOnlineMap (line 113) | func (m *Manager) GetOnlineMap(name string) stats.OnlineMap { method RegisterChannel (line 124) | func (m *Manager) RegisterChannel(name string) (stats.Channel, error) { method UnregisterChannel (line 141) | func (m *Manager) UnregisterChannel(name string) error { method GetChannel (line 154) | func (m *Manager) GetChannel(name string) stats.Channel { method GetAllOnlineUsers (line 165) | func (m *Manager) GetAllOnlineUsers() []string { method Start (line 180) | func (m *Manager) Start() error { method Close (line 197) | func (m *Manager) Close() error { function NewManager (line 22) | func NewManager(ctx context.Context, config *Config) (*Manager, error) { function init (line 215) | func init() { FILE: app/stats/stats_test.go function TestInterface (line 13) | func TestInterface(t *testing.T) { function TestStatsChannelRunnable (line 17) | func TestStatsChannelRunnable(t *testing.T) { FILE: app/version/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 33) | func (x *Config) Reset() { method String (line 40) | func (x *Config) String() string { method ProtoMessage (line 44) | func (*Config) ProtoMessage() {} method ProtoReflect (line 46) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*Config) Descriptor() ([]byte, []int) { method GetCoreVersion (line 63) | func (x *Config) GetCoreVersion() string { method GetMinVersion (line 70) | func (x *Config) GetMinVersion() string { method GetMaxVersion (line 77) | func (x *Config) GetMaxVersion() string { constant file_app_version_config_proto_rawDesc (line 86) | file_app_version_config_proto_rawDesc = "" + function file_app_version_config_proto_rawDescGZIP (line 102) | func file_app_version_config_proto_rawDescGZIP() []byte { function init (line 121) | func init() { file_app_version_config_proto_init() } function file_app_version_config_proto_init (line 122) | func file_app_version_config_proto_init() { FILE: app/version/version.go type Version (line 11) | type Version struct function New (line 16) | func New(ctx context.Context, config *Config) (*Version, error) { function compareVersions (line 38) | func compareVersions(v1, v2 string) (int, error) { function init (line 73) | func init() { FILE: common/antireplay/antireplay_test.go function BenchmarkMapFilter (line 9) | func BenchmarkMapFilter(b *testing.B) { function TestMapFilter (line 21) | func TestMapFilter(t *testing.T) { FILE: common/antireplay/mapfilter.go type ReplayFilter (line 9) | type ReplayFilter struct function NewMapFilter (line 18) | func NewMapFilter[T comparable](interval int64) *ReplayFilter[T] { method Check (line 29) | func (filter *ReplayFilter[T]) Check(sum T) bool { FILE: common/bitmask/byte.go type Byte (line 4) | type Byte method Has (line 7) | func (b Byte) Has(bb Byte) bool { method Set (line 11) | func (b *Byte) Set(bb Byte) { method Clear (line 15) | func (b *Byte) Clear(bb Byte) { method Toggle (line 19) | func (b *Byte) Toggle(bb Byte) { FILE: common/bitmask/byte_test.go function TestBitmaskByte (line 9) | func TestBitmaskByte(t *testing.T) { FILE: common/buf/buffer.go constant Size (line 13) | Size = 8192 type ownership (line 21) | type ownership constant managed (line 24) | managed ownership = iota constant unmanaged (line 25) | unmanaged constant bytespools (line 26) | bytespools type Buffer (line 32) | type Buffer struct method Release (line 104) | func (b *Buffer) Release() { method Clear (line 126) | func (b *Buffer) Clear() { method Byte (line 132) | func (b *Buffer) Byte(index int32) byte { method SetByte (line 137) | func (b *Buffer) SetByte(index int32, value byte) { method Bytes (line 142) | func (b *Buffer) Bytes() []byte { method Extend (line 148) | func (b *Buffer) Extend(n int32) []byte { method BytesRange (line 160) | func (b *Buffer) BytesRange(from, to int32) []byte { method BytesFrom (line 171) | func (b *Buffer) BytesFrom(from int32) []byte { method BytesTo (line 179) | func (b *Buffer) BytesTo(to int32) []byte { method Check (line 190) | func (b *Buffer) Check() { method Resize (line 203) | func (b *Buffer) Resize(from, to int32) { method Advance (line 223) | func (b *Buffer) Advance(from int32) { method Len (line 232) | func (b *Buffer) Len() int32 { method Cap (line 240) | func (b *Buffer) Cap() int32 { method Available (line 248) | func (b *Buffer) Available() int32 { method IsEmpty (line 256) | func (b *Buffer) IsEmpty() bool { method IsFull (line 261) | func (b *Buffer) IsFull() bool { method Write (line 266) | func (b *Buffer) Write(data []byte) (int, error) { method WriteByte (line 276) | func (b *Buffer) WriteByte(v byte) error { method WriteString (line 286) | func (b *Buffer) WriteString(s string) (int, error) { method ReadByte (line 291) | func (b *Buffer) ReadByte() (byte, error) { method ReadBytes (line 302) | func (b *Buffer) ReadBytes(length int32) ([]byte, error) { method Read (line 313) | func (b *Buffer) Read(data []byte) (int, error) { method ReadFrom (line 327) | func (b *Buffer) ReadFrom(reader io.Reader) (int64, error) { method ReadFullFrom (line 334) | func (b *Buffer) ReadFullFrom(reader io.Reader, size int32) (int64, er... method String (line 346) | func (b *Buffer) String() string { function New (line 41) | func New() *Buffer { function NewExisted (line 55) | func NewExisted(b []byte) *Buffer { function FromBytes (line 72) | func FromBytes(b []byte) *Buffer { function StackNew (line 82) | func StackNew() Buffer { function NewWithSize (line 96) | func NewWithSize(size int32) *Buffer { FILE: common/buf/buffer_test.go function TestBufferClear (line 13) | func TestBufferClear(t *testing.T) { function TestBufferIsEmpty (line 29) | func TestBufferIsEmpty(t *testing.T) { function TestBufferString (line 38) | func TestBufferString(t *testing.T) { function TestBufferByte (line 49) | func TestBufferByte(t *testing.T) { function TestBufferResize (line 81) | func TestBufferResize(t *testing.T) { function TestBufferSlice (line 106) | func TestBufferSlice(t *testing.T) { function TestBufferReadFullFrom (line 135) | func TestBufferReadFullFrom(t *testing.T) { function BenchmarkNewBuffer (line 152) | func BenchmarkNewBuffer(b *testing.B) { function BenchmarkNewBufferStack (line 159) | func BenchmarkNewBufferStack(b *testing.B) { function BenchmarkWrite2 (line 166) | func BenchmarkWrite2(b *testing.B) { function BenchmarkWrite8 (line 176) | func BenchmarkWrite8(b *testing.B) { function BenchmarkWrite32 (line 186) | func BenchmarkWrite32(b *testing.B) { function BenchmarkWriteByte2 (line 198) | func BenchmarkWriteByte2(b *testing.B) { function BenchmarkWriteByte8 (line 209) | func BenchmarkWriteByte8(b *testing.B) { FILE: common/buf/copy.go type dataHandler (line 12) | type dataHandler type copyHandler (line 14) | type copyHandler struct type SizeCounter (line 19) | type SizeCounter struct type CopyOption (line 24) | type CopyOption function UpdateActivity (line 27) | func UpdateActivity(timer signal.ActivityUpdater) CopyOption { function CountSize (line 36) | func CountSize(sc *SizeCounter) CopyOption { function AddToStatCounter (line 45) | func AddToStatCounter(sc stats.Counter) CopyOption { type readError (line 55) | type readError struct method Error (line 59) | func (e readError) Error() string { method Unwrap (line 63) | func (e readError) Unwrap() error { function IsReadError (line 68) | func IsReadError(err error) bool { type writeError (line 73) | type writeError struct method Error (line 77) | func (e writeError) Error() string { method Unwrap (line 81) | func (e writeError) Unwrap() error { function IsWriteError (line 86) | func IsWriteError(err error) bool { function copyInternal (line 91) | func copyInternal(reader Reader, writer Writer, handler *copyHandler) er... function Copy (line 111) | func Copy(reader Reader, writer Writer, options ...CopyOption) error { function CopyOnceTimeout (line 125) | func CopyOnceTimeout(reader Reader, writer Writer, timeout time.Duration... FILE: common/buf/copy_test.go function TestReadError (line 14) | func TestReadError(t *testing.T) { function TestWriteError (line 35) | func TestWriteError(t *testing.T) { type TestReader (line 56) | type TestReader struct method Read (line 58) | func (TestReader) Read(b []byte) (int, error) { function BenchmarkCopy (line 62) | func BenchmarkCopy(b *testing.B) { FILE: common/buf/io.go type Reader (line 17) | type Reader interface type TimeoutReader (line 26) | type TimeoutReader interface type TimeoutWrapperReader (line 31) | type TimeoutWrapperReader struct method ReadMultiBuffer (line 39) | func (r *TimeoutWrapperReader) ReadMultiBuffer() (MultiBuffer, error) { method ReadMultiBufferTimeout (line 55) | func (r *TimeoutWrapperReader) ReadMultiBufferTimeout(duration time.Du... type Writer (line 81) | type Writer interface function WriteAllBytes (line 87) | func WriteAllBytes(writer io.Writer, payload []byte, c stats.Counter) er... function isPacketReader (line 106) | func isPacketReader(reader io.Reader) bool { function NewReader (line 113) | func NewReader(reader io.Reader) Reader { function NewPacketReader (line 148) | func NewPacketReader(reader io.Reader) Reader { function isPacketWriter (line 158) | func isPacketWriter(writer io.Writer) bool { function NewWriter (line 171) | func NewWriter(writer io.Writer) Writer { FILE: common/buf/io_test.go function TestWriterCreation (line 13) | func TestWriterCreation(t *testing.T) { FILE: common/buf/multi_buffer.go function ReadAllToBytes (line 12) | func ReadAllToBytes(reader io.Reader) ([]byte, error) { type MultiBuffer (line 27) | type MultiBuffer method Copy (line 66) | func (mb MultiBuffer) Copy(b []byte) int { method Len (line 239) | func (mb MultiBuffer) Len() int32 { method IsEmpty (line 252) | func (mb MultiBuffer) IsEmpty() bool { method String (line 262) | func (mb MultiBuffer) String() string { function MergeMulti (line 30) | func MergeMulti(dest MultiBuffer, src MultiBuffer) (MultiBuffer, MultiBu... function MergeBytes (line 39) | func MergeBytes(dest MultiBuffer, src []byte) MultiBuffer { function ReleaseMulti (line 57) | func ReleaseMulti(mb MultiBuffer) MultiBuffer { function ReadFrom (line 79) | func ReadFrom(reader io.Reader) (MultiBuffer, error) { function SplitBytes (line 100) | func SplitBytes(mb MultiBuffer, b []byte) (MultiBuffer, int) { function SplitFirstBytes (line 126) | func SplitFirstBytes(mb MultiBuffer, p []byte) (MultiBuffer, int) { function Compact (line 137) | func Compact(mb MultiBuffer) MultiBuffer { function SplitFirst (line 161) | func SplitFirst(mb MultiBuffer) (MultiBuffer, *Buffer) { function SplitSize (line 173) | func SplitSize(mb MultiBuffer, size int32) (MultiBuffer, MultiBuffer) { function SplitMulti (line 207) | func SplitMulti(mb MultiBuffer, i int) (MultiBuffer, MultiBuffer) { function WriteMultiBuffer (line 220) | func WriteMultiBuffer(writer io.Writer, mb MultiBuffer) (MultiBuffer, er... type MultiBufferContainer (line 271) | type MultiBufferContainer struct method Read (line 276) | func (c *MultiBufferContainer) Read(b []byte) (int, error) { method ReadMultiBuffer (line 287) | func (c *MultiBufferContainer) ReadMultiBuffer() (MultiBuffer, error) { method Write (line 294) | func (c *MultiBufferContainer) Write(b []byte) (int, error) { method WriteMultiBuffer (line 300) | func (c *MultiBufferContainer) WriteMultiBuffer(b MultiBuffer) error { method Close (line 307) | func (c *MultiBufferContainer) Close() error { FILE: common/buf/multi_buffer_test.go function TestMultiBufferRead (line 15) | func TestMultiBufferRead(t *testing.T) { function TestMultiBufferAppend (line 33) | func TestMultiBufferAppend(t *testing.T) { function TestMultiBufferSliceBySizeLarge (line 43) | func TestMultiBufferSliceBySizeLarge(t *testing.T) { function TestMultiBufferSplitFirst (line 67) | func TestMultiBufferSplitFirst(t *testing.T) { function TestMultiBufferReadAllToByte (line 100) | func TestMultiBufferReadAllToByte(t *testing.T) { function TestMultiBufferCopy (line 130) | func TestMultiBufferCopy(t *testing.T) { function TestSplitFirstBytes (line 146) | func TestSplitFirstBytes(t *testing.T) { function TestCompact (line 164) | func TestCompact(t *testing.T) { function TestCompactWithConsumed (line 178) | func TestCompactWithConsumed(t *testing.T) { function BenchmarkSplitBytes (line 201) | func BenchmarkSplitBytes(b *testing.B) { FILE: common/buf/override.go type EndpointOverrideReader (line 7) | type EndpointOverrideReader struct method ReadMultiBuffer (line 13) | func (r *EndpointOverrideReader) ReadMultiBuffer() (MultiBuffer, error) { type EndpointOverrideWriter (line 25) | type EndpointOverrideWriter struct method WriteMultiBuffer (line 31) | func (w *EndpointOverrideWriter) WriteMultiBuffer(mb MultiBuffer) error { FILE: common/buf/reader.go function readOneUDP (line 10) | func readOneUDP(r io.Reader) (*Buffer, error) { function ReadBuffer (line 28) | func ReadBuffer(r io.Reader) (*Buffer, error) { type BufferedReader (line 39) | type BufferedReader struct method BufferedBytes (line 49) | func (r *BufferedReader) BufferedBytes() int32 { method ReadByte (line 54) | func (r *BufferedReader) ReadByte() (byte, error) { method Read (line 61) | func (r *BufferedReader) Read(b []byte) (int, error) { method ReadMultiBuffer (line 89) | func (r *BufferedReader) ReadMultiBuffer() (MultiBuffer, error) { method ReadAtMost (line 100) | func (r *BufferedReader) ReadAtMost(size int32) (MultiBuffer, error) { method writeToInternal (line 117) | func (r *BufferedReader) writeToInternal(writer io.Writer) (int64, err... method WriteTo (line 133) | func (r *BufferedReader) WriteTo(writer io.Writer) (int64, error) { method Interrupt (line 142) | func (r *BufferedReader) Interrupt() { method Close (line 147) | func (r *BufferedReader) Close() error { type SingleReader (line 152) | type SingleReader struct method ReadMultiBuffer (line 157) | func (r *SingleReader) ReadMultiBuffer() (MultiBuffer, error) { type PacketReader (line 163) | type PacketReader struct method ReadMultiBuffer (line 168) | func (r *PacketReader) ReadMultiBuffer() (MultiBuffer, error) { FILE: common/buf/reader_test.go function TestBytesReaderWriteTo (line 14) | func TestBytesReaderWriteTo(t *testing.T) { function TestBytesReaderMultiBuffer (line 41) | func TestBytesReaderMultiBuffer(t *testing.T) { function TestReadByte (line 59) | func TestReadByte(t *testing.T) { function TestReadBuffer (line 80) | func TestReadBuffer(t *testing.T) { function TestReadAtMost (line 93) | func TestReadAtMost(t *testing.T) { function TestPacketReader_ReadMultiBuffer (line 112) | func TestPacketReader_ReadMultiBuffer(t *testing.T) { function TestReaderInterface (line 123) | func TestReaderInterface(t *testing.T) { FILE: common/buf/readv_posix.go type posixReader (line 11) | type posixReader struct method Init (line 15) | func (r *posixReader) Init(bs []*Buffer) { method Read (line 29) | func (r *posixReader) Read(fd uintptr) int32 { method Clear (line 37) | func (r *posixReader) Clear() { function newMultiReader (line 44) | func newMultiReader() multiReader { FILE: common/buf/readv_reader.go type allocStrategy (line 14) | type allocStrategy struct method Current (line 18) | func (s *allocStrategy) Current() uint32 { method Adjust (line 22) | func (s *allocStrategy) Adjust(n uint32) { method Alloc (line 38) | func (s *allocStrategy) Alloc() []*Buffer { type multiReader (line 46) | type multiReader interface type ReadVReader (line 53) | type ReadVReader struct method readMulti (line 74) | func (r *ReadVReader) readMulti() (MultiBuffer, error) { method ReadMultiBuffer (line 123) | func (r *ReadVReader) ReadMultiBuffer() (MultiBuffer, error) { function NewReadVReader (line 62) | func NewReadVReader(reader io.Reader, rawConn syscall.RawConn, counter s... function init (line 148) | func init() { FILE: common/buf/readv_reader_wasm.go constant useReadv (line 11) | useReadv = false function NewReadVReader (line 13) | func NewReadVReader(reader io.Reader, rawConn syscall.RawConn) Reader { FILE: common/buf/readv_test.go function TestReadvReader (line 18) | func TestReadvReader(t *testing.T) { FILE: common/buf/readv_unix.go type unixReader (line 8) | type unixReader struct method Init (line 12) | func (r *unixReader) Init(bs []*Buffer) { method Read (line 23) | func (r *unixReader) Read(fd uintptr) int32 { method Clear (line 31) | func (r *unixReader) Clear() { function newMultiReader (line 35) | func newMultiReader() multiReader { FILE: common/buf/readv_windows.go type windowsReader (line 7) | type windowsReader struct method Init (line 11) | func (r *windowsReader) Init(bs []*Buffer) { method Clear (line 20) | func (r *windowsReader) Clear() { method Read (line 27) | func (r *windowsReader) Read(fd uintptr) int32 { function newMultiReader (line 37) | func newMultiReader() multiReader { FILE: common/buf/writer.go type BufferToBytesWriter (line 14) | type BufferToBytesWriter struct method WriteMultiBuffer (line 22) | func (w *BufferToBytesWriter) WriteMultiBuffer(mb MultiBuffer) error { method ReadFrom (line 69) | func (w *BufferToBytesWriter) ReadFrom(reader io.Reader) (int64, error) { type BufferedWriter (line 76) | type BufferedWriter struct method WriteByte (line 94) | func (w *BufferedWriter) WriteByte(c byte) error { method Write (line 99) | func (w *BufferedWriter) Write(b []byte) (int, error) { method WriteMultiBuffer (line 136) | func (w *BufferedWriter) WriteMultiBuffer(b MultiBuffer) error { method Flush (line 175) | func (w *BufferedWriter) Flush() error { method flushInternal (line 182) | func (w *BufferedWriter) flushInternal() error { method SetBuffered (line 200) | func (w *BufferedWriter) SetBuffered(f bool) error { method SetFlushNext (line 212) | func (w *BufferedWriter) SetFlushNext() { method ReadFrom (line 219) | func (w *BufferedWriter) ReadFrom(reader io.Reader) (int64, error) { method Close (line 230) | func (w *BufferedWriter) Close() error { function NewBufferedWriter (line 85) | func NewBufferedWriter(writer Writer) *BufferedWriter { type SequentialWriter (line 238) | type SequentialWriter struct method WriteMultiBuffer (line 243) | func (w *SequentialWriter) WriteMultiBuffer(mb MultiBuffer) error { type noOpWriter (line 249) | type noOpWriter method WriteMultiBuffer (line 251) | func (noOpWriter) WriteMultiBuffer(b MultiBuffer) error { method Write (line 256) | func (noOpWriter) Write(b []byte) (int, error) { method ReadFrom (line 260) | func (noOpWriter) ReadFrom(reader io.Reader) (int64, error) { FILE: common/buf/writer_test.go function TestWriter (line 16) | func TestWriter(t *testing.T) { function TestBytesWriterReadFrom (line 34) | func TestBytesWriterReadFrom(t *testing.T) { function TestDiscardBytes (line 55) | func TestDiscardBytes(t *testing.T) { function TestDiscardBytesMultiBuffer (line 66) | func TestDiscardBytesMultiBuffer(t *testing.T) { function TestWriterInterface (line 79) | func TestWriterInterface(t *testing.T) { FILE: common/bytespool/pool.go function createAllocFunc (line 5) | func createAllocFunc(size int32) func() interface{} { constant numPools (line 16) | numPools = 4 constant sizeMulti (line 17) | sizeMulti = 4 function init (line 25) | func init() { function GetPool (line 40) | func GetPool(size int32) *sync.Pool { function Alloc (line 52) | func Alloc(size int32) []byte { function Free (line 63) | func Free(b []byte) { FILE: common/cache/lru.go type Lru (line 9) | type Lru interface type lru (line 16) | type lru struct method Get (line 40) | func (l *lru) Get(key interface{}) (value interface{}, ok bool) { method GetKeyFromValue (line 51) | func (l *lru) GetKeyFromValue(value interface{}) (key interface{}, ok ... method PeekKeyFromValue (line 62) | func (l *lru) PeekKeyFromValue(value interface{}) (key interface{}, ok... method Put (line 70) | func (l *lru) Put(key, value interface{}) { type lruElement (line 24) | type lruElement struct function NewLru (line 30) | func NewLru(cap int) Lru { FILE: common/cache/lru_test.go function TestLruReplaceValue (line 9) | func TestLruReplaceValue(t *testing.T) { function TestLruRemoveOld (line 24) | func TestLruRemoveOld(t *testing.T) { function TestGetKeyFromValue (line 56) | func TestGetKeyFromValue(t *testing.T) { function TestPeekKeyFromValue (line 72) | func TestPeekKeyFromValue(t *testing.T) { FILE: common/cmdarg/cmdarg.go type Arg (line 6) | type Arg method String (line 8) | func (c *Arg) String() string { method Set (line 13) | func (c *Arg) Set(value string) error { FILE: common/common.go function Must (line 20) | func Must(err error) { function Must2 (line 29) | func Must2[T any](v T, err error) T { function Error2 (line 35) | func Error2(v interface{}, err error) error { function envFile (line 41) | func envFile() (string, error) { function GetRuntimeEnv (line 60) | func GetRuntimeEnv(key string) (string, error) { function GetGOBIN (line 86) | func GetGOBIN() string { function GetGOPATH (line 106) | func GetGOPATH() string { function GetModuleName (line 126) | func GetModuleName(pathToProjectRoot string) (string, error) { function CloseIfExists (line 159) | func CloseIfExists(obj any) error { FILE: common/common_test.go function TestMust (line 10) | func TestMust(t *testing.T) { FILE: common/crypto/aes.go function NewAesDecryptionStream (line 12) | func NewAesDecryptionStream(key []byte, iv []byte) cipher.Stream { function NewAesEncryptionStream (line 18) | func NewAesEncryptionStream(key []byte, iv []byte) cipher.Stream { function NewAesStreamMethod (line 22) | func NewAesStreamMethod(key []byte, iv []byte, f func(cipher.Block, []by... function NewAesCTRStream (line 29) | func NewAesCTRStream(key []byte, iv []byte) cipher.Stream { function NewAesGcm (line 34) | func NewAesGcm(key []byte) cipher.AEAD { FILE: common/crypto/auth.go type BytesGenerator (line 15) | type BytesGenerator function GenerateEmptyBytes (line 17) | func GenerateEmptyBytes() BytesGenerator { function GenerateStaticBytes (line 24) | func GenerateStaticBytes(content []byte) BytesGenerator { function GenerateIncreasingNonce (line 30) | func GenerateIncreasingNonce(nonce []byte) BytesGenerator { function GenerateAEADNonceWithSize (line 43) | func GenerateAEADNonceWithSize(nonceSize int) BytesGenerator { type Authenticator (line 51) | type Authenticator interface type AEADAuthenticator (line 58) | type AEADAuthenticator struct method Open (line 64) | func (v *AEADAuthenticator) Open(dst, cipherText []byte) ([]byte, erro... method Seal (line 77) | func (v *AEADAuthenticator) Seal(dst, plainText []byte) ([]byte, error) { type AuthenticationReader (line 90) | type AuthenticationReader struct method readSize (line 119) | func (r *AuthenticationReader) readSize() (uint16, uint16, error) { method readBuffer (line 137) | func (r *AuthenticationReader) readBuffer(size int32, padding int32) (... method readInternal (line 153) | func (r *AuthenticationReader) readInternal(soft bool, mb *buf.MultiBu... method ReadMultiBuffer (line 206) | func (r *AuthenticationReader) ReadMultiBuffer() (buf.MultiBuffer, err... function NewAuthenticationReader (line 103) | func NewAuthenticationReader(auth Authenticator, sizeParser ChunkSizeDec... type AuthenticationWriter (line 228) | type AuthenticationWriter struct method seal (line 249) | func (w *AuthenticationWriter) seal(b []byte) (*buf.Buffer, error) { method writeStream (line 278) | func (w *AuthenticationWriter) writeStream(mb buf.MultiBuffer) error { method writePacket (line 312) | func (w *AuthenticationWriter) writePacket(mb buf.MultiBuffer) error { method WriteMultiBuffer (line 338) | func (w *AuthenticationWriter) WriteMultiBuffer(mb buf.MultiBuffer) er... function NewAuthenticationWriter (line 236) | func NewAuthenticationWriter(auth Authenticator, sizeParser ChunkSizeEnc... FILE: common/crypto/auth_test.go function TestAuthenticationReaderWriter (line 16) | func TestAuthenticationReaderWriter(t *testing.T) { function TestAuthenticationReaderWriterPacket (line 75) | func TestAuthenticationReaderWriterPacket(t *testing.T) { FILE: common/crypto/benchmark_test.go constant benchSize (line 10) | benchSize = 1024 * 1024 function benchmarkStream (line 12) | func benchmarkStream(b *testing.B, c cipher.Stream) { function BenchmarkChaCha20 (line 22) | func BenchmarkChaCha20(b *testing.B) { function BenchmarkChaCha20IETF (line 29) | func BenchmarkChaCha20IETF(b *testing.B) { function BenchmarkAESEncryption (line 36) | func BenchmarkAESEncryption(b *testing.B) { function BenchmarkAESDecryption (line 44) | func BenchmarkAESDecryption(b *testing.B) { FILE: common/crypto/chacha20.go function NewChaCha20Stream (line 11) | func NewChaCha20Stream(key []byte, iv []byte) cipher.Stream { FILE: common/crypto/chacha20_test.go function mustDecodeHex (line 13) | func mustDecodeHex(s string) []byte { function TestChaCha20Stream (line 19) | func TestChaCha20Stream(t *testing.T) { function TestChaCha20Decoding (line 58) | func TestChaCha20Decoding(t *testing.T) { FILE: common/crypto/chunk.go type ChunkSizeDecoder (line 12) | type ChunkSizeDecoder interface type ChunkSizeEncoder (line 18) | type ChunkSizeEncoder interface type PaddingLengthGenerator (line 23) | type PaddingLengthGenerator interface type PlainChunkSizeParser (line 28) | type PlainChunkSizeParser struct method SizeBytes (line 30) | func (PlainChunkSizeParser) SizeBytes() int32 { method Encode (line 34) | func (PlainChunkSizeParser) Encode(size uint16, b []byte) []byte { method Decode (line 39) | func (PlainChunkSizeParser) Decode(b []byte) (uint16, error) { type AEADChunkSizeParser (line 43) | type AEADChunkSizeParser struct method SizeBytes (line 47) | func (p *AEADChunkSizeParser) SizeBytes() int32 { method Encode (line 51) | func (p *AEADChunkSizeParser) Encode(size uint16, b []byte) []byte { method Decode (line 58) | func (p *AEADChunkSizeParser) Decode(b []byte) (uint16, error) { type ChunkStreamReader (line 66) | type ChunkStreamReader struct method readSize (line 95) | func (r *ChunkStreamReader) readSize() (uint16, error) { method ReadMultiBuffer (line 102) | func (r *ChunkStreamReader) ReadMultiBuffer() (buf.MultiBuffer, error) { function NewChunkStreamReader (line 76) | func NewChunkStreamReader(sizeDecoder ChunkSizeDecoder, reader io.Reader... function NewChunkStreamReaderWithChunkCount (line 80) | func NewChunkStreamReaderWithChunkCount(sizeDecoder ChunkSizeDecoder, re... type ChunkStreamWriter (line 128) | type ChunkStreamWriter struct method WriteMultiBuffer (line 140) | func (w *ChunkStreamWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { function NewChunkStreamWriter (line 133) | func NewChunkStreamWriter(sizeEncoder ChunkSizeEncoder, writer io.Writer... FILE: common/crypto/chunk_test.go function TestChunkStreamIO (line 13) | func TestChunkStreamIO(t *testing.T) { FILE: common/crypto/crypto.go function RandBetween (line 9) | func RandBetween(from int64, to int64) int64 { FILE: common/crypto/internal/chacha.go constant wordSize (line 10) | wordSize = 4 constant stateSize (line 11) | stateSize = 16 constant blockSize (line 12) | blockSize = stateSize * wordSize type ChaCha20Stream (line 15) | type ChaCha20Stream struct method XORKeyStream (line 51) | func (s *ChaCha20Stream) XORKeyStream(dst, src []byte) { function NewChaCha20Stream (line 22) | func NewChaCha20Stream(key []byte, nonce []byte, rounds int) *ChaCha20St... FILE: common/crypto/internal/chacha_core.generated.go function ChaCha20Block (line 5) | func ChaCha20Block(s *[16]uint32, out []byte, rounds int) { FILE: common/crypto/internal/chacha_core_gen.go function writeQuarterRound (line 12) | func writeQuarterRound(file *os.File, a, b, c, d int) { function writeChacha20Block (line 34) | func writeChacha20Block(file *os.File) { function main (line 58) | func main() { FILE: common/crypto/io.go type CryptionReader (line 10) | type CryptionReader struct method Read (line 22) | func (r *CryptionReader) Read(data []byte) (int, error) { function NewCryptionReader (line 15) | func NewCryptionReader(stream cipher.Stream, reader io.Reader) *Cryption... type CryptionWriter (line 32) | type CryptionWriter struct method Write (line 48) | func (w *CryptionWriter) Write(data []byte) (int, error) { method WriteMultiBuffer (line 58) | func (w *CryptionWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { function NewCryptionWriter (line 39) | func NewCryptionWriter(stream cipher.Stream, writer io.Writer) *Cryption... FILE: common/ctx/context.go type SessionKey (line 5) | type SessionKey type ID (line 8) | type ID constant idSessionKey (line 11) | idSessionKey SessionKey = 0 function ContextWithID (line 15) | func ContextWithID(ctx context.Context, id ID) context.Context { function IDFromContext (line 20) | func IDFromContext(ctx context.Context) ID { FILE: common/dice/dice.go function Roll (line 10) | func Roll(n int) int { function RollInt63n (line 18) | func RollInt63n(n int64) int64 { function RollDeterministic (line 26) | func RollDeterministic(n int, seed int64) int { function RollUint16 (line 34) | func RollUint16() uint16 { function RollUint64 (line 38) | func RollUint64() uint64 { function NewDeterministicDice (line 42) | func NewDeterministicDice(seed int64) *DeterministicDice { type DeterministicDice (line 46) | type DeterministicDice struct method Roll (line 50) | func (dd *DeterministicDice) Roll(n int) int { FILE: common/dice/dice_test.go function BenchmarkRoll1 (line 10) | func BenchmarkRoll1(b *testing.B) { function BenchmarkRoll20 (line 16) | func BenchmarkRoll20(b *testing.B) { function BenchmarkIntn1 (line 22) | func BenchmarkIntn1(b *testing.B) { function BenchmarkIntn20 (line 28) | func BenchmarkIntn20(b *testing.B) { function BenchmarkInt63 (line 34) | func BenchmarkInt63(b *testing.B) { function BenchmarkInt31 (line 40) | func BenchmarkInt31(b *testing.B) { function BenchmarkIntn (line 46) | func BenchmarkIntn(b *testing.B) { FILE: common/drain/drain.go type Drainer (line 5) | type Drainer interface FILE: common/drain/drainer.go type BehaviorSeedLimitedDrainer (line 10) | type BehaviorSeedLimitedDrainer struct method AcknowledgeReceive (line 23) | func (d *BehaviorSeedLimitedDrainer) AcknowledgeReceive(size int) { method Drain (line 27) | func (d *BehaviorSeedLimitedDrainer) Drain(reader io.Reader) error { function NewBehaviorSeedLimitedDrainer (line 14) | func NewBehaviorSeedLimitedDrainer(behaviorSeed int64, drainFoundation, ... function drainReadN (line 38) | func drainReadN(reader io.Reader, n int) error { function WithError (line 43) | func WithError(drainer Drainer, reader io.Reader, err error) error { type NopDrainer (line 51) | type NopDrainer struct method AcknowledgeReceive (line 53) | func (n NopDrainer) AcknowledgeReceive(size int) { method Drain (line 56) | func (n NopDrainer) Drain(reader io.Reader) error { function NewNopDrainer (line 60) | func NewNopDrainer() Drainer { FILE: common/errors/errors.go constant trim (line 14) | trim = len("github.com/xtls/xray-core/") type hasInnerError (line 16) | type hasInnerError interface type hasSeverity (line 21) | type hasSeverity interface type Error (line 26) | type Error struct method Error (line 35) | func (err *Error) Error() string { method Unwrap (line 60) | func (err *Error) Unwrap() error { method Base (line 67) | func (err *Error) Base(e error) *Error { method atSeverity (line 72) | func (err *Error) atSeverity(s log.Severity) *Error { method Severity (line 77) | func (err *Error) Severity() log.Severity { method AtDebug (line 93) | func (err *Error) AtDebug() *Error { method AtInfo (line 98) | func (err *Error) AtInfo() *Error { method AtWarning (line 103) | func (err *Error) AtWarning() *Error { method AtError (line 108) | func (err *Error) AtError() *Error { method String (line 113) | func (err *Error) String() string { type ExportOptionHolder (line 117) | type ExportOptionHolder struct type ExportOption (line 121) | type ExportOption function New (line 124) | func New(msg ...interface{}) *Error { function LogDebug (line 141) | func LogDebug(ctx context.Context, msg ...interface{}) { function LogDebugInner (line 145) | func LogDebugInner(ctx context.Context, inner error, msg ...interface{}) { function LogInfo (line 149) | func LogInfo(ctx context.Context, msg ...interface{}) { function LogInfoInner (line 153) | func LogInfoInner(ctx context.Context, inner error, msg ...interface{}) { function LogWarning (line 157) | func LogWarning(ctx context.Context, msg ...interface{}) { function LogWarningInner (line 161) | func LogWarningInner(ctx context.Context, inner error, msg ...interface{... function LogError (line 165) | func LogError(ctx context.Context, msg ...interface{}) { function LogErrorInner (line 169) | func LogErrorInner(ctx context.Context, inner error, msg ...interface{}) { function doLog (line 173) | func doLog(ctx context.Context, inner error, severity log.Severity, msg ... function Cause (line 202) | func Cause(err error) error { function GetSeverity (line 222) | func GetSeverity(err error) log.Severity { FILE: common/errors/errors_test.go function TestError (line 13) | func TestError(t *testing.T) { function TestErrorMessage (line 39) | func TestErrorMessage(t *testing.T) { FILE: common/errors/feature_errors.go function PrintNonRemovalDeprecatedFeatureWarning (line 9) | func PrintNonRemovalDeprecatedFeatureWarning(sourceFeature string, targe... function PrintDeprecatedFeatureWarning (line 15) | func PrintDeprecatedFeatureWarning(feature string, migrateFeature string) { function PrintRemovedFeatureError (line 25) | func PrintRemovedFeatureError(feature string, migrateFeature string) err... FILE: common/errors/multi_error.go type multiError (line 8) | type multiError method Error (line 10) | func (e multiError) Error() string { function Combine (line 20) | func Combine(maybeError ...error) error { function AllEqual (line 33) | func AllEqual(expected error, actual error) bool { FILE: common/interfaces.go type Closable (line 8) | type Closable interface type Interruptible (line 16) | type Interruptible interface function Close (line 23) | func Close(obj interface{}) error { function Interrupt (line 33) | func Interrupt(obj interface{}) error { type Runnable (line 42) | type Runnable interface type HasType (line 50) | type HasType interface type ChainedClosable (line 57) | type ChainedClosable method Close (line 60) | func (cc ChainedClosable) Close() error { FILE: common/log/access.go type logKey (line 10) | type logKey constant accessMessageKey (line 13) | accessMessageKey logKey = iota type AccessStatus (line 16) | type AccessStatus constant AccessAccepted (line 19) | AccessAccepted = AccessStatus("accepted") constant AccessRejected (line 20) | AccessRejected = AccessStatus("rejected") type AccessMessage (line 23) | type AccessMessage struct method String (line 32) | func (m *AccessMessage) String() string { function ContextWithAccessMessage (line 61) | func ContextWithAccessMessage(ctx context.Context, accessMessage *Access... function AccessMessageFromContext (line 65) | func AccessMessageFromContext(ctx context.Context) *AccessMessage { FILE: common/log/dns.go type DNSLog (line 9) | type DNSLog struct method String (line 18) | func (l *DNSLog) String() string { type dnsStatus (line 43) | type dnsStatus function joinNetIP (line 51) | func joinNetIP(ips []net.IP) string { FILE: common/log/log.go type Message (line 10) | type Message interface type Handler (line 15) | type Handler interface type GeneralMessage (line 20) | type GeneralMessage struct method String (line 26) | func (m *GeneralMessage) String() string { function Record (line 31) | func Record(msg Message) { function RegisterHandler (line 38) | func RegisterHandler(handler Handler) { type syncHandler (line 45) | type syncHandler struct method Handle (line 50) | func (h *syncHandler) Handle(msg Message) { method Set (line 59) | func (h *syncHandler) Set(handler Handler) { FILE: common/log/log.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Severity (line 24) | type Severity method Enum (line 52) | func (x Severity) Enum() *Severity { method String (line 58) | func (x Severity) String() string { method Descriptor (line 62) | func (Severity) Descriptor() protoreflect.EnumDescriptor { method Type (line 66) | func (Severity) Type() protoreflect.EnumType { method Number (line 70) | func (x Severity) Number() protoreflect.EnumNumber { method EnumDescriptor (line 75) | func (Severity) EnumDescriptor() ([]byte, []int) { constant Severity_Unknown (line 27) | Severity_Unknown Severity = 0 constant Severity_Error (line 28) | Severity_Error Severity = 1 constant Severity_Warning (line 29) | Severity_Warning Severity = 2 constant Severity_Info (line 30) | Severity_Info Severity = 3 constant Severity_Debug (line 31) | Severity_Debug Severity = 4 constant file_common_log_log_proto_rawDesc (line 81) | file_common_log_log_proto_rawDesc = "" + function file_common_log_log_proto_rawDescGZIP (line 97) | func file_common_log_log_proto_rawDescGZIP() []byte { function init (line 116) | func init() { file_common_log_log_proto_init() } function file_common_log_log_proto_init (line 117) | func file_common_log_log_proto_init() { FILE: common/log/log_test.go type testLogger (line 11) | type testLogger struct method Handle (line 15) | func (l *testLogger) Handle(msg log.Message) { function TestLogRecord (line 19) | func TestLogRecord(t *testing.T) { FILE: common/log/logger.go type Writer (line 15) | type Writer interface type WriterCreator (line 21) | type WriterCreator type generalLogger (line 23) | type generalLogger struct method run (line 71) | func (l *generalLogger) run() { method Handle (line 100) | func (l *generalLogger) Handle(msg Message) { method Close (line 114) | func (l *generalLogger) Close() error { type serverityLogger (line 30) | type serverityLogger struct method Handle (line 60) | func (l *serverityLogger) Handle(msg Message) { function NewLogger (line 36) | func NewLogger(logWriterCreator WriterCreator) Handler { function ReplaceWithSeverityLogger (line 45) | func ReplaceWithSeverityLogger(serverity Severity) { type consoleLogWriter (line 118) | type consoleLogWriter struct method Write (line 122) | func (w *consoleLogWriter) Write(s string) error { method Close (line 127) | func (w *consoleLogWriter) Close() error { type fileLogWriter (line 131) | type fileLogWriter struct method Write (line 136) | func (w *fileLogWriter) Write(s string) error { method Close (line 141) | func (w *fileLogWriter) Close() error { function CreateStdoutLogWriter (line 146) | func CreateStdoutLogWriter() WriterCreator { function CreateStderrLogWriter (line 155) | func CreateStderrLogWriter() WriterCreator { function CreateFileLogWriter (line 164) | func CreateFileLogWriter(path string) (WriterCreator, error) { function init (line 182) | func init() { FILE: common/log/logger_test.go function TestFileLogger (line 14) | func TestFileLogger(t *testing.T) { FILE: common/mux/client.go type ClientManager (line 25) | type ClientManager struct method Dispatch (line 30) | func (m *ClientManager) Dispatch(ctx context.Context, link *transport.... type WorkerPicker (line 44) | type WorkerPicker interface type IncrementalWorkerPicker (line 48) | type IncrementalWorkerPicker struct method cleanupFunc (line 56) | func (p *IncrementalWorkerPicker) cleanupFunc() error { method cleanup (line 68) | func (p *IncrementalWorkerPicker) cleanup() { method findAvailable (line 78) | func (p *IncrementalWorkerPicker) findAvailable() int { method pickInternal (line 88) | func (p *IncrementalWorkerPicker) pickInternal() (*ClientWorker, bool,... method PickAvailable (line 119) | func (p *IncrementalWorkerPicker) PickAvailable() (*ClientWorker, erro... type ClientWorkerFactory (line 128) | type ClientWorkerFactory interface type DialingWorkerFactory (line 132) | type DialingWorkerFactory struct method Create (line 138) | func (f *DialingWorkerFactory) Create() (*ClientWorker, error) { type ClientStrategy (line 171) | type ClientStrategy struct type ClientWorker (line 176) | type ClientWorker struct method TotalConnections (line 205) | func (m *ClientWorker) TotalConnections() uint32 { method ActiveConnections (line 209) | func (m *ClientWorker) ActiveConnections() uint32 { method Closed (line 214) | func (m *ClientWorker) Closed() bool { method WaitClosed (line 218) | func (m *ClientWorker) WaitClosed() <-chan struct{} { method Close (line 222) | func (m *ClientWorker) Close() error { method monitor (line 226) | func (m *ClientWorker) monitor() { method IsClosing (line 289) | func (m *ClientWorker) IsClosing() bool { method IsFull (line 299) | func (m *ClientWorker) IsFull() bool { method Dispatch (line 311) | func (m *ClientWorker) Dispatch(ctx context.Context, link *transport.L... method handleStatueKeepAlive (line 333) | func (m *ClientWorker) handleStatueKeepAlive(meta *FrameMetadata, read... method handleStatusNew (line 340) | func (m *ClientWorker) handleStatusNew(meta *FrameMetadata, reader *bu... method handleStatusKeep (line 347) | func (m *ClientWorker) handleStatusKeep(meta *FrameMetadata, reader *b... method handleStatusEnd (line 372) | func (m *ClientWorker) handleStatusEnd(meta *FrameMetadata, reader *bu... method fetchOutput (line 382) | func (m *ClientWorker) fetchOutput() { function NewClientWorker (line 190) | func NewClientWorker(stream transport.Link, s ClientStrategy) (*ClientWo... function writeFirstPayload (line 246) | func writeFirstPayload(reader buf.Reader, writer *Writer) error { function fetchInput (line 259) | func fetchInput(ctx context.Context, s *Session, output buf.Writer) { FILE: common/mux/client_test.go function TestIncrementalPickerFailure (line 19) | func TestIncrementalPickerFailure(t *testing.T) { function TestClientWorkerEOF (line 36) | func TestClientWorkerEOF(t *testing.T) { function TestClientWorkerClose (line 51) | func TestClientWorkerClose(t *testing.T) { FILE: common/mux/frame.go type SessionStatus (line 17) | type SessionStatus constant SessionStatusNew (line 20) | SessionStatusNew SessionStatus = 0x01 constant SessionStatusKeep (line 21) | SessionStatusKeep SessionStatus = 0x02 constant SessionStatusEnd (line 22) | SessionStatusEnd SessionStatus = 0x03 constant SessionStatusKeepAlive (line 23) | SessionStatusKeepAlive SessionStatus = 0x04 constant OptionData (line 27) | OptionData bitmask.Byte = 0x01 constant OptionError (line 28) | OptionError bitmask.Byte = 0x02 type TargetNetwork (line 31) | type TargetNetwork constant TargetNetworkTCP (line 34) | TargetNetworkTCP TargetNetwork = 0x01 constant TargetNetworkUDP (line 35) | TargetNetworkUDP TargetNetwork = 0x02 type FrameMetadata (line 58) | type FrameMetadata struct method WriteTo (line 67) | func (f FrameMetadata) WriteTo(b *buf.Buffer) error { method Unmarshal (line 114) | func (f *FrameMetadata) Unmarshal(reader io.Reader, readSourceAndLocal... method UnmarshalFromBuffer (line 134) | func (f *FrameMetadata) UnmarshalFromBuffer(b *buf.Buffer, readSourceA... FILE: common/mux/frame_test.go function BenchmarkFrameWrite (line 12) | func BenchmarkFrameWrite(b *testing.B) { FILE: common/mux/mux_test.go function readAll (line 17) | func readAll(reader buf.Reader) (buf.MultiBuffer, error) { function TestReaderWriter (line 32) | func TestReaderWriter(t *testing.T) { FILE: common/mux/reader.go type PacketReader (line 14) | type PacketReader struct method ReadMultiBuffer (line 30) | func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) { function NewPacketReader (line 21) | func NewPacketReader(reader io.Reader, dest *net.Destination) *PacketRea... function NewStreamReader (line 57) | func NewStreamReader(reader *buf.BufferedReader) buf.Reader { FILE: common/mux/server.go type Server (line 22) | type Server struct method Type (line 36) | func (s *Server) Type() interface{} { method Dispatch (line 41) | func (s *Server) Dispatch(ctx context.Context, dest net.Destination) (... method DispatchLink (line 62) | func (s *Server) DispatchLink(ctx context.Context, dest net.Destinatio... method Start (line 78) | func (s *Server) Start() error { method Close (line 83) | func (s *Server) Close() error { function NewServer (line 27) | func NewServer(ctx context.Context) *Server { type ServerWorker (line 87) | type ServerWorker struct method monitor (line 122) | func (w *ServerWorker) monitor() { method ActiveConnections (line 142) | func (w *ServerWorker) ActiveConnections() uint32 { method Closed (line 146) | func (w *ServerWorker) Closed() bool { method WaitClosed (line 150) | func (w *ServerWorker) WaitClosed() <-chan struct{} { method Close (line 154) | func (w *ServerWorker) Close() error { method handleStatusKeepAlive (line 158) | func (w *ServerWorker) handleStatusKeepAlive(meta *FrameMetadata, read... method handleStatusNew (line 165) | func (w *ServerWorker) handleStatusNew(ctx context.Context, meta *Fram... method handleStatusKeep (line 300) | func (w *ServerWorker) handleStatusKeep(meta *FrameMetadata, reader *b... method handleStatusEnd (line 326) | func (w *ServerWorker) handleStatusEnd(meta *FrameMetadata, reader *bu... method handleFrame (line 336) | func (w *ServerWorker) handleFrame(ctx context.Context, reader *buf.Bu... method run (line 363) | func (w *ServerWorker) run(ctx context.Context) { function NewServerWorker (line 95) | func NewServerWorker(ctx context.Context, d routing.Dispatcher, link *tr... function handle (line 111) | func handle(ctx context.Context, s *Session, output buf.Writer) { FILE: common/mux/server_test.go function newLinkPair (line 17) | func newLinkPair() (*transport.Link, *transport.Link) { type TestDispatcher (line 35) | type TestDispatcher struct method Dispatch (line 39) | func (d *TestDispatcher) Dispatch(ctx context.Context, dest net.Destin... method DispatchLink (line 43) | func (d *TestDispatcher) DispatchLink(ctx context.Context, destination... method Start (line 47) | func (d *TestDispatcher) Start() error { method Close (line 51) | func (d *TestDispatcher) Close() error { method Type (line 55) | func (*TestDispatcher) Type() interface{} { function TestRegressionOutboundLeak (line 59) | func TestRegressionOutboundLeak(t *testing.T) { FILE: common/mux/session.go type SessionManager (line 19) | type SessionManager struct method Closed (line 33) | func (m *SessionManager) Closed() bool { method Size (line 40) | func (m *SessionManager) Size() int { method Count (line 47) | func (m *SessionManager) Count() int { method Allocate (line 54) | func (m *SessionManager) Allocate(Strategy *ClientStrategy) *Session { method Add (line 75) | func (m *SessionManager) Add(s *Session) bool { method Remove (line 88) | func (m *SessionManager) Remove(locked bool, id uint16) { method Get (line 108) | func (m *SessionManager) Get(id uint16) (*Session, bool) { method CloseIfNoSessionAndIdle (line 120) | func (m *SessionManager) CloseIfNoSessionAndIdle(checkSize int, checkC... method Close (line 138) | func (m *SessionManager) Close() error { function NewSessionManager (line 26) | func NewSessionManager() *SessionManager { type Session (line 157) | type Session struct method Close (line 169) | func (s *Session) Close(locked bool) error { method NewReader (line 205) | func (s *Session) NewReader(reader *buf.BufferedReader, dest *net.Dest... constant Initializing (line 213) | Initializing = 0 constant Active (line 214) | Active = 1 constant Expiring (line 215) | Expiring = 2 type XUDP (line 218) | type XUDP struct method Interrupt (line 225) | func (x *XUDP) Interrupt() { function init (line 235) | func init() { FILE: common/mux/session_test.go function TestSessionManagerAdd (line 9) | func TestSessionManagerAdd(t *testing.T) { function TestSessionManagerClose (line 40) | func TestSessionManagerClose(t *testing.T) { FILE: common/mux/writer.go type Writer (line 12) | type Writer struct method getNextFrameMeta (line 44) | func (w *Writer) getNextFrameMeta() FrameMetadata { method writeMetaOnly (line 62) | func (w *Writer) writeMetaOnly() error { method writeData (line 89) | func (w *Writer) writeData(mb buf.MultiBuffer) error { method WriteMultiBuffer (line 97) | func (w *Writer) WriteMultiBuffer(mb buf.MultiBuffer) error { method Close (line 122) | func (w *Writer) Close() error { function NewWriter (line 23) | func NewWriter(id uint16, dest net.Destination, writer buf.Writer, trans... function NewResponseWriter (line 35) | func NewResponseWriter(id uint16, writer buf.Writer, transferType protoc... function writeMetaWithFrame (line 71) | func writeMetaWithFrame(writer buf.Writer, meta FrameMetadata, data buf.... FILE: common/net/address.go type AddressFamily (line 30) | type AddressFamily method IsIPv4 (line 44) | func (af AddressFamily) IsIPv4() bool { method IsIPv6 (line 49) | func (af AddressFamily) IsIPv6() bool { method IsIP (line 54) | func (af AddressFamily) IsIP() bool { method IsDomain (line 59) | func (af AddressFamily) IsDomain() bool { constant AddressFamilyIPv4 (line 34) | AddressFamilyIPv4 = AddressFamily(0) constant AddressFamilyIPv6 (line 37) | AddressFamilyIPv6 = AddressFamily(1) constant AddressFamilyDomain (line 40) | AddressFamilyDomain = AddressFamily(2) type Address (line 65) | type Address interface function isAlphaNum (line 73) | func isAlphaNum(c byte) bool { function ParseAddress (line 79) | func ParseAddress(addr string) Address { function IPAddress (line 101) | func IPAddress(ip []byte) Address { function DomainAddress (line 129) | func DomainAddress(domain string) Address { type ipv4Address (line 133) | type ipv4Address method IP (line 135) | func (a ipv4Address) IP() net.IP { method Domain (line 139) | func (ipv4Address) Domain() string { method Family (line 143) | func (ipv4Address) Family() AddressFamily { method String (line 147) | func (a ipv4Address) String() string { type ipv6Address (line 151) | type ipv6Address method IP (line 153) | func (a ipv6Address) IP() net.IP { method Domain (line 157) | func (ipv6Address) Domain() string { method Family (line 161) | func (ipv6Address) Family() AddressFamily { method String (line 165) | func (a ipv6Address) String() string { type domainAddress (line 169) | type domainAddress method IP (line 171) | func (domainAddress) IP() net.IP { method Domain (line 175) | func (a domainAddress) Domain() string { method Family (line 179) | func (domainAddress) Family() AddressFamily { method String (line 183) | func (a domainAddress) String() string { method AsAddress (line 188) | func (d *IPOrDomain) AsAddress() Address { function NewIPOrDomain (line 202) | func NewIPOrDomain(addr Address) *IPOrDomain { FILE: common/net/address.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type IPOrDomain (line 26) | type IPOrDomain struct method Reset (line 37) | func (x *IPOrDomain) Reset() { method String (line 44) | func (x *IPOrDomain) String() string { method ProtoMessage (line 48) | func (*IPOrDomain) ProtoMessage() {} method ProtoReflect (line 50) | func (x *IPOrDomain) ProtoReflect() protoreflect.Message { method Descriptor (line 63) | func (*IPOrDomain) Descriptor() ([]byte, []int) { method GetAddress (line 67) | func (x *IPOrDomain) GetAddress() isIPOrDomain_Address { method GetIp (line 74) | func (x *IPOrDomain) GetIp() []byte { method GetDomain (line 83) | func (x *IPOrDomain) GetDomain() string { type isIPOrDomain_Address (line 92) | type isIPOrDomain_Address interface type IPOrDomain_Ip (line 96) | type IPOrDomain_Ip struct method isIPOrDomain_Address (line 106) | func (*IPOrDomain_Ip) isIPOrDomain_Address() {} type IPOrDomain_Domain (line 101) | type IPOrDomain_Domain struct method isIPOrDomain_Address (line 108) | func (*IPOrDomain_Domain) isIPOrDomain_Address() {} constant file_common_net_address_proto_rawDesc (line 112) | file_common_net_address_proto_rawDesc = "" + function file_common_net_address_proto_rawDescGZIP (line 127) | func file_common_net_address_proto_rawDescGZIP() []byte { function init (line 146) | func init() { file_common_net_address_proto_init() } function file_common_net_address_proto_init (line 147) | func file_common_net_address_proto_init() { FILE: common/net/address_test.go function TestAddressProperty (line 11) | func TestAddressProperty(t *testing.T) { function TestInvalidAddressConvertion (line 145) | func TestInvalidAddressConvertion(t *testing.T) { function BenchmarkParseAddressIPv4 (line 168) | func BenchmarkParseAddressIPv4(b *testing.B) { function BenchmarkParseAddressIPv6 (line 177) | func BenchmarkParseAddressIPv6(b *testing.B) { function BenchmarkParseAddressDomain (line 186) | func BenchmarkParseAddressDomain(b *testing.B) { FILE: common/net/cnc/connection.go type ConnectionOption (line 13) | type ConnectionOption function ConnectionLocalAddr (line 15) | func ConnectionLocalAddr(a net.Addr) ConnectionOption { function ConnectionRemoteAddr (line 21) | func ConnectionRemoteAddr(a net.Addr) ConnectionOption { function ConnectionInput (line 27) | func ConnectionInput(writer io.Writer) ConnectionOption { function ConnectionInputMulti (line 33) | func ConnectionInputMulti(writer buf.Writer) ConnectionOption { function ConnectionOutput (line 39) | func ConnectionOutput(reader io.Reader) ConnectionOption { function ConnectionOutputMulti (line 45) | func ConnectionOutputMulti(reader buf.Reader) ConnectionOption { function ConnectionOutputMultiUDP (line 51) | func ConnectionOutputMultiUDP(reader buf.Reader) ConnectionOption { function ConnectionOnClose (line 60) | func ConnectionOnClose(n io.Closer) ConnectionOption { function NewConnection (line 66) | func NewConnection(opts ...ConnectionOption) net.Conn { type Connection (line 86) | type Connection struct method Read (line 95) | func (c *Connection) Read(b []byte) (int, error) { method ReadMultiBuffer (line 100) | func (c *Connection) ReadMultiBuffer() (buf.MultiBuffer, error) { method Write (line 105) | func (c *Connection) Write(b []byte) (int, error) { method WriteMultiBuffer (line 116) | func (c *Connection) WriteMultiBuffer(mb buf.MultiBuffer) error { method Close (line 126) | func (c *Connection) Close() error { method LocalAddr (line 138) | func (c *Connection) LocalAddr() net.Addr { method RemoteAddr (line 143) | func (c *Connection) RemoteAddr() net.Addr { method SetDeadline (line 148) | func (c *Connection) SetDeadline(t time.Time) error { method SetReadDeadline (line 153) | func (c *Connection) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 158) | func (c *Connection) SetWriteDeadline(t time.Time) error { FILE: common/net/destination.go type Destination (line 9) | type Destination struct method NetAddr (line 90) | func (d Destination) NetAddr() string { method RawNetAddr (line 101) | func (d Destination) RawNetAddr() net.Addr { method String (line 130) | func (d Destination) String() string { method IsValid (line 144) | func (d Destination) IsValid() bool { function DestinationFromAddr (line 16) | func DestinationFromAddr(addr net.Addr) Destination { function ParseDestination (line 30) | func ParseDestination(dest string) (Destination, error) { function TCPDestination (line 64) | func TCPDestination(address Address, port Port) Destination { function UDPDestination (line 73) | func UDPDestination(address Address, port Port) Destination { function UnixDestination (line 82) | func UnixDestination(address Address) Destination { method AsDestination (line 149) | func (p *Endpoint) AsDestination() Destination { FILE: common/net/destination.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Endpoint (line 25) | type Endpoint struct method Reset (line 34) | func (x *Endpoint) Reset() { method String (line 41) | func (x *Endpoint) String() string { method ProtoMessage (line 45) | func (*Endpoint) ProtoMessage() {} method ProtoReflect (line 47) | func (x *Endpoint) ProtoReflect() protoreflect.Message { method Descriptor (line 60) | func (*Endpoint) Descriptor() ([]byte, []int) { method GetNetwork (line 64) | func (x *Endpoint) GetNetwork() Network { method GetAddress (line 71) | func (x *Endpoint) GetAddress() *IPOrDomain { method GetPort (line 78) | func (x *Endpoint) GetPort() uint32 { constant file_common_net_destination_proto_rawDesc (line 87) | file_common_net_destination_proto_rawDesc = "" + function file_common_net_destination_proto_rawDescGZIP (line 101) | func file_common_net_destination_proto_rawDescGZIP() []byte { function init (line 124) | func init() { file_common_net_destination_proto_init() } function file_common_net_destination_proto_init (line 125) | func file_common_net_destination_proto_init() { FILE: common/net/destination_test.go function TestDestinationProperty (line 10) | func TestDestinationProperty(t *testing.T) { function TestDestinationParse (line 51) | func TestDestinationParse(t *testing.T) { FILE: common/net/find_process_linux.go function FindProcess (line 16) | func FindProcess(dest Destination) (PID int, Name string, AbsolutePath s... function formatLittleEndianString (line 89) | func formatLittleEndianString(addr Address, port Port) (string, error) { function findInodeInFile (line 109) | func findInodeInFile(filePath, targetHexAddr string) (string, error) { function findPidByInode (line 136) | func findPidByInode(inode string) (string, error) { function getAbsPath (line 173) | func getAbsPath(pid string) (string, error) { FILE: common/net/find_process_others.go function FindProcess (line 9) | func FindProcess(dest Destination) (int, string, string, error) { FILE: common/net/find_process_windows.go constant tcpTableFunc (line 19) | tcpTableFunc = "GetExtendedTcpTable" constant tcpTablePidConn (line 20) | tcpTablePidConn = 4 constant udpTableFunc (line 21) | udpTableFunc = "GetExtendedUdpTable" constant udpTablePid (line 22) | udpTablePid = 1 function initWin32API (line 33) | func initWin32API() error { function FindProcess (line 52) | func FindProcess(dest Destination) (PID int, Name string, AbsolutePath s... type searcher (line 120) | type searcher struct method Search (line 129) | func (s *searcher) Search(b []byte, ip netip.Addr, port uint16) (uint3... function newSearcher (line 166) | func newSearcher(network Network, family AddressFamily) *searcher { function getTransportTable (line 200) | func getTransportTable(fn uintptr, family int, class int) ([]byte, error) { function readNativeUint32 (line 216) | func readNativeUint32(b []byte) uint32 { function getExecPathFromPID (line 220) | func getExecPathFromPID(pid uint32) (string, error) { FILE: common/net/net.go constant ConnIdleTimeout (line 14) | ConnIdleTimeout = 300 * time.Second constant QuicgoH3KeepAlivePeriod (line 17) | QuicgoH3KeepAlivePeriod = 10 * time.Second constant ChromeH2KeepAlivePeriod (line 20) | ChromeH2KeepAlivePeriod = 45 * time.Second type localIPCacheEntry (line 24) | type localIPCacheEntry struct function IsLocal (line 31) | func IsLocal(ip net.IP) (bool, error) { FILE: common/net/network.go method SystemString (line 3) | func (n Network) SystemString() string { function HasNetwork (line 17) | func HasNetwork(list []Network, network Network) bool { FILE: common/net/network.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Network (line 24) | type Network method Enum (line 49) | func (x Network) Enum() *Network { method String (line 55) | func (x Network) String() string { method Descriptor (line 59) | func (Network) Descriptor() protoreflect.EnumDescriptor { method Type (line 63) | func (Network) Type() protoreflect.EnumType { method Number (line 67) | func (x Network) Number() protoreflect.EnumNumber { method EnumDescriptor (line 72) | func (Network) EnumDescriptor() ([]byte, []int) { constant Network_Unknown (line 27) | Network_Unknown Network = 0 constant Network_TCP (line 28) | Network_TCP Network = 2 constant Network_UDP (line 29) | Network_UDP Network = 3 constant Network_UNIX (line 30) | Network_UNIX Network = 4 type NetworkList (line 77) | type NetworkList struct method Reset (line 84) | func (x *NetworkList) Reset() { method String (line 91) | func (x *NetworkList) String() string { method ProtoMessage (line 95) | func (*NetworkList) ProtoMessage() {} method ProtoReflect (line 97) | func (x *NetworkList) ProtoReflect() protoreflect.Message { method Descriptor (line 110) | func (*NetworkList) Descriptor() ([]byte, []int) { method GetNetwork (line 114) | func (x *NetworkList) GetNetwork() []Network { constant file_common_net_network_proto_rawDesc (line 123) | file_common_net_network_proto_rawDesc = "" + function file_common_net_network_proto_rawDescGZIP (line 140) | func file_common_net_network_proto_rawDescGZIP() []byte { function init (line 162) | func init() { file_common_net_network_proto_init() } function file_common_net_network_proto_init (line 163) | func file_common_net_network_proto_init() { FILE: common/net/port.go type Port (line 11) | type Port method Value (line 39) | func (p Port) Value() uint16 { method String (line 44) | func (p Port) String() string { function PortFromBytes (line 15) | func PortFromBytes(port []byte) Port { function PortFromInt (line 21) | func PortFromInt(val uint32) (Port, error) { function PortFromString (line 30) | func PortFromString(s string) (Port, error) { method FromPort (line 49) | func (p *PortRange) FromPort() Port { method ToPort (line 54) | func (p *PortRange) ToPort() Port { method Contains (line 59) | func (p *PortRange) Contains(port Port) bool { function SinglePortRange (line 64) | func SinglePortRange(p Port) *PortRange { type MemoryPortRange (line 71) | type MemoryPortRange struct method Contains (line 76) | func (r MemoryPortRange) Contains(port Port) bool { type MemoryPortList (line 80) | type MemoryPortList method Contains (line 100) | func (mpl MemoryPortList) Contains(port Port) bool { function PortListFromProto (line 82) | func PortListFromProto(l *PortList) MemoryPortList { method Ports (line 90) | func (l *PortList) Ports() []uint32 { FILE: common/net/port.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type PortRange (line 25) | type PortRange struct method Reset (line 35) | func (x *PortRange) Reset() { method String (line 42) | func (x *PortRange) String() string { method ProtoMessage (line 46) | func (*PortRange) ProtoMessage() {} method ProtoReflect (line 48) | func (x *PortRange) ProtoReflect() protoreflect.Message { method Descriptor (line 61) | func (*PortRange) Descriptor() ([]byte, []int) { method GetFrom (line 65) | func (x *PortRange) GetFrom() uint32 { method GetTo (line 72) | func (x *PortRange) GetTo() uint32 { type PortList (line 80) | type PortList struct method Reset (line 87) | func (x *PortList) Reset() { method String (line 94) | func (x *PortList) String() string { method ProtoMessage (line 98) | func (*PortList) ProtoMessage() {} method ProtoReflect (line 100) | func (x *PortList) ProtoReflect() protoreflect.Message { method Descriptor (line 113) | func (*PortList) Descriptor() ([]byte, []int) { method GetRange (line 117) | func (x *PortList) GetRange() []*PortRange { constant file_common_net_port_proto_rawDesc (line 126) | file_common_net_port_proto_rawDesc = "" + function file_common_net_port_proto_rawDescGZIP (line 141) | func file_common_net_port_proto_rawDescGZIP() []byte { function init (line 162) | func init() { file_common_net_port_proto_init() } function file_common_net_port_proto_init (line 163) | func file_common_net_port_proto_init() { FILE: common/net/port_test.go function TestPortRangeContains (line 9) | func TestPortRangeContains(t *testing.T) { FILE: common/net/system.go constant IPv4len (line 72) | IPv4len = net.IPv4len constant IPv6len (line 73) | IPv6len = net.IPv6len FILE: common/ocsp/ocsp.go function GetOCSPForFile (line 16) | func GetOCSPForFile(path string) ([]byte, error) { function CheckOCSPFileIsNotExist (line 20) | func CheckOCSPFileIsNotExist(path string) bool { function GetOCSPStapling (line 28) | func GetOCSPStapling(cert [][]byte, path string) ([]byte, error) { function GetOCSPForCert (line 51) | func GetOCSPForCert(cert [][]byte) ([]byte, error) { function parsePEMBundle (line 112) | func parsePEMBundle(bundle []byte) ([]*x509.Certificate, error) { FILE: common/peer/latency.go type Latency (line 7) | type Latency interface type HasLatency (line 11) | type HasLatency interface type AverageLatency (line 16) | type AverageLatency struct method Update (line 21) | func (al *AverageLatency) Update(newValue uint64) { method Value (line 28) | func (al *AverageLatency) Value() uint64 { FILE: common/platform/filesystem/file.go type FileReaderFunc (line 12) | type FileReaderFunc function ReadFile (line 18) | func ReadFile(path string) ([]byte, error) { function ReadAsset (line 28) | func ReadAsset(file string) ([]byte, error) { function OpenAsset (line 32) | func OpenAsset(file string) (io.ReadCloser, error) { function ReadCert (line 36) | func ReadCert(file string) ([]byte, error) { function CopyFile (line 43) | func CopyFile(dst string, src string) error { FILE: common/platform/others.go function LineSeparator (line 11) | func LineSeparator() string { function GetAssetLocation (line 16) | func GetAssetLocation(file string) string { function GetCertLocation (line 38) | func GetCertLocation(file string) string { FILE: common/platform/platform.go constant ConfigLocation (line 11) | ConfigLocation = "xray.location.config" constant ConfdirLocation (line 12) | ConfdirLocation = "xray.location.confdir" constant AssetLocation (line 13) | AssetLocation = "xray.location.asset" constant CertLocation (line 14) | CertLocation = "xray.location.cert" constant UseReadV (line 16) | UseReadV = "xray.buf.readv" constant UseFreedomSplice (line 17) | UseFreedomSplice = "xray.buf.splice" constant UseVmessPadding (line 18) | UseVmessPadding = "xray.vmess.padding" constant UseCone (line 19) | UseCone = "xray.cone.disabled" constant BufferSize (line 21) | BufferSize = "xray.ray.buffer.size" constant BrowserDialerAddress (line 22) | BrowserDialerAddress = "xray.browser.dialer" constant XUDPLog (line 23) | XUDPLog = "xray.xudp.show" constant XUDPBaseKey (line 24) | XUDPBaseKey = "xray.xudp.basekey" constant TunFdKey (line 26) | TunFdKey = "xray.tun.fd" constant MphCachePath (line 28) | MphCachePath = "xray.mph.cache" type EnvFlag (line 31) | type EnvFlag struct method GetValue (line 43) | func (f EnvFlag) GetValue(defaultValue func() string) string { method GetValueAsInt (line 56) | func (f EnvFlag) GetValueAsInt(defaultValue int) int { function NewEnvFlag (line 36) | func NewEnvFlag(name string) EnvFlag { function NormalizeEnvName (line 72) | func NormalizeEnvName(name string) string { function getExecutableDir (line 76) | func getExecutableDir() string { function GetConfigurationPath (line 84) | func GetConfigurationPath() string { function GetConfDirPath (line 90) | func GetConfDirPath() string { FILE: common/platform/platform_test.go function TestNormalizeEnvName (line 13) | func TestNormalizeEnvName(t *testing.T) { function TestEnvFlag (line 38) | func TestEnvFlag(t *testing.T) { function TestGetAssetLocation (line 46) | func TestGetAssetLocation(t *testing.T) { FILE: common/platform/windows.go function LineSeparator (line 8) | func LineSeparator() string { function GetAssetLocation (line 13) | func GetAssetLocation(file string) string { function GetCertLocation (line 19) | func GetCertLocation(file string) string { FILE: common/protocol/account.go type Account (line 6) | type Account interface type AsAccount (line 12) | type AsAccount interface FILE: common/protocol/address.go type AddressOption (line 13) | type AddressOption function PortThenAddress (line 15) | func PortThenAddress() AddressOption { function AddressFamilyByte (line 21) | func AddressFamilyByte(b byte, f net.AddressFamily) AddressOption { type AddressTypeParser (line 31) | type AddressTypeParser function WithAddressTypeParser (line 33) | func WithAddressTypeParser(atp AddressTypeParser) AddressOption { type AddressSerializer (line 39) | type AddressSerializer interface constant afInvalid (line 45) | afInvalid = 255 type option (line 47) | type option struct function NewAddressParser (line 55) | func NewAddressParser(options ...AddressOption) AddressSerializer { type portFirstAddressParser (line 83) | type portFirstAddressParser struct method ReadAddressPort (line 87) | func (p portFirstAddressParser) ReadAddressPort(buffer *buf.Buffer, in... method WriteAddressPort (line 105) | func (p portFirstAddressParser) WriteAddressPort(writer io.Writer, add... type portLastAddressParser (line 113) | type portLastAddressParser struct method ReadAddressPort (line 117) | func (p portLastAddressParser) ReadAddressPort(buffer *buf.Buffer, inp... method WriteAddressPort (line 136) | func (p portLastAddressParser) WriteAddressPort(writer io.Writer, addr... function readPort (line 144) | func readPort(b *buf.Buffer, reader io.Reader) (net.Port, error) { function writePort (line 151) | func writePort(writer io.Writer, port net.Port) error { function maybeIPPrefix (line 155) | func maybeIPPrefix(b byte) bool { function isValidDomain (line 159) | func isValidDomain(d string) bool { type addressParser (line 168) | type addressParser struct method readAddress (line 174) | func (p *addressParser) readAddress(b *buf.Buffer, reader io.Reader) (... method writeAddress (line 228) | func (p *addressParser) writeAddress(writer io.Writer, address net.Add... FILE: common/protocol/address_test.go function TestAddressReading (line 14) | func TestAddressReading(t *testing.T) { function TestAddressWriting (line 111) | func TestAddressWriting(t *testing.T) { function BenchmarkAddressReadingIPv4 (line 145) | func BenchmarkAddressReadingIPv4(b *testing.B) { function BenchmarkAddressReadingIPv6 (line 166) | func BenchmarkAddressReadingIPv6(b *testing.B) { function BenchmarkAddressReadingDomain (line 187) | func BenchmarkAddressReadingDomain(b *testing.B) { function BenchmarkAddressWritingIPv4 (line 208) | func BenchmarkAddressWritingIPv4(b *testing.B) { function BenchmarkAddressWritingIPv6 (line 220) | func BenchmarkAddressWritingIPv6(b *testing.B) { function BenchmarkAddressWritingDomain (line 232) | func BenchmarkAddressWritingDomain(b *testing.B) { FILE: common/protocol/bittorrent/bittorrent.go type SniffHeader (line 13) | type SniffHeader struct method Protocol (line 15) | func (h *SniffHeader) Protocol() string { method Domain (line 19) | func (h *SniffHeader) Domain() string { function SniffBittorrent (line 25) | func SniffBittorrent(b []byte) (*SniffHeader, error) { function SniffUTP (line 37) | func SniffUTP(b []byte) (*SniffHeader, error) { FILE: common/protocol/context.go type key (line 7) | type key constant requestKey (line 10) | requestKey key = iota function ContextWithRequestHeader (line 13) | func ContextWithRequestHeader(ctx context.Context, request *RequestHeade... function RequestHeaderFromContext (line 17) | func RequestHeaderFromContext(ctx context.Context) *RequestHeader { FILE: common/protocol/dns/io.go function PackMessage (line 14) | func PackMessage(msg *dnsmessage.Message) (*buf.Buffer, error) { type MessageReader (line 26) | type MessageReader interface type UDPReader (line 30) | type UDPReader struct method readCache (line 37) | func (r *UDPReader) readCache() *buf.Buffer { method refill (line 46) | func (r *UDPReader) refill() error { method ReadMessage (line 58) | func (r *UDPReader) ReadMessage() (*buf.Buffer, error) { method Close (line 71) | func (r *UDPReader) Close() error { type TCPReader (line 82) | type TCPReader struct method ReadMessage (line 94) | func (r *TCPReader) ReadMessage() (*buf.Buffer, error) { method Interrupt (line 109) | func (r *TCPReader) Interrupt() { method Close (line 113) | func (r *TCPReader) Close() error { function NewTCPReader (line 86) | func NewTCPReader(reader buf.Reader) *TCPReader { type MessageWriter (line 117) | type MessageWriter interface type UDPWriter (line 121) | type UDPWriter struct method WriteMessage (line 125) | func (w *UDPWriter) WriteMessage(b *buf.Buffer) error { type TCPWriter (line 129) | type TCPWriter struct method WriteMessage (line 133) | func (w *TCPWriter) WriteMessage(b *buf.Buffer) error { FILE: common/protocol/headers.go type RequestCommand (line 12) | type RequestCommand method TransferType (line 21) | func (c RequestCommand) TransferType() TransferType { constant RequestCommandTCP (line 15) | RequestCommandTCP = RequestCommand(0x01) constant RequestCommandUDP (line 16) | RequestCommandUDP = RequestCommand(0x02) constant RequestCommandMux (line 17) | RequestCommandMux = RequestCommand(0x03) constant RequestCommandRvs (line 18) | RequestCommandRvs = RequestCommand(0x04) constant RequestOptionChunkStream (line 34) | RequestOptionChunkStream bitmask.Byte = 0x01 constant RequestOptionChunkMasking (line 38) | RequestOptionChunkMasking bitmask.Byte = 0x04 constant RequestOptionGlobalPadding (line 40) | RequestOptionGlobalPadding bitmask.Byte = 0x08 constant RequestOptionAuthenticatedLength (line 42) | RequestOptionAuthenticatedLength bitmask.Byte = 0x10 type RequestHeader (line 45) | type RequestHeader struct method Destination (line 55) | func (h *RequestHeader) Destination() net.Destination { constant ResponseOptionConnectionReuse (line 63) | ResponseOptionConnectionReuse bitmask.Byte = 0x01 type ResponseCommand (line 66) | type ResponseCommand interface type ResponseHeader (line 68) | type ResponseHeader struct method GetSecurityType (line 83) | func (sc *SecurityConfig) GetSecurityType() SecurityType { function isDomainTooLong (line 93) | func isDomainTooLong(domain string) bool { FILE: common/protocol/headers.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type SecurityType (line 24) | type SecurityType method Enum (line 55) | func (x SecurityType) Enum() *SecurityType { method String (line 61) | func (x SecurityType) String() string { method Descriptor (line 65) | func (SecurityType) Descriptor() protoreflect.EnumDescriptor { method Type (line 69) | func (SecurityType) Type() protoreflect.EnumType { method Number (line 73) | func (x SecurityType) Number() protoreflect.EnumNumber { method EnumDescriptor (line 78) | func (SecurityType) EnumDescriptor() ([]byte, []int) { constant SecurityType_UNKNOWN (line 27) | SecurityType_UNKNOWN SecurityType = 0 constant SecurityType_AUTO (line 28) | SecurityType_AUTO SecurityType = 2 constant SecurityType_AES128_GCM (line 29) | SecurityType_AES128_GCM SecurityType = 3 constant SecurityType_CHACHA20_POLY1305 (line 30) | SecurityType_CHACHA20_POLY1305 SecurityType = 4 constant SecurityType_NONE (line 31) | SecurityType_NONE SecurityType = 5 constant SecurityType_ZERO (line 32) | SecurityType_ZERO SecurityType = 6 type SecurityConfig (line 82) | type SecurityConfig struct method Reset (line 89) | func (x *SecurityConfig) Reset() { method String (line 96) | func (x *SecurityConfig) String() string { method ProtoMessage (line 100) | func (*SecurityConfig) ProtoMessage() {} method ProtoReflect (line 102) | func (x *SecurityConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 115) | func (*SecurityConfig) Descriptor() ([]byte, []int) { method GetType (line 119) | func (x *SecurityConfig) GetType() SecurityType { constant file_common_protocol_headers_proto_rawDesc (line 128) | file_common_protocol_headers_proto_rawDesc = "" + function file_common_protocol_headers_proto_rawDescGZIP (line 148) | func file_common_protocol_headers_proto_rawDescGZIP() []byte { function init (line 170) | func init() { file_common_protocol_headers_proto_init() } function file_common_protocol_headers_proto_init (line 171) | func file_common_protocol_headers_proto_init() { FILE: common/protocol/http/headers.go function ParseXForwardedFor (line 12) | func ParseXForwardedFor(header http.Header) []net.Address { function RemoveHopByHopHeaders (line 26) | func RemoveHopByHopHeaders(header http.Header) { function ParseHost (line 50) | func ParseHost(rawHost string, defaultPort net.Port) (net.Destination, e... FILE: common/protocol/http/headers_test.go function TestParseXForwardedFor (line 15) | func TestParseXForwardedFor(t *testing.T) { function TestHopByHopHeadersRemoving (line 24) | func TestHopByHopHeadersRemoving(t *testing.T) { function TestParseHost (line 81) | func TestParseHost(t *testing.T) { FILE: common/protocol/http/sniff.go type version (line 14) | type version constant HTTP1 (line 17) | HTTP1 version = iota constant HTTP2 (line 18) | HTTP2 type SniffHeader (line 21) | type SniffHeader struct method Protocol (line 26) | func (h *SniffHeader) Protocol() string { method Domain (line 37) | func (h *SniffHeader) Domain() string { function beginWithHTTPMethod (line 47) | func beginWithHTTPMethod(b []byte) error { function SniffHTTP (line 61) | func SniffHTTP(b []byte, c context.Context) (*SniffHeader, error) { FILE: common/protocol/http/sniff_test.go function TestHTTPHeaders (line 10) | func TestHTTPHeaders(t *testing.T) { FILE: common/protocol/id.go constant IDBytesLen (line 11) | IDBytesLen = 16 type ID (line 15) | type ID struct method Equals (line 21) | func (id *ID) Equals(another *ID) bool { method Bytes (line 25) | func (id *ID) Bytes() []byte { method String (line 29) | func (id *ID) String() string { method UUID (line 33) | func (id *ID) UUID() uuid.UUID { method CmdKey (line 37) | func (id ID) CmdKey() []byte { function NewID (line 42) | func NewID(uuid uuid.UUID) *ID { FILE: common/protocol/id_test.go function TestIdEquals (line 10) | func TestIdEquals(t *testing.T) { FILE: common/protocol/payload.go type TransferType (line 3) | type TransferType constant TransferTypeStream (line 6) | TransferTypeStream TransferType = 0 constant TransferTypePacket (line 7) | TransferTypePacket TransferType = 1 type AddressType (line 10) | type AddressType constant AddressTypeIPv4 (line 13) | AddressTypeIPv4 AddressType = 1 constant AddressTypeDomain (line 14) | AddressTypeDomain AddressType = 2 constant AddressTypeIPv6 (line 15) | AddressTypeIPv6 AddressType = 3 FILE: common/protocol/quic/qtls_go118.go type CipherSuiteTLS13 (line 10) | type CipherSuiteTLS13 struct function AEADAESGCMTLS13 (line 18) | func AEADAESGCMTLS13(key, nonceMask []byte) cipher.AEAD FILE: common/protocol/quic/sniff.go type SniffHeader (line 19) | type SniffHeader struct method Protocol (line 23) | func (s SniffHeader) Protocol() string { method Domain (line 27) | func (s SniffHeader) Domain() string { constant versionDraft29 (line 32) | versionDraft29 uint32 = 0xff00001d constant version1 (line 33) | version1 uint32 = 0x1 function SniffQUIC (line 49) | func SniffQUIC(b []byte) (*SniffHeader, error) { function hkdfExpandLabel (line 269) | func hkdfExpandLabel(hash crypto.Hash, secret, context []byte, label str... FILE: common/protocol/quic/sniff_test.go function TestSniffQUIC (line 13) | func TestSniffQUIC(t *testing.T) { function TestSniffQUICComplex (line 22) | func TestSniffQUICComplex(t *testing.T) { function TestSniffQUICIncompleteServerName (line 243) | func TestSniffQUICIncompleteServerName(t *testing.T) { function TestSniffQUICPacketNumberLength4 (line 261) | func TestSniffQUICPacketNumberLength4(t *testing.T) { function TestSniffFakeQUICPacketWithInvalidPacketNumberLength (line 271) | func TestSniffFakeQUICPacketWithInvalidPacketNumberLength(t *testing.T) { function TestSniffFakeQUICPacketWithTooShortData (line 280) | func TestSniffFakeQUICPacketWithTooShortData(t *testing.T) { FILE: common/protocol/server_spec.go type ServerSpec (line 7) | type ServerSpec struct function NewServerSpec (line 12) | func NewServerSpec(dest net.Destination, user *MemoryUser) *ServerSpec { function NewServerSpecFromPB (line 19) | func NewServerSpecFromPB(spec *ServerEndpoint) (*ServerSpec, error) { FILE: common/protocol/server_spec.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type ServerEndpoint (line 25) | type ServerEndpoint struct method Reset (line 34) | func (x *ServerEndpoint) Reset() { method String (line 41) | func (x *ServerEndpoint) String() string { method ProtoMessage (line 45) | func (*ServerEndpoint) ProtoMessage() {} method ProtoReflect (line 47) | func (x *ServerEndpoint) ProtoReflect() protoreflect.Message { method Descriptor (line 60) | func (*ServerEndpoint) Descriptor() ([]byte, []int) { method GetAddress (line 64) | func (x *ServerEndpoint) GetAddress() *net.IPOrDomain { method GetPort (line 71) | func (x *ServerEndpoint) GetPort() uint32 { method GetUser (line 78) | func (x *ServerEndpoint) GetUser() *User { constant file_common_protocol_server_spec_proto_rawDesc (line 87) | file_common_protocol_server_spec_proto_rawDesc = "" + function file_common_protocol_server_spec_proto_rawDescGZIP (line 101) | func file_common_protocol_server_spec_proto_rawDescGZIP() []byte { function init (line 124) | func init() { file_common_protocol_server_spec_proto_init() } function file_common_protocol_server_spec_proto_init (line 125) | func file_common_protocol_server_spec_proto_init() { FILE: common/protocol/time.go type Timestamp (line 9) | type Timestamp type TimestampGenerator (line 11) | type TimestampGenerator function NowTime (line 13) | func NowTime() Timestamp { function NewTimestampGenerator (line 17) | func NewTimestampGenerator(base Timestamp, delta int) TimestampGenerator { FILE: common/protocol/time_test.go function TestGenerateRandomInt64InRange (line 10) | func TestGenerateRandomInt64InRange(t *testing.T) { FILE: common/protocol/tls/cert/cert.go type Certificate (line 20) | type Certificate struct method ToPEM (line 42) | func (c *Certificate) ToPEM() ([]byte, []byte) { function ParseCertificate (line 27) | func ParseCertificate(certPEM []byte, keyPEM []byte) (*Certificate, erro... type Option (line 47) | type Option function Authority (line 49) | func Authority(isCA bool) Option { function NotBefore (line 55) | func NotBefore(t time.Time) Option { function NotAfter (line 61) | func NotAfter(t time.Time) Option { function DNSNames (line 67) | func DNSNames(names ...string) Option { function CommonName (line 73) | func CommonName(name string) Option { function KeyUsage (line 79) | func KeyUsage(usage x509.KeyUsage) Option { function Organization (line 85) | func Organization(org string) Option { function MustGenerate (line 91) | func MustGenerate(parent *Certificate, opts ...Option) (*Certificate, [3... function publicKey (line 97) | func publicKey(priv interface{}) interface{} { function Generate (line 110) | func Generate(parent *Certificate, opts ...Option) (*Certificate, error) { FILE: common/protocol/tls/cert/cert_test.go function TestGenerate (line 17) | func TestGenerate(t *testing.T) { function generate (line 24) | func generate(domainNames []string, isCA bool, jsonOutput bool, fileOutp... type jsonCert (line 61) | type jsonCert struct function printJSON (line 66) | func printJSON(certificate *Certificate) { function printFile (line 78) | func printFile(certificate *Certificate, name string) error { function writeFile (line 87) | func writeFile(content []byte, name string) error { FILE: common/protocol/tls/cert/privateKey.go type ecPrivateKey (line 9) | type ecPrivateKey struct type pkcs8 (line 16) | type pkcs8 struct type pkcs1AdditionalRSAPrime (line 23) | type pkcs1AdditionalRSAPrime struct type pkcs1PrivateKey (line 31) | type pkcs1PrivateKey struct FILE: common/protocol/tls/sniff.go type SniffHeader (line 11) | type SniffHeader struct method Protocol (line 15) | func (h *SniffHeader) Protocol() string { method Domain (line 19) | func (h *SniffHeader) Domain() string { function IsValidTLSVersion (line 28) | func IsValidTLSVersion(major, minor byte) bool { function ReadClientHello (line 34) | func ReadClientHello(data []byte, h *SniffHeader) error { function SniffTLS (line 131) | func SniffTLS(b []byte) (*SniffHeader, error) { FILE: common/protocol/tls/sniff_test.go function TestTLSHeaders (line 9) | func TestTLSHeaders(t *testing.T) { FILE: common/protocol/udp/packet.go type Packet (line 9) | type Packet struct FILE: common/protocol/user.go method GetTypedAccount (line 8) | func (u *User) GetTypedAccount() (Account, error) { method ToMemoryUser (line 26) | func (u *User) ToMemoryUser() (*MemoryUser, error) { function ToProtoUser (line 38) | func ToProtoUser(mu *MemoryUser) *User { type MemoryUser (line 50) | type MemoryUser struct FILE: common/protocol/user.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type User (line 26) | type User struct method Reset (line 37) | func (x *User) Reset() { method String (line 44) | func (x *User) String() string { method ProtoMessage (line 48) | func (*User) ProtoMessage() {} method ProtoReflect (line 50) | func (x *User) ProtoReflect() protoreflect.Message { method Descriptor (line 63) | func (*User) Descriptor() ([]byte, []int) { method GetLevel (line 67) | func (x *User) GetLevel() uint32 { method GetEmail (line 74) | func (x *User) GetEmail() string { method GetAccount (line 81) | func (x *User) GetAccount() *serial.TypedMessage { constant file_common_protocol_user_proto_rawDesc (line 90) | file_common_protocol_user_proto_rawDesc = "" + function file_common_protocol_user_proto_rawDescGZIP (line 104) | func file_common_protocol_user_proto_rawDescGZIP() []byte { function init (line 125) | func init() { file_common_protocol_user_proto_init() } function file_common_protocol_user_proto_init (line 126) | func file_common_protocol_user_proto_init() { FILE: common/reflect/marshal.go function MarshalToJson (line 15) | func MarshalToJson(v interface{}, insertTypeInfo bool) (string, bool) { function JSONMarshalWithoutEscape (line 24) | func JSONMarshalWithoutEscape(t interface{}) ([]byte, error) { function marshalTypedMessage (line 33) | func marshalTypedMessage(v *cserial.TypedMessage, ignoreNullValue bool, ... function marshalSlice (line 48) | func marshalSlice(v reflect.Value, ignoreNullValue bool, insertTypeInfo ... function isNullValue (line 60) | func isNullValue(f reflect.StructField, rv reflect.Value) bool { function toJsonName (line 75) | func toJsonName(f reflect.StructField) string { function marshalStruct (line 93) | func marshalStruct(v reflect.Value, ignoreNullValue bool, insertTypeInfo... function marshalMap (line 111) | func marshalMap(v reflect.Value, ignoreNullValue bool, insertTypeInfo bo... function marshalIString (line 130) | func marshalIString(v interface{}) (r string, ok bool) { function serializePortList (line 143) | func serializePortList(portList *cnet.PortList) (interface{}, bool) { function marshalKnownType (line 166) | func marshalKnownType(v interface{}, ignoreNullValue bool, insertTypeInf... function isValueKind (line 205) | func isValueKind(kind reflect.Kind) bool { function marshalInterface (line 230) | func marshalInterface(v interface{}, ignoreNullValue bool, insertTypeInf... FILE: common/reflect/marshal_test.go function TestMashalAccount (line 16) | func TestMashalAccount(t *testing.T) { function TestMashalStruct (line 43) | func TestMashalStruct(t *testing.T) { function TestMarshalConfigJson (line 87) | func TestMarshalConfigJson(t *testing.T) { function getConfig (line 136) | func getConfig() string { FILE: common/retry/retry.go type Strategy (line 12) | type Strategy interface type retryer (line 17) | type retryer struct method On (line 23) | func (r *retryer) On(method func() error) error { function Timed (line 43) | func Timed(attempts int, delay uint32) Strategy { function ExponentialBackoff (line 52) | func ExponentialBackoff(attempts int, delay uint32) Strategy { FILE: common/retry/retry_test.go function TestNoRetry (line 14) | func TestNoRetry(t *testing.T) { function TestRetryOnce (line 27) | func TestRetryOnce(t *testing.T) { function TestRetryMultiple (line 45) | func TestRetryMultiple(t *testing.T) { function TestRetryExhausted (line 63) | func TestRetryExhausted(t *testing.T) { function TestExponentialBackoff (line 81) | func TestExponentialBackoff(t *testing.T) { FILE: common/serial/serial.go function ReadUint16 (line 9) | func ReadUint16(reader io.Reader) (uint16, error) { function WriteUint16 (line 18) | func WriteUint16(writer io.Writer, value uint16) (int, error) { function WriteUint64 (line 25) | func WriteUint64(writer io.Writer, value uint64) (int, error) { FILE: common/serial/serial_test.go function TestUint16Serial (line 13) | func TestUint16Serial(t *testing.T) { function TestUint64Serial (line 27) | func TestUint64Serial(t *testing.T) { function TestReadUint16 (line 41) | func TestReadUint16(t *testing.T) { function BenchmarkReadUint16 (line 61) | func BenchmarkReadUint16(b *testing.B) { function BenchmarkWriteUint64 (line 76) | func BenchmarkWriteUint64(b *testing.B) { FILE: common/serial/string.go function ToString (line 9) | func ToString(v interface{}) string { function Concat (line 29) | func Concat(v ...interface{}) string { FILE: common/serial/string_test.go function TestToString (line 11) | func TestToString(t *testing.T) { function TestConcat (line 30) | func TestConcat(t *testing.T) { function BenchmarkConcat (line 51) | func BenchmarkConcat(b *testing.B) { FILE: common/serial/typed_message.go function ToTypedMessage (line 10) | func ToTypedMessage(message proto.Message) *TypedMessage { function GetMessageType (line 22) | func GetMessageType(message proto.Message) string { function GetInstance (line 27) | func GetInstance(messageType string) (interface{}, error) { method GetInstance (line 37) | func (v *TypedMessage) GetInstance() (proto.Message, error) { FILE: common/serial/typed_message.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type TypedMessage (line 25) | type TypedMessage struct method Reset (line 35) | func (x *TypedMessage) Reset() { method String (line 42) | func (x *TypedMessage) String() string { method ProtoMessage (line 46) | func (*TypedMessage) ProtoMessage() {} method ProtoReflect (line 48) | func (x *TypedMessage) ProtoReflect() protoreflect.Message { method Descriptor (line 61) | func (*TypedMessage) Descriptor() ([]byte, []int) { method GetType (line 65) | func (x *TypedMessage) GetType() string { method GetValue (line 72) | func (x *TypedMessage) GetValue() []byte { constant file_common_serial_typed_message_proto_rawDesc (line 81) | file_common_serial_typed_message_proto_rawDesc = "" + function file_common_serial_typed_message_proto_rawDescGZIP (line 94) | func file_common_serial_typed_message_proto_rawDescGZIP() []byte { function init (line 113) | func init() { file_common_serial_typed_message_proto_init() } function file_common_serial_typed_message_proto_init (line 114) | func file_common_serial_typed_message_proto_init() { FILE: common/serial/typed_message_test.go function TestGetInstance (line 9) | func TestGetInstance(t *testing.T) { function TestConvertingNilMessage (line 19) | func TestConvertingNilMessage(t *testing.T) { FILE: common/session/context.go function IndependentCancelCtx (line 14) | func IndependentCancelCtx(parent context.Context) context.Context constant inboundSessionKey (line 17) | inboundSessionKey ctx.SessionKey = 1 constant outboundSessionKey (line 18) | outboundSessionKey ctx.SessionKey = 2 constant contentSessionKey (line 19) | contentSessionKey ctx.SessionKey = 3 constant isReverseMuxKey (line 20) | isReverseMuxKey ctx.SessionKey = 4 constant sockoptSessionKey (line 21) | sockoptSessionKey ctx.SessionKey = 5 constant trackedConnectionErrorKey (line 22) | trackedConnectionErrorKey ctx.SessionKey = 6 constant dispatcherKey (line 23) | dispatcherKey ctx.SessionKey = 7 constant timeoutOnlyKey (line 24) | timeoutOnlyKey ctx.SessionKey = 8 constant allowedNetworkKey (line 25) | allowedNetworkKey ctx.SessionKey = 9 constant fullHandlerKey (line 26) | fullHandlerKey ctx.SessionKey = 10 constant mitmAlpn11Key (line 27) | mitmAlpn11Key ctx.SessionKey = 11 constant mitmServerNameKey (line 28) | mitmServerNameKey ctx.SessionKey = 12 function ContextWithInbound (line 31) | func ContextWithInbound(ctx context.Context, inbound *Inbound) context.C... function InboundFromContext (line 35) | func InboundFromContext(ctx context.Context) *Inbound { function ContextWithOutbounds (line 42) | func ContextWithOutbounds(ctx context.Context, outbounds []*Outbound) co... function SubContextFromMuxInbound (line 46) | func SubContextFromMuxInbound(ctx context.Context) context.Context { function OutboundsFromContext (line 60) | func OutboundsFromContext(ctx context.Context) []*Outbound { function ContextWithContent (line 67) | func ContextWithContent(ctx context.Context, content *Content) context.C... function ContentFromContext (line 71) | func ContentFromContext(ctx context.Context) *Content { function ContextWithIsReverseMux (line 78) | func ContextWithIsReverseMux(ctx context.Context, isReverseMux bool) con... function IsReverseMuxFromContext (line 82) | func IsReverseMuxFromContext(ctx context.Context) bool { function ContextWithSockopt (line 89) | func ContextWithSockopt(ctx context.Context, s *Sockopt) context.Context { function SockoptFromContext (line 93) | func SockoptFromContext(ctx context.Context) *Sockopt { function GetForcedOutboundTagFromContext (line 100) | func GetForcedOutboundTagFromContext(ctx context.Context) string { function SetForcedOutboundTagToContext (line 107) | func SetForcedOutboundTagToContext(ctx context.Context, tag string) cont... type TrackedRequestErrorFeedback (line 115) | type TrackedRequestErrorFeedback interface function SubmitOutboundErrorToOriginator (line 119) | func SubmitOutboundErrorToOriginator(ctx context.Context, err error) { function TrackedConnectionError (line 126) | func TrackedConnectionError(ctx context.Context, tracker TrackedRequestE... function ContextWithDispatcher (line 130) | func ContextWithDispatcher(ctx context.Context, dispatcher routing.Dispa... function DispatcherFromContext (line 134) | func DispatcherFromContext(ctx context.Context) routing.Dispatcher { function ContextWithTimeoutOnly (line 141) | func ContextWithTimeoutOnly(ctx context.Context, only bool) context.Cont... function TimeoutOnlyFromContext (line 145) | func TimeoutOnlyFromContext(ctx context.Context) bool { function ContextWithAllowedNetwork (line 152) | func ContextWithAllowedNetwork(ctx context.Context, network net.Network)... function AllowedNetworkFromContext (line 156) | func AllowedNetworkFromContext(ctx context.Context) net.Network { function ContextWithFullHandler (line 163) | func ContextWithFullHandler(ctx context.Context, handler outbound.Handle... function FullHandlerFromContext (line 167) | func FullHandlerFromContext(ctx context.Context) outbound.Handler { function ContextWithMitmAlpn11 (line 174) | func ContextWithMitmAlpn11(ctx context.Context, alpn11 bool) context.Con... function MitmAlpn11FromContext (line 178) | func MitmAlpn11FromContext(ctx context.Context) bool { function ContextWithMitmServerName (line 185) | func ContextWithMitmServerName(ctx context.Context, serverName string) c... function MitmServerNameFromContext (line 189) | func MitmServerNameFromContext(ctx context.Context) string { FILE: common/session/session.go function NewID (line 17) | func NewID() c.ID { function ExportIDToError (line 28) | func ExportIDToError(ctx context.Context) errors.ExportOption { type Inbound (line 36) | type Inbound struct type Outbound (line 61) | type Outbound struct type SniffingRequest (line 80) | type SniffingRequest struct type Content (line 89) | type Content struct method SetAttribute (line 109) | func (c *Content) SetAttribute(name string, value string) { method Attribute (line 117) | func (c *Content) Attribute(name string) string { type Sockopt (line 103) | type Sockopt struct FILE: common/signal/done/done.go type Instance (line 8) | type Instance struct method Done (line 22) | func (d *Instance) Done() bool { method Wait (line 32) | func (d *Instance) Wait() <-chan struct{} { method Close (line 37) | func (d *Instance) Close() error { function New (line 15) | func New() *Instance { FILE: common/signal/notifier.go type Notifier (line 4) | type Notifier struct method Signal (line 16) | func (n *Notifier) Signal() { method Wait (line 24) | func (n *Notifier) Wait() <-chan struct{} { function NewNotifier (line 9) | func NewNotifier() *Notifier { FILE: common/signal/notifier_test.go function TestNotifierSignal (line 9) | func TestNotifierSignal(t *testing.T) { FILE: common/signal/pubsub/pubsub.go type Subscriber (line 13) | type Subscriber struct method push (line 18) | func (s *Subscriber) push(msg interface{}) { method Wait (line 25) | func (s *Subscriber) Wait() <-chan interface{} { method Close (line 29) | func (s *Subscriber) Close() error { method IsClosed (line 33) | func (s *Subscriber) IsClosed() bool { type Service (line 37) | type Service struct method Cleanup (line 56) | func (s *Service) Cleanup() error { method Subscribe (line 84) | func (s *Service) Subscribe(name string) *Subscriber { method Publish (line 96) | func (s *Service) Publish(name string, message interface{}) { function NewService (line 43) | func NewService() *Service { FILE: common/signal/pubsub/pubsub_test.go function TestPubsub (line 9) | func TestPubsub(t *testing.T) { FILE: common/signal/semaphore/semaphore.go type Instance (line 4) | type Instance struct method Wait (line 20) | func (s *Instance) Wait() <-chan struct{} { method Signal (line 25) | func (s *Instance) Signal() { function New (line 9) | func New(n int) *Instance { FILE: common/signal/timer.go type ActivityUpdater (line 13) | type ActivityUpdater interface type ActivityTimer (line 17) | type ActivityTimer struct method Update (line 26) | func (t *ActivityTimer) Update() { method check (line 33) | func (t *ActivityTimer) check() error { method finish (line 42) | func (t *ActivityTimer) finish() { method SetTimeout (line 53) | func (t *ActivityTimer) SetTimeout(timeout time.Duration) { function CancelAfterInactivity (line 78) | func CancelAfterInactivity(ctx context.Context, cancel context.CancelFun... FILE: common/signal/timer_test.go function TestActivityTimer (line 12) | func TestActivityTimer(t *testing.T) { function TestActivityTimerUpdate (line 22) | func TestActivityTimerUpdate(t *testing.T) { function TestActivityTimerNonBlocking (line 37) | func TestActivityTimerNonBlocking(t *testing.T) { function TestActivityTimerZeroTimeout (line 51) | func TestActivityTimerZeroTimeout(t *testing.T) { FILE: common/singbridge/destination.go function ToNetwork (line 9) | func ToNetwork(network string) net.Network { function ToDestination (line 20) | func ToDestination(socksaddr M.Socksaddr, network net.Network) net.Desti... function ToSocksaddr (line 42) | func ToSocksaddr(destination net.Destination) M.Socksaddr { FILE: common/singbridge/dialer.go type XrayDialer (line 20) | type XrayDialer struct method DialContext (line 28) | func (d *XrayDialer) DialContext(ctx context.Context, network string, ... method ListenPacket (line 32) | func (d *XrayDialer) ListenPacket(ctx context.Context, destination M.S... function NewDialer (line 24) | func NewDialer(dialer internet.Dialer) *XrayDialer { type XrayOutboundDialer (line 36) | type XrayOutboundDialer struct method DialContext (line 45) | func (d *XrayOutboundDialer) DialContext(ctx context.Context, network ... method ListenPacket (line 62) | func (d *XrayOutboundDialer) ListenPacket(ctx context.Context, destina... function NewOutboundDialer (line 41) | func NewOutboundDialer(outbound proxy.Outbound, dialer internet.Dialer) ... FILE: common/singbridge/error.go function ReturnError (line 5) | func ReturnError(err error) error { FILE: common/singbridge/handler.go type Dispatcher (line 21) | type Dispatcher struct method NewConnection (line 33) | func (d *Dispatcher) NewConnection(ctx context.Context, conn net.Conn,... method NewPacketConnection (line 41) | func (d *Dispatcher) NewPacketConnection(ctx context.Context, conn N.P... method NewError (line 48) | func (d *Dispatcher) NewError(ctx context.Context, err error) { function NewDispatcher (line 26) | func NewDispatcher(dispatcher routing.Dispatcher, newErrorFunc func(valu... FILE: common/singbridge/logger.go type XrayLogger (line 12) | type XrayLogger struct method Trace (line 22) | func (l *XrayLogger) Trace(args ...any) { method Debug (line 25) | func (l *XrayLogger) Debug(args ...any) { method Info (line 29) | func (l *XrayLogger) Info(args ...any) { method Warn (line 33) | func (l *XrayLogger) Warn(args ...any) { method Error (line 37) | func (l *XrayLogger) Error(args ...any) { method Fatal (line 41) | func (l *XrayLogger) Fatal(args ...any) { method Panic (line 44) | func (l *XrayLogger) Panic(args ...any) { method TraceContext (line 47) | func (l *XrayLogger) TraceContext(ctx context.Context, args ...any) { method DebugContext (line 50) | func (l *XrayLogger) DebugContext(ctx context.Context, args ...any) { method InfoContext (line 54) | func (l *XrayLogger) InfoContext(ctx context.Context, args ...any) { method WarnContext (line 58) | func (l *XrayLogger) WarnContext(ctx context.Context, args ...any) { method ErrorContext (line 62) | func (l *XrayLogger) ErrorContext(ctx context.Context, args ...any) { method FatalContext (line 66) | func (l *XrayLogger) FatalContext(ctx context.Context, args ...any) { method PanicContext (line 69) | func (l *XrayLogger) PanicContext(ctx context.Context, args ...any) { function NewLogger (line 16) | func NewLogger(newErrorFunc func(values ...any) *errors.Error) *XrayLogg... FILE: common/singbridge/packet.go function CopyPacketConn (line 16) | func CopyPacketConn(ctx context.Context, inboundConn net.Conn, link *tra... type PacketConnWrapper (line 26) | type PacketConnWrapper struct method ReadPacket (line 36) | func (w *PacketConnWrapper) ReadPacket(buffer *B.Buffer) (M.Socksaddr,... method WritePacket (line 95) | func (w *PacketConnWrapper) WritePacket(buffer *B.Buffer, destination ... method Close (line 103) | func (w *PacketConnWrapper) Close() error { FILE: common/singbridge/pipe.go function CopyConn (line 15) | func CopyConn(ctx context.Context, inboundConn net.Conn, link *transport... type PipeConnWrapper (line 28) | type PipeConnWrapper struct method Close (line 34) | func (w *PipeConnWrapper) Close() error { method Read (line 40) | func (w *PipeConnWrapper) Read(b []byte) (n int, err error) { method Write (line 60) | func (w *PipeConnWrapper) Write(p []byte) (n int, err error) { FILE: common/singbridge/reader.go type Conn (line 19) | type Conn struct method ReadMultiBuffer (line 32) | func (c *Conn) ReadMultiBuffer() (buf.MultiBuffer, error) { method ReadMultiBufferTimeout (line 40) | func (c *Conn) ReadMultiBufferTimeout(duration time.Duration) (buf.Mul... method WriteMultiBuffer (line 49) | func (c *Conn) WriteMultiBuffer(bufferList buf.MultiBuffer) error { function NewConn (line 24) | func NewConn(conn net.Conn) *Conn { FILE: common/strmatcher/ac_automaton_matcher.go constant validCharCount (line 7) | validCharCount = 53 type MatchType (line 9) | type MatchType struct constant TrieEdge (line 15) | TrieEdge bool = true constant FailEdge (line 16) | FailEdge bool = false type Edge (line 19) | type Edge struct type ACAutomaton (line 24) | type ACAutomaton struct method Add (line 135) | func (ac *ACAutomaton) Add(domain string, t Type) { method Build (line 192) | func (ac *ACAutomaton) Build() { method Match (line 221) | func (ac *ACAutomaton) Match(s string) bool { function newNode (line 31) | func newNode() [validCharCount]Edge { function NewACAutomaton (line 124) | func NewACAutomaton() *ACAutomaton { FILE: common/strmatcher/benchmark_test.go function BenchmarkACAutomaton (line 11) | func BenchmarkACAutomaton(b *testing.B) { function BenchmarkDomainMatcherGroup (line 24) | func BenchmarkDomainMatcherGroup(b *testing.B) { function BenchmarkFullMatcherGroup (line 37) | func BenchmarkFullMatcherGroup(b *testing.B) { function BenchmarkMarchGroup (line 50) | func BenchmarkMarchGroup(b *testing.B) { FILE: common/strmatcher/domain_matcher.go function breakDomain (line 5) | func breakDomain(domain string) []string { type node (line 9) | type node struct type DomainMatcherGroup (line 16) | type DomainMatcherGroup struct method Add (line 20) | func (g *DomainMatcherGroup) Add(domain string, value uint32) { method addMatcher (line 43) | func (g *DomainMatcherGroup) addMatcher(m domainMatcher, value uint32) { method Match (line 47) | func (g *DomainMatcherGroup) Match(domain string) []uint32 { FILE: common/strmatcher/domain_matcher_test.go function TestDomainMatcherGroup (line 10) | func TestDomainMatcherGroup(t *testing.T) { function TestEmptyDomainMatcherGroup (line 70) | func TestEmptyDomainMatcherGroup(t *testing.T) { FILE: common/strmatcher/full_matcher.go type FullMatcherGroup (line 3) | type FullMatcherGroup struct method Add (line 7) | func (g *FullMatcherGroup) Add(domain string, value uint32) { method addMatcher (line 15) | func (g *FullMatcherGroup) addMatcher(m fullMatcher, value uint32) { method Match (line 19) | func (g *FullMatcherGroup) Match(str string) []uint32 { FILE: common/strmatcher/full_matcher_test.go function TestFullMatcherGroup (line 10) | func TestFullMatcherGroup(t *testing.T) { function TestEmptyFullMatcherGroup (line 44) | func TestEmptyFullMatcherGroup(t *testing.T) { FILE: common/strmatcher/matchers.go type fullMatcher (line 8) | type fullMatcher method Match (line 10) | func (m fullMatcher) Match(s string) bool { method String (line 14) | func (m fullMatcher) String() string { type substrMatcher (line 18) | type substrMatcher method Match (line 20) | func (m substrMatcher) Match(s string) bool { method String (line 24) | func (m substrMatcher) String() string { type domainMatcher (line 28) | type domainMatcher method Match (line 30) | func (m domainMatcher) Match(s string) bool { method String (line 38) | func (m domainMatcher) String() string { type RegexMatcher (line 42) | type RegexMatcher struct method Match (line 47) | func (m *RegexMatcher) Match(s string) bool { method String (line 54) | func (m *RegexMatcher) String() string { FILE: common/strmatcher/matchers_test.go function TestMatcher (line 10) | func TestMatcher(t *testing.T) { FILE: common/strmatcher/mph_matcher.go constant PrimeRK (line 12) | PrimeRK = 16777619 function RollingHash (line 15) | func RollingHash(s string) uint32 { type MphMatcherGroup (line 27) | type MphMatcherGroup struct method AddFullOrDomainPattern (line 39) | func (g *MphMatcherGroup) AddFullOrDomainPattern(pattern string, t Typ... method AddPattern (line 66) | func (g *MphMatcherGroup) AddPattern(pattern string, t Type) (uint32, ... method Build (line 92) | func (g *MphMatcherGroup) Build() { method Lookup (line 161) | func (g *MphMatcherGroup) Lookup(h uint32, s string) bool { method Match (line 170) | func (g *MphMatcherGroup) Match(pattern string) []uint32 { method Size (line 306) | func (g *MphMatcherGroup) Size() uint32 { function NewMphMatcherGroup (line 51) | func NewMphMatcherGroup() *MphMatcherGroup { function nextPow2 (line 151) | func nextPow2(v int) int { type indexBucket (line 199) | type indexBucket struct type bySize (line 204) | type bySize method Len (line 206) | func (s bySize) Len() int { return len(s) } method Less (line 207) | func (s bySize) Less(i, j int) bool { return len(s[i].vals) > len(s[j]... method Swap (line 208) | func (s bySize) Swap(i, j int) { s[i], s[j] = s[j], s[i] } type stringStruct (line 210) | type stringStruct struct function strhashFallback (line 215) | func strhashFallback(a unsafe.Pointer, h uintptr) uintptr { constant m1 (line 222) | m1 = 16877499708836156737 constant m2 (line 223) | m2 = 2820277070424839065 constant m3 (line 224) | m3 = 9497967016996688599 constant m4 (line 225) | m4 = 15839092249703872147 function memhashFallback (line 230) | func memhashFallback(p unsafe.Pointer, seed, s uintptr) uintptr { function add (line 288) | func add(p unsafe.Pointer, x uintptr) unsafe.Pointer { function readUnaligned32 (line 292) | func readUnaligned32(p unsafe.Pointer) uint32 { function rotl31 (line 297) | func rotl31(x uint64) uint64 { function readUnaligned64 (line 301) | func readUnaligned64(p unsafe.Pointer) uint64 { FILE: common/strmatcher/mph_matcher_compact.go function init (line 9) | func init() { method Serialize (line 16) | func (g *MphMatcherGroup) Serialize(w io.Writer) error { function NewMphMatcherGroupFromBuffer (line 30) | func NewMphMatcherGroupFromBuffer(data []byte) (*MphMatcherGroup, error) { FILE: common/strmatcher/strmatcher.go type Matcher (line 9) | type Matcher interface type Type (line 16) | type Type method New (line 30) | func (t Type) New(pattern string) (Matcher, error) { constant Full (line 20) | Full Type = iota constant Substr (line 22) | Substr constant Domain (line 24) | Domain constant Regex (line 26) | Regex type IndexMatcher (line 54) | type IndexMatcher interface type MatcherEntry (line 61) | type MatcherEntry struct type MatcherGroup (line 68) | type MatcherGroup struct method Add (line 76) | func (g *MatcherGroup) Add(m Matcher) uint32 { method Match (line 96) | func (g *MatcherGroup) Match(pattern string) []uint32 { method Size (line 109) | func (g *MatcherGroup) Size() uint32 { type IndexMatcherGroup (line 113) | type IndexMatcherGroup struct method Match (line 117) | func (g *IndexMatcherGroup) Match(input string) []uint32 { method Size (line 135) | func (g *IndexMatcherGroup) Size() uint32 { FILE: common/strmatcher/strmatcher_test.go function TestMatcherGroup (line 11) | func TestMatcherGroup(t *testing.T) { function TestACAutomaton (line 95) | func TestACAutomaton(t *testing.T) { FILE: common/task/common.go function Close (line 6) | func Close(v interface{}) func() error { FILE: common/task/periodic.go type Periodic (line 9) | type Periodic struct method hasClosed (line 20) | func (t *Periodic) hasClosed() bool { method checkedExecute (line 27) | func (t *Periodic) checkedExecute() error { method Start (line 54) | func (t *Periodic) Start() error { method Close (line 74) | func (t *Periodic) Close() error { FILE: common/task/periodic_test.go function TestPeriodicTaskStop (line 11) | func TestPeriodicTaskStop(t *testing.T) { FILE: common/task/task.go function OnSuccess (line 10) | func OnSuccess(f func() error, g func() error) func() error { function Run (line 20) | func Run(ctx context.Context, tasks ...func() error) error { FILE: common/task/task_test.go function TestExecuteParallel (line 15) | func TestExecuteParallel(t *testing.T) { function TestExecuteParallelContextCancel (line 30) | func TestExecuteParallelContextCancel(t *testing.T) { function BenchmarkExecuteOne (line 49) | func BenchmarkExecuteOne(b *testing.B) { function BenchmarkExecuteTwo (line 58) | func BenchmarkExecuteTwo(b *testing.B) { FILE: common/type.go type ConfigCreator (line 11) | type ConfigCreator function RegisterConfig (line 16) | func RegisterConfig(config interface{}, configCreator ConfigCreator) err... function CreateObject (line 26) | func CreateObject(ctx context.Context, config interface{}) (interface{},... FILE: common/type_test.go type TConfig (line 10) | type TConfig struct type YConfig (line 14) | type YConfig struct function TestObjectCreation (line 18) | func TestObjectCreation(t *testing.T) { FILE: common/units/bytesize.go type ByteSize (line 16) | type ByteSize method String (line 34) | func (b ByteSize) String() string { method Parse (line 68) | func (b *ByteSize) Parse(s string) error { constant _ (line 19) | _ = iota constant KB (line 21) | KB ByteSize = 1 << (10 * iota) constant MB (line 23) | MB constant GB (line 25) | GB constant TB (line 27) | TB constant PB (line 29) | PB constant EB (line 31) | EB FILE: common/units/bytesize_test.go function TestByteSizes (line 9) | func TestByteSizes(t *testing.T) { function assertSizeValue (line 49) | func assertSizeValue(t *testing.T, size string, expected units.ByteSize) { function assertSizeString (line 60) | func assertSizeString(t *testing.T, size units.ByteSize, expected string... FILE: common/utils/access_field.go function AccessField (line 10) | func AccessField[valueType any](obj any, fieldName string) *valueType { FILE: common/utils/browser.go function ChromeVersion (line 11) | func ChromeVersion() int { FILE: common/utils/padding.go function H2Base62Pad (line 16) | func H2Base62Pad[T int32 | int64 | int](expectedLen T) string { FILE: common/utils/typed_sync_map.go type TypedSyncMap (line 10) | type TypedSyncMap struct function NewTypedSyncMap (line 18) | func NewTypedSyncMap[K any, V any]() *TypedSyncMap[K, V] { method Clear (line 25) | func (m *TypedSyncMap[K, V]) Clear() { method CompareAndDelete (line 34) | func (m *TypedSyncMap[K, V]) CompareAndDelete(key K, old V) (deleted boo... method CompareAndSwap (line 41) | func (m *TypedSyncMap[K, V]) CompareAndSwap(key K, old V, new V) (swappe... method Delete (line 46) | func (m *TypedSyncMap[K, V]) Delete(key K) { method Load (line 53) | func (m *TypedSyncMap[K, V]) Load(key K) (value V, ok bool) { method LoadAndDelete (line 64) | func (m *TypedSyncMap[K, V]) LoadAndDelete(key K) (value V, loaded bool) { method LoadOrStore (line 75) | func (m *TypedSyncMap[K, V]) LoadOrStore(key K, value V) (actual V, load... method Range (line 94) | func (m *TypedSyncMap[K, V]) Range(f func(key K, value V) bool) { method Store (line 101) | func (m *TypedSyncMap[K, V]) Store(key K, value V) { method Swap (line 106) | func (m *TypedSyncMap[K, V]) Swap(key K, value V) (previous V, loaded bo... FILE: common/uuid/uuid.go type UUID (line 15) | type UUID method String (line 18) | func (u *UUID) String() string { method Bytes (line 32) | func (u *UUID) Bytes() []byte { method Equals (line 37) | func (u *UUID) Equals(another *UUID) bool { function New (line 48) | func New() UUID { function ParseBytes (line 57) | func ParseBytes(b []byte) (UUID, error) { function ParseString (line 67) | func ParseString(str string) (UUID, error) { FILE: common/uuid/uuid_test.go function TestParseBytes (line 11) | func TestParseBytes(t *testing.T) { function TestParseString (line 27) | func TestParseString(t *testing.T) { function TestNewUUID (line 54) | func TestNewUUID(t *testing.T) { function TestRandom (line 67) | func TestRandom(t *testing.T) { function TestEquals (line 76) | func TestEquals(t *testing.T) { FILE: common/xudp/xudp.go function init (line 34) | func init() { function GetGlobalID (line 51) | func GetGlobalID(ctx context.Context) (globalID [8]byte) { function NewPacketWriter (line 67) | func NewPacketWriter(writer buf.Writer, dest net.Destination, globalID [... type PacketWriter (line 75) | type PacketWriter struct method WriteMultiBuffer (line 81) | func (w *PacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { function NewPacketReader (line 124) | func NewPacketReader(reader io.Reader) *PacketReader { type PacketReader (line 131) | type PacketReader struct method ReadMultiBuffer (line 136) | func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) { FILE: common/xudp/xudp_test.go function TestXudpReadWrite (line 11) | func TestXudpReadWrite(t *testing.T) { FILE: core/annotations.go type Annotation (line 5) | type Annotation struct FILE: core/config.go type ConfigFormat (line 17) | type ConfigFormat struct type ConfigSource (line 23) | type ConfigSource struct type ConfigLoader (line 29) | type ConfigLoader type ConfigBuilder (line 32) | type ConfigBuilder type ConfigsMerger (line 35) | type ConfigsMerger function RegisterConfigLoader (line 45) | func RegisterConfigLoader(format *ConfigFormat) error { function GetMergedConfig (line 63) | func GetMergedConfig(args cmdarg.Arg) (string, error) { function GetFormatByExtension (line 82) | func GetFormatByExtension(ext string) string { function getExtension (line 97) | func getExtension(filename string) string { function GetFormat (line 105) | func GetFormat(filename string) string { function LoadConfig (line 109) | func LoadConfig(formatName string, input interface{}) (*Config, error) { function loadProtobufConfig (line 162) | func loadProtobufConfig(data []byte) (*Config, error) { function init (line 170) | func init() { FILE: core/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 27) | type Config struct method Reset (line 46) | func (x *Config) Reset() { method String (line 53) | func (x *Config) String() string { method ProtoMessage (line 57) | func (*Config) ProtoMessage() {} method ProtoReflect (line 59) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 72) | func (*Config) Descriptor() ([]byte, []int) { method GetInbound (line 76) | func (x *Config) GetInbound() []*InboundHandlerConfig { method GetOutbound (line 83) | func (x *Config) GetOutbound() []*OutboundHandlerConfig { method GetApp (line 90) | func (x *Config) GetApp() []*serial.TypedMessage { method GetExtension (line 97) | func (x *Config) GetExtension() []*serial.TypedMessage { type InboundHandlerConfig (line 105) | type InboundHandlerConfig struct method Reset (line 118) | func (x *InboundHandlerConfig) Reset() { method String (line 125) | func (x *InboundHandlerConfig) String() string { method ProtoMessage (line 129) | func (*InboundHandlerConfig) ProtoMessage() {} method ProtoReflect (line 131) | func (x *InboundHandlerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 144) | func (*InboundHandlerConfig) Descriptor() ([]byte, []int) { method GetTag (line 148) | func (x *InboundHandlerConfig) GetTag() string { method GetReceiverSettings (line 155) | func (x *InboundHandlerConfig) GetReceiverSettings() *serial.TypedMess... method GetProxySettings (line 162) | func (x *InboundHandlerConfig) GetProxySettings() *serial.TypedMessage { type OutboundHandlerConfig (line 170) | type OutboundHandlerConfig struct method Reset (line 186) | func (x *OutboundHandlerConfig) Reset() { method String (line 193) | func (x *OutboundHandlerConfig) String() string { method ProtoMessage (line 197) | func (*OutboundHandlerConfig) ProtoMessage() {} method ProtoReflect (line 199) | func (x *OutboundHandlerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 212) | func (*OutboundHandlerConfig) Descriptor() ([]byte, []int) { method GetTag (line 216) | func (x *OutboundHandlerConfig) GetTag() string { method GetSenderSettings (line 223) | func (x *OutboundHandlerConfig) GetSenderSettings() *serial.TypedMessa... method GetProxySettings (line 230) | func (x *OutboundHandlerConfig) GetProxySettings() *serial.TypedMessage { method GetExpire (line 237) | func (x *OutboundHandlerConfig) GetExpire() int64 { method GetComment (line 244) | func (x *OutboundHandlerConfig) GetComment() string { constant file_core_config_proto_rawDesc (line 253) | file_core_config_proto_rawDesc = "" + function file_core_config_proto_rawDescGZIP (line 278) | func file_core_config_proto_rawDescGZIP() []byte { function init (line 308) | func init() { file_core_config_proto_init() } function file_core_config_proto_init (line 309) | func file_core_config_proto_init() { FILE: core/context.go type XrayKey (line 8) | type XrayKey constant xrayKey (line 10) | xrayKey XrayKey = 1 function FromContext (line 13) | func FromContext(ctx context.Context) *Instance { function MustFromContext (line 21) | func MustFromContext(ctx context.Context) *Instance { function toContext (line 39) | func toContext(ctx context.Context, v *Instance) context.Context { function ToBackgroundDetachedContext (line 50) | func ToBackgroundDetachedContext(ctx context.Context) context.Context { FILE: core/context_test.go function TestFromContextPanic (line 11) | func TestFromContextPanic(t *testing.T) { FILE: core/core.go function init (line 32) | func init() { function Version (line 62) | func Version() string { function VersionStatement (line 67) | func VersionStatement() []string { FILE: core/functions.go function CreateObject (line 16) | func CreateObject(v *Instance, config interface{}) (interface{}, error) { function StartInstance (line 28) | func StartInstance(configFormat string, configBytes []byte) (*Instance, ... function Dial (line 49) | func Dial(ctx context.Context, v *Instance, dest net.Destination) (net.C... function DialUDP (line 76) | func DialUDP(ctx context.Context, v *Instance) (net.PacketConn, error) { FILE: core/functions_test.go function xor (line 23) | func xor(b []byte) []byte { function xor2 (line 31) | func xor2(b []byte) []byte { function TestXrayDial (line 39) | func TestXrayDial(t *testing.T) { function TestXrayDialUDPConn (line 89) | func TestXrayDialUDPConn(t *testing.T) { function TestXrayDialUDP (line 149) | func TestXrayDialUDP(t *testing.T) { FILE: core/xray.go type Server (line 24) | type Server interface function ServerType (line 29) | func ServerType() interface{} { type resolution (line 33) | type resolution struct method callbackResolution (line 47) | func (r *resolution) callbackResolution(allFeatures []features.Feature... function getFeature (line 38) | func getFeature(allFeatures []features.Feature, t reflect.Type) features... type Instance (line 82) | type Instance struct method IsRunning (line 94) | func (server *Instance) IsRunning() bool { method Type (line 253) | func (s *Instance) Type() interface{} { method Close (line 258) | func (s *Instance) Close() error { method RequireFeatures (line 279) | func (s *Instance) RequireFeatures(callback interface{}, optional bool... method AddFeature (line 319) | func (s *Instance) AddFeature(feature features.Feature) error { method GetFeature (line 376) | func (s *Instance) GetFeature(featureType interface{}) features.Feature { method Start (line 384) | func (s *Instance) Start() error { function AddInboundHandler (line 98) | func AddInboundHandler(server *Instance, config *InboundHandlerConfig) e... function addInboundHandlers (line 114) | func addInboundHandlers(server *Instance, configs []*InboundHandlerConfi... function AddOutboundHandler (line 124) | func AddOutboundHandler(server *Instance, config *OutboundHandlerConfig)... function addOutboundHandlers (line 140) | func addOutboundHandlers(server *Instance, configs []*OutboundHandlerCon... function RequireFeatures (line 152) | func RequireFeatures(ctx context.Context, callback interface{}) error { function OptionalFeatures (line 159) | func OptionalFeatures(ctx context.Context, callback interface{}) error { function New (line 167) | func New(config *Config) (*Instance, error) { function NewWithContext (line 178) | func NewWithContext(ctx context.Context, config *Config) (*Instance, err... function initInstanceWithConfig (line 189) | func initInstanceWithConfig(config *Config, server *Instance) (bool, err... FILE: core/xray_test.go function TestXrayDependency (line 24) | func TestXrayDependency(t *testing.T) { function TestXrayClose (line 38) | func TestXrayClose(t *testing.T) { FILE: features/dns/client.go type IPOption (line 11) | type IPOption struct type Client (line 20) | type Client interface function ClientType (line 30) | func ClientType() interface{} { constant DefaultTTL (line 37) | DefaultTTL = 300 type RCodeError (line 39) | type RCodeError method Error (line 41) | func (e RCodeError) Error() string { method IP (line 45) | func (RCodeError) IP() net.IP { method Domain (line 49) | func (RCodeError) Domain() string { method Family (line 53) | func (RCodeError) Family() net.AddressFamily { method String (line 57) | func (e RCodeError) String() string { function RCodeFromError (line 63) | func RCodeFromError(err error) uint16 { FILE: features/dns/fakedns.go type FakeDNSEngine (line 8) | type FakeDNSEngine interface type FakeDNSEngineRev0 (line 19) | type FakeDNSEngineRev0 interface FILE: features/dns/localdns/client.go type Client (line 9) | type Client struct method Type (line 12) | func (*Client) Type() interface{} { method Start (line 17) | func (*Client) Start() error { return nil } method Close (line 20) | func (*Client) Close() error { return nil } method LookupIP (line 23) | func (*Client) LookupIP(host string, option dns.IPOption) ([]net.IP, u... function New (line 64) | func New() *Client { FILE: features/extension/contextreceiver.go type ContextReceiver (line 5) | type ContextReceiver interface FILE: features/extension/observatory.go type Observatory (line 10) | type Observatory interface function ObservatoryType (line 16) | func ObservatoryType() interface{} { FILE: features/feature.go type Feature (line 9) | type Feature interface FILE: features/inbound/inbound.go type Handler (line 14) | type Handler interface type Manager (line 27) | type Manager interface function ManagerType (line 44) | func ManagerType() interface{} { FILE: features/outbound/outbound.go type Handler (line 15) | type Handler interface type HandlerSelector (line 23) | type HandlerSelector interface type Manager (line 30) | type Manager interface function ManagerType (line 49) | func ManagerType() interface{} { FILE: features/policy/default.go type DefaultManager (line 8) | type DefaultManager struct method Type (line 11) | func (DefaultManager) Type() interface{} { method ForLevel (line 16) | func (DefaultManager) ForLevel(level uint32) Session { method ForSystem (line 25) | func (DefaultManager) ForSystem() System { method Start (line 30) | func (DefaultManager) Start() error { method Close (line 35) | func (DefaultManager) Close() error { FILE: features/policy/policy.go type Timeout (line 13) | type Timeout struct type Stats (line 25) | type Stats struct type Buffer (line 35) | type Buffer struct type SystemStats (line 41) | type SystemStats struct type System (line 53) | type System struct type Session (line 59) | type Session struct type Manager (line 68) | type Manager interface function ManagerType (line 81) | func ManagerType() interface{} { function init (line 87) | func init() { function defaultBufferPolicy (line 108) | func defaultBufferPolicy() Buffer { function SessionDefault (line 115) | func SessionDefault() Session { type policyKey (line 134) | type policyKey constant bufferPolicyKey (line 137) | bufferPolicyKey policyKey = 0 function ContextWithBufferPolicy (line 140) | func ContextWithBufferPolicy(ctx context.Context, p Buffer) context.Cont... function BufferPolicyFromContext (line 144) | func BufferPolicyFromContext(ctx context.Context) Buffer { FILE: features/routing/balancer.go type BalancerOverrider (line 3) | type BalancerOverrider interface type BalancerPrincipleTarget (line 8) | type BalancerPrincipleTarget interface FILE: features/routing/context.go type Context (line 10) | type Context interface FILE: features/routing/dispatcher.go type Dispatcher (line 15) | type Dispatcher interface function DispatcherType (line 26) | func DispatcherType() interface{} { FILE: features/routing/dns/context.go type ResolvableContext (line 13) | type ResolvableContext struct method GetTargetIPs (line 21) | func (ctx *ResolvableContext) GetTargetIPs() []net.IP { function ContextWithDNSClient (line 54) | func ContextWithDNSClient(ctx routing.Context, client dns.Client) routin... FILE: features/routing/router.go type Router (line 12) | type Router interface type Route (line 25) | type Route interface function RouterType (line 42) | func RouterType() interface{} { type DefaultRouter (line 47) | type DefaultRouter struct method Type (line 50) | func (DefaultRouter) Type() interface{} { method PickRoute (line 55) | func (DefaultRouter) PickRoute(ctx Context) (Route, error) { method AddRule (line 60) | func (DefaultRouter) AddRule(config *serial.TypedMessage, shouldAppend... method RemoveRule (line 65) | func (DefaultRouter) RemoveRule(tag string) error { method ListRule (line 70) | func (DefaultRouter) ListRule() []Route { method Start (line 75) | func (DefaultRouter) Start() error { method Close (line 80) | func (DefaultRouter) Close() error { FILE: features/routing/session/context.go type Context (line 12) | type Context struct method GetInboundTag (line 19) | func (ctx *Context) GetInboundTag() string { method GetSourceIPs (line 27) | func (ctx *Context) GetSourceIPs() []net.IP { method GetSourcePort (line 41) | func (ctx *Context) GetSourcePort() net.Port { method GetTargetIPs (line 49) | func (ctx *Context) GetTargetIPs() []net.IP { method GetTargetPort (line 62) | func (ctx *Context) GetTargetPort() net.Port { method GetLocalIPs (line 70) | func (ctx *Context) GetLocalIPs() []net.IP { method GetLocalPort (line 83) | func (ctx *Context) GetLocalPort() net.Port { method GetTargetDomain (line 91) | func (ctx *Context) GetTargetDomain() string { method GetNetwork (line 108) | func (ctx *Context) GetNetwork() net.Network { method GetProtocol (line 116) | func (ctx *Context) GetProtocol() string { method GetUser (line 124) | func (ctx *Context) GetUser() string { method GetVlessRoute (line 132) | func (ctx *Context) GetVlessRoute() net.Port { method GetAttributes (line 140) | func (ctx *Context) GetAttributes() map[string]string { method GetSkipDNSResolve (line 148) | func (ctx *Context) GetSkipDNSResolve() bool { function AsRoutingContext (line 156) | func AsRoutingContext(ctx context.Context) routing.Context { FILE: features/stats/stats.go type Counter (line 15) | type Counter interface type OnlineMap (line 27) | type OnlineMap interface type Channel (line 43) | type Channel interface function SubscribeRunnableChannel (line 57) | func SubscribeRunnableChannel(c Channel) (chan interface{}, error) { function UnsubscribeClosableChannel (line 67) | func UnsubscribeClosableChannel(c Channel, sub chan interface{}) error { type Manager (line 80) | type Manager interface function GetOrRegisterCounter (line 109) | func GetOrRegisterCounter(m Manager, name string) (Counter, error) { function GetOrRegisterOnlineMap (line 119) | func GetOrRegisterOnlineMap(m Manager, name string) (OnlineMap, error) { function GetOrRegisterChannel (line 129) | func GetOrRegisterChannel(m Manager, name string) (Channel, error) { function ManagerType (line 141) | func ManagerType() interface{} { type NoopManager (line 146) | type NoopManager struct method Type (line 149) | func (NoopManager) Type() interface{} { method RegisterCounter (line 154) | func (NoopManager) RegisterCounter(string) (Counter, error) { method UnregisterCounter (line 159) | func (NoopManager) UnregisterCounter(string) error { method GetCounter (line 164) | func (NoopManager) GetCounter(string) Counter { method RegisterOnlineMap (line 169) | func (NoopManager) RegisterOnlineMap(string) (OnlineMap, error) { method UnregisterOnlineMap (line 174) | func (NoopManager) UnregisterOnlineMap(string) error { method GetOnlineMap (line 179) | func (NoopManager) GetOnlineMap(string) OnlineMap { method RegisterChannel (line 184) | func (NoopManager) RegisterChannel(string) (Channel, error) { method UnregisterChannel (line 189) | func (NoopManager) UnregisterChannel(string) error { method GetChannel (line 194) | func (NoopManager) GetChannel(string) Channel { method GetAllOnlineUsers (line 199) | func (NoopManager) GetAllOnlineUsers() []string { method Start (line 204) | func (NoopManager) Start() error { return nil } method Close (line 207) | func (NoopManager) Close() error { return nil } FILE: infra/conf/api.go type APIConfig (line 16) | type APIConfig struct method Build (line 22) | func (c *APIConfig) Build() (*commander.Config, error) { FILE: infra/conf/blackhole.go type NoneResponse (line 12) | type NoneResponse struct method Build (line 14) | func (*NoneResponse) Build() (proto.Message, error) { type HTTPResponse (line 18) | type HTTPResponse struct method Build (line 20) | func (*HTTPResponse) Build() (proto.Message, error) { type BlackholeConfig (line 24) | type BlackholeConfig struct method Build (line 28) | func (v *BlackholeConfig) Build() (proto.Message, error) { FILE: infra/conf/blackhole_test.go function TestHTTPResponseJSON (line 11) | func TestHTTPResponseJSON(t *testing.T) { FILE: infra/conf/buildable.go type Buildable (line 5) | type Buildable interface FILE: infra/conf/cfgcommon/duration/duration.go type Duration (line 9) | type Duration method MarshalJSON (line 12) | func (d *Duration) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 18) | func (d *Duration) UnmarshalJSON(b []byte) error { FILE: infra/conf/cfgcommon/duration/duration_test.go type testWithDuration (line 11) | type testWithDuration struct function TestDurationJSON (line 15) | func TestDurationJSON(t *testing.T) { FILE: infra/conf/common.go type StringList (line 15) | type StringList method Len (line 22) | func (v StringList) Len() int { method UnmarshalJSON (line 27) | func (v *StringList) UnmarshalJSON(data []byte) error { function NewStringList (line 17) | func NewStringList(raw []string) *StringList { type Address (line 43) | type Address struct method MarshalJSON (line 48) | func (v *Address) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 53) | func (v *Address) UnmarshalJSON(data []byte) error { method Build (line 66) | func (v *Address) Build() *net.IPOrDomain { type Network (line 70) | type Network method Build (line 72) | func (v Network) Build() net.Network { type NetworkList (line 85) | type NetworkList method UnmarshalJSON (line 88) | func (v *NetworkList) UnmarshalJSON(data []byte) error { method Build (line 109) | func (v *NetworkList) Build() []net.Network { function parseIntPort (line 121) | func parseIntPort(data []byte) (net.Port, error) { function parseStringPort (line 130) | func parseStringPort(s string) (net.Port, net.Port, error) { function parseJSONStringPort (line 155) | func parseJSONStringPort(data []byte) (net.Port, net.Port, error) { type PortRange (line 164) | type PortRange struct method Build (line 169) | func (v *PortRange) Build() *net.PortRange { method MarshalJSON (line 177) | func (v *PortRange) MarshalJSON() ([]byte, error) { method String (line 181) | func (port *PortRange) String() string { method UnmarshalJSON (line 190) | func (v *PortRange) UnmarshalJSON(data []byte) error { type PortList (line 211) | type PortList struct method Build (line 215) | func (list *PortList) Build() *net.PortList { method MarshalJSON (line 224) | func (v *PortList) MarshalJSON() ([]byte, error) { method String (line 234) | func (v PortList) String() string { method UnmarshalJSON (line 243) | func (list *PortList) UnmarshalJSON(data []byte) error { type User (line 276) | type User struct method Build (line 281) | func (v *User) Build() *protocol.User { type Int32Range (line 291) | type Int32Range struct method MarshalJSON (line 299) | func (v *Int32Range) MarshalJSON() ([]byte, error) { method String (line 303) | func (v Int32Range) String() string { method UnmarshalJSON (line 312) | func (v *Int32Range) UnmarshalJSON(data []byte) error { method ensureOrder (line 332) | func (r *Int32Range) ensureOrder() { function splitFromSecondDash (line 341) | func splitFromSecondDash(s string) []string { function ParseRangeString (line 351) | func ParseRangeString(str string) (int, int, error) { FILE: infra/conf/common_test.go function TestStringListUnmarshalError (line 16) | func TestStringListUnmarshalError(t *testing.T) { function TestStringListLen (line 25) | func TestStringListLen(t *testing.T) { function TestIPParsing (line 35) | func TestIPParsing(t *testing.T) { function TestDomainParsing (line 45) | func TestDomainParsing(t *testing.T) { function TestURLParsing (line 54) | func TestURLParsing(t *testing.T) { function TestInvalidAddressJson (line 73) | func TestInvalidAddressJson(t *testing.T) { function TestStringNetwork (line 82) | func TestStringNetwork(t *testing.T) { function TestArrayNetworkList (line 90) | func TestArrayNetworkList(t *testing.T) { function TestStringNetworkList (line 103) | func TestStringNetworkList(t *testing.T) { function TestInvalidNetworkJson (line 116) | func TestInvalidNetworkJson(t *testing.T) { function TestIntPort (line 124) | func TestIntPort(t *testing.T) { function TestOverRangeIntPort (line 135) | func TestOverRangeIntPort(t *testing.T) { function TestEnvPort (line 148) | func TestEnvPort(t *testing.T) { function TestSingleStringPort (line 161) | func TestSingleStringPort(t *testing.T) { function TestStringPairPort (line 172) | func TestStringPairPort(t *testing.T) { function TestOverRangeStringPort (line 183) | func TestOverRangeStringPort(t *testing.T) { function TestUserParsing (line 206) | func TestUserParsing(t *testing.T) { function TestInvalidUserJson (line 223) | func TestInvalidUserJson(t *testing.T) { FILE: infra/conf/dns.go type NameServerConfig (line 18) | type NameServerConfig struct method UnmarshalJSON (line 37) | func (c *NameServerConfig) UnmarshalJSON(data []byte) error { method Build (line 98) | func (c *NameServerConfig) Build() (*dns.NameServer, error) { function toDomainMatchingType (line 83) | func toDomainMatchingType(t router.Domain_Type) dns.DomainMatchingType { type DNSConfig (line 198) | type DNSConfig struct method Build (line 401) | func (c *DNSConfig) Build() (*dns.Config, error) { type HostAddress (line 213) | type HostAddress struct method MarshalJSON (line 219) | func (h *HostAddress) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 231) | func (h *HostAddress) UnmarshalJSON(data []byte) error { type HostsWrapper (line 245) | type HostsWrapper struct method MarshalJSON (line 276) | func (m *HostsWrapper) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 281) | func (m *HostsWrapper) UnmarshalJSON(data []byte) error { method Build (line 292) | func (m *HostsWrapper) Build() ([]*dns.Config_HostMapping, error) { function getHostMapping (line 249) | func getHostMapping(ha *HostAddress) *dns.Config_HostMapping { function resolveQueryStrategy (line 515) | func resolveQueryStrategy(queryStrategy string) dns.QueryStrategy { function readSystemHosts (line 530) | func readSystemHosts() (map[string][][]byte, error) { FILE: infra/conf/dns_proxy.go type DNSOutboundConfig (line 10) | type DNSOutboundConfig struct method Build (line 19) | func (c *DNSOutboundConfig) Build() (proto.Message, error) { FILE: infra/conf/dns_proxy_test.go function TestDnsProxyConfig (line 11) | func TestDnsProxyConfig(t *testing.T) { FILE: infra/conf/dns_test.go function TestDNSConfigParsing (line 13) | func TestDNSConfigParsing(t *testing.T) { FILE: infra/conf/dokodemo.go type DokodemoConfig (line 10) | type DokodemoConfig struct method Build (line 19) | func (v *DokodemoConfig) Build() (proto.Message, error) { FILE: infra/conf/dokodemo_test.go function TestDokodemoConfig (line 11) | func TestDokodemoConfig(t *testing.T) { FILE: infra/conf/fakedns.go type FakeDNSPoolElementConfig (line 13) | type FakeDNSPoolElementConfig struct type FakeDNSConfig (line 18) | type FakeDNSConfig struct method MarshalJSON (line 24) | func (f *FakeDNSConfig) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 36) | func (f *FakeDNSConfig) UnmarshalJSON(data []byte) error { method Build (line 50) | func (f *FakeDNSConfig) Build() (*fakedns.FakeDnsPoolMulti, error) { type FakeDNSPostProcessingStage (line 71) | type FakeDNSPostProcessingStage struct method Process (line 73) | func (FakeDNSPostProcessingStage) Process(config *Config) error { FILE: infra/conf/freedom.go type FreedomConfig (line 17) | type FreedomConfig struct method Build (line 43) | func (c *FreedomConfig) Build() (proto.Message, error) { type Fragment (line 28) | type Fragment struct type Noise (line 35) | type Noise struct function ParseNoise (line 168) | func ParseNoise(noise *Noise) (*freedom.Noise, error) { FILE: infra/conf/freedom_test.go function TestFreedomConfig (line 13) | func TestFreedomConfig(t *testing.T) { FILE: infra/conf/general_test.go function loadJSON (line 12) | func loadJSON(creator func() Buildable) func(string) (proto.Message, err... type TestCase (line 22) | type TestCase struct function runMultiTestCase (line 28) | func runMultiTestCase(t *testing.T, testCases []TestCase) { FILE: infra/conf/grpc.go type GRPCConfig (line 8) | type GRPCConfig struct method Build (line 19) | func (g *GRPCConfig) Build() (proto.Message, error) { FILE: infra/conf/http.go type HTTPAccount (line 13) | type HTTPAccount struct method Build (line 18) | func (v *HTTPAccount) Build() *http.Account { type HTTPServerConfig (line 25) | type HTTPServerConfig struct method Build (line 31) | func (c *HTTPServerConfig) Build() (proto.Message, error) { type HTTPRemoteConfig (line 47) | type HTTPRemoteConfig struct type HTTPClientConfig (line 53) | type HTTPClientConfig struct method Build (line 64) | func (v *HTTPClientConfig) Build() (proto.Message, error) { FILE: infra/conf/http_test.go function TestHTTPServerConfig (line 10) | func TestHTTPServerConfig(t *testing.T) { FILE: infra/conf/hysteria.go type HysteriaClientConfig (line 12) | type HysteriaClientConfig struct method Build (line 18) | func (c *HysteriaClientConfig) Build() (proto.Message, error) { type HysteriaUserConfig (line 33) | type HysteriaUserConfig struct type HysteriaServerConfig (line 39) | type HysteriaServerConfig struct method Build (line 44) | func (c *HysteriaServerConfig) Build() (proto.Message, error) { FILE: infra/conf/init.go function init (line 3) | func init() { FILE: infra/conf/json/reader.go type State (line 10) | type State constant StateContent (line 13) | StateContent State = iota constant StateEscape (line 14) | StateEscape constant StateDoubleQuote (line 15) | StateDoubleQuote constant StateDoubleQuoteEscape (line 16) | StateDoubleQuoteEscape constant StateSingleQuote (line 17) | StateSingleQuote constant StateSingleQuoteEscape (line 18) | StateSingleQuoteEscape constant StateComment (line 19) | StateComment constant StateSlash (line 20) | StateSlash constant StateMultilineComment (line 21) | StateMultilineComment constant StateMultilineCommentStar (line 22) | StateMultilineCommentStar type Reader (line 27) | type Reader struct method Read (line 35) | func (v *Reader) Read(b []byte) (int, error) { FILE: infra/conf/json/reader_test.go function TestReader (line 13) | func TestReader(t *testing.T) { function TestReader1 (line 58) | func TestReader1(t *testing.T) { FILE: infra/conf/lint.go type ConfigureFilePostProcessingStage (line 5) | type ConfigureFilePostProcessingStage interface function RegisterConfigureFilePostProcessingStage (line 11) | func RegisterConfigureFilePostProcessingStage(name string, stage Configu... function PostProcessConfigureFile (line 18) | func PostProcessConfigureFile(conf *Config) error { FILE: infra/conf/loader.go type ConfigCreator (line 10) | type ConfigCreator type ConfigCreatorCache (line 12) | type ConfigCreatorCache method RegisterCreator (line 14) | func (v ConfigCreatorCache) RegisterCreator(id string, creator ConfigC... method CreateConfig (line 23) | func (v ConfigCreatorCache) CreateConfig(id string) (interface{}, erro... type JSONConfigLoader (line 31) | type JSONConfigLoader struct method LoadWithID (line 45) | func (v *JSONConfigLoader) LoadWithID(raw []byte, id string) (interfac... method Load (line 57) | func (v *JSONConfigLoader) Load(raw []byte) (interface{}, string, erro... function NewJSONConfigLoader (line 37) | func NewJSONConfigLoader(cache ConfigCreatorCache, idKey string, configK... FILE: infra/conf/log.go function DefaultLogConfig (line 10) | func DefaultLogConfig() *log.Config { type LogConfig (line 18) | type LogConfig struct method Build (line 26) | func (v *LogConfig) Build() *log.Config { FILE: infra/conf/loopback.go type LoopbackConfig (line 8) | type LoopbackConfig struct method Build (line 12) | func (l LoopbackConfig) Build() (proto.Message, error) { FILE: infra/conf/metrics.go type MetricsConfig (line 8) | type MetricsConfig struct method Build (line 13) | func (c *MetricsConfig) Build() (*metrics.Config, error) { FILE: infra/conf/observatory.go type ObservatoryConfig (line 12) | type ObservatoryConfig struct method Build (line 19) | func (o *ObservatoryConfig) Build() (proto.Message, error) { type BurstObservatoryConfig (line 23) | type BurstObservatoryConfig struct method Build (line 29) | func (b BurstObservatoryConfig) Build() (proto.Message, error) { FILE: infra/conf/policy.go type Policy (line 7) | type Policy struct method Build (line 18) | func (t *Policy) Build() (*policy.Policy, error) { type SystemPolicy (line 55) | type SystemPolicy struct method Build (line 62) | func (p *SystemPolicy) Build() (*policy.SystemPolicy, error) { type PolicyConfig (line 73) | type PolicyConfig struct method Build (line 78) | func (c *PolicyConfig) Build() (*policy.Config, error) { FILE: infra/conf/policy_test.go function TestBufferSize (line 10) | func TestBufferSize(t *testing.T) { FILE: infra/conf/reverse.go type BridgeConfig (line 8) | type BridgeConfig struct method Build (line 13) | func (c *BridgeConfig) Build() (*reverse.BridgeConfig, error) { type PortalConfig (line 20) | type PortalConfig struct method Build (line 25) | func (c *PortalConfig) Build() (*reverse.PortalConfig, error) { type ReverseConfig (line 32) | type ReverseConfig struct method Build (line 37) | func (c *ReverseConfig) Build() (proto.Message, error) { FILE: infra/conf/reverse_test.go function TestReverseConfig (line 10) | func TestReverseConfig(t *testing.T) { FILE: infra/conf/router.go type StrategyConfig (line 22) | type StrategyConfig struct type BalancingRule (line 27) | type BalancingRule struct method Build (line 35) | func (r *BalancingRule) Build() (*router.BalancingRule, error) { type RouterConfig (line 77) | type RouterConfig struct method getDomainStrategy (line 83) | func (c *RouterConfig) getDomainStrategy() router.Config_DomainStrategy { method Build (line 99) | func (c *RouterConfig) Build() (*router.Config, error) { type RouterRule (line 126) | type RouterRule struct function parseIP (line 132) | func parseIP(s string) (*router.CIDR, error) { function loadFile (line 180) | func loadFile(file, code string) ([]byte, error) { function loadIP (line 194) | func loadIP(file, code string) ([]*router.CIDR, error) { function loadSite (line 207) | func loadSite(file, code string) ([]*router.Domain, error) { function decodeVarint (line 227) | func decodeVarint(r *bufio.Reader) (uint64, error) { function find (line 243) | func find(r io.Reader, code []byte) []byte { type AttributeMatcher (line 303) | type AttributeMatcher interface type BooleanMatcher (line 307) | type BooleanMatcher method Match (line 309) | func (m BooleanMatcher) Match(domain *router.Domain) bool { type AttributeList (line 318) | type AttributeList struct method Match (line 322) | func (al *AttributeList) Match(domain *router.Domain) bool { method IsEmpty (line 331) | func (al *AttributeList) IsEmpty() bool { function parseAttrs (line 335) | func parseAttrs(attrs []string) *AttributeList { function loadGeositeWithAttr (line 344) | func loadGeositeWithAttr(file string, siteWithAttr string) ([]*router.Do... function parseDomainRule (line 370) | func parseDomainRule(domain string) ([]*router.Domain, error) { function ToCidrList (line 440) | func ToCidrList(ips StringList) ([]*router.GeoIP, error) { type WebhookRuleConfig (line 525) | type WebhookRuleConfig struct function parseFieldRule (line 531) | func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) { function parseRule (line 678) | func parseRule(msg json.RawMessage) (*router.RoutingRule, error) { FILE: infra/conf/router_strategy.go constant strategyRandom (line 13) | strategyRandom string = "random" constant strategyLeastPing (line 14) | strategyLeastPing string = "leastping" constant strategyRoundRobin (line 15) | strategyRoundRobin string = "roundrobin" constant strategyLeastLoad (line 16) | strategyLeastLoad string = "leastload" type strategyEmptyConfig (line 28) | type strategyEmptyConfig struct method Build (line 31) | func (v *strategyEmptyConfig) Build() (proto.Message, error) { type strategyLeastLoadConfig (line 35) | type strategyLeastLoadConfig struct method Build (line 76) | func (v *strategyLeastLoadConfig) Build() (proto.Message, error) { type healthCheckSettings (line 49) | type healthCheckSettings struct method Build (line 58) | func (h healthCheckSettings) Build() (proto.Message, error) { FILE: infra/conf/router_test.go function getAssetPath (line 22) | func getAssetPath(file string) (string, error) { function TestToCidrList (line 43) | func TestToCidrList(t *testing.T) { function TestRouterConfig (line 77) | func TestRouterConfig(t *testing.T) { FILE: infra/conf/serial/builder.go function MergeConfigFromFiles (line 14) | func MergeConfigFromFiles(files []*core.ConfigSource) (string, error) { function mergeConfigs (line 26) | func mergeConfigs(files []*core.ConfigSource) (*conf.Config, error) { function BuildConfig (line 47) | func BuildConfig(files []*core.ConfigSource) (*core.Config, error) { type readerDecoder (line 55) | type readerDecoder function init (line 59) | func init() { FILE: infra/conf/serial/loader.go type offset (line 16) | type offset struct function findOffset (line 21) | func findOffset(b []byte, o int) *offset { function DecodeJSONConfig (line 45) | func DecodeJSONConfig(reader io.Reader) (*conf.Config, error) { function LoadJSONConfig (line 72) | func LoadJSONConfig(reader io.Reader) (*core.Config, error) { function DecodeTOMLConfig (line 88) | func DecodeTOMLConfig(reader io.Reader) (*conf.Config, error) { function LoadTOMLConfig (line 107) | func LoadTOMLConfig(reader io.Reader) (*core.Config, error) { function DecodeYAMLConfig (line 123) | func DecodeYAMLConfig(reader io.Reader) (*conf.Config, error) { function LoadYAMLConfig (line 137) | func LoadYAMLConfig(reader io.Reader) (*core.Config, error) { FILE: infra/conf/serial/loader_test.go function TestLoaderError (line 11) | func TestLoaderError(t *testing.T) { FILE: infra/conf/shadowsocks.go function cipherFromString (line 16) | func cipherFromString(c string) shadowsocks.CipherType { type ShadowsocksUserConfig (line 33) | type ShadowsocksUserConfig struct type ShadowsocksServerConfig (line 42) | type ShadowsocksServerConfig struct method Build (line 51) | func (v *ShadowsocksServerConfig) Build() (proto.Message, error) { function buildShadowsocks2022 (line 101) | func buildShadowsocks2022(v *ShadowsocksServerConfig) (proto.Message, er... type ShadowsocksServerTarget (line 161) | type ShadowsocksServerTarget struct type ShadowsocksClientConfig (line 172) | type ShadowsocksClientConfig struct method Build (line 184) | func (v *ShadowsocksClientConfig) Build() (proto.Message, error) { FILE: infra/conf/shadowsocks_test.go function TestShadowsocksServerConfigParsing (line 13) | func TestShadowsocksServerConfigParsing(t *testing.T) { FILE: infra/conf/socks.go type SocksAccount (line 13) | type SocksAccount struct method Build (line 18) | func (v *SocksAccount) Build() *socks.Account { constant AuthMethodNoAuth (line 26) | AuthMethodNoAuth = "noauth" constant AuthMethodUserPass (line 27) | AuthMethodUserPass = "password" type SocksServerConfig (line 30) | type SocksServerConfig struct method Build (line 38) | func (v *SocksServerConfig) Build() (proto.Message, error) { type SocksRemoteConfig (line 66) | type SocksRemoteConfig struct type SocksClientConfig (line 72) | type SocksClientConfig struct method Build (line 82) | func (v *SocksClientConfig) Build() (proto.Message, error) { FILE: infra/conf/socks_test.go function TestSocksInboundConfig (line 13) | func TestSocksInboundConfig(t *testing.T) { function TestSocksOutboundConfig (line 50) | func TestSocksOutboundConfig(t *testing.T) { FILE: infra/conf/transport_authenticators.go type NoOpConnectionAuthenticator (line 13) | type NoOpConnectionAuthenticator struct method Build (line 15) | func (NoOpConnectionAuthenticator) Build() (proto.Message, error) { type AuthenticatorRequest (line 19) | type AuthenticatorRequest struct method Build (line 35) | func (v *AuthenticatorRequest) Build() (*http.RequestConfig, error) { function sortMapKeys (line 26) | func sortMapKeys(m map[string]*StringList) []string { type AuthenticatorResponse (line 92) | type AuthenticatorResponse struct method Build (line 99) | func (v *AuthenticatorResponse) Build() (*http.ResponseConfig, error) { type Authenticator (line 160) | type Authenticator struct method Build (line 165) | func (v *Authenticator) Build() (proto.Message, error) { FILE: infra/conf/transport_internet.go type KCPConfig (line 55) | type KCPConfig struct method Build (line 68) | func (c *KCPConfig) Build() (proto.Message, error) { type TCPConfig (line 117) | type TCPConfig struct method Build (line 123) | func (c *TCPConfig) Build() (proto.Message, error) { type WebSocketConfig (line 142) | type WebSocketConfig struct method Build (line 151) | func (c *WebSocketConfig) Build() (proto.Message, error) { type HttpUpgradeConfig (line 184) | type HttpUpgradeConfig struct method Build (line 192) | func (c *HttpUpgradeConfig) Build() (proto.Message, error) { type SplitHTTPConfig (line 220) | type SplitHTTPConfig struct method Build (line 268) | func (c *SplitHTTPConfig) Build() (proto.Message, error) { type XmuxConfig (line 251) | type XmuxConfig struct function newRangeConfig (line 260) | func newRangeConfig(input Int32Range) *splithttp.RangeConfig { constant Byte (line 453) | Byte = 1 constant Kilobyte (line 454) | Kilobyte = 1024 * Byte constant Megabyte (line 455) | Megabyte = 1024 * Kilobyte constant Gigabyte (line 456) | Gigabyte = 1024 * Megabyte constant Terabyte (line 457) | Terabyte = 1024 * Gigabyte type Bandwidth (line 460) | type Bandwidth method Bps (line 462) | func (b Bandwidth) Bps() (uint64, error) { type UdpHop (line 503) | type UdpHop struct type Masquerade (line 508) | type Masquerade struct type HysteriaConfig (line 522) | type HysteriaConfig struct method Build (line 535) | func (c *HysteriaConfig) Build() (proto.Message, error) { function readFileOrString (line 568) | func readFileOrString(f string, s []string) ([]byte, error) { type TLSCertConfig (line 578) | type TLSCertConfig struct method Build (line 590) | func (c *TLSCertConfig) Build() (*tls.Certificate, error) { type QuicParamsConfig (line 630) | type QuicParamsConfig struct type TLSConfig (line 646) | type TLSConfig struct method Build (line 670) | func (c *TLSConfig) Build() (proto.Message, error) { type LimitFallback (line 774) | type LimitFallback struct type REALITYConfig (line 780) | type REALITYConfig struct method Build (line 807) | func (c *REALITYConfig) Build() (proto.Message, error) { type TransportProtocol (line 989) | type TransportProtocol method Build (line 992) | func (p TransportProtocol) Build() (string, error) { type CustomSockoptConfig (line 1020) | type CustomSockoptConfig struct type HappyEyeballsConfig (line 1029) | type HappyEyeballsConfig struct method UnmarshalJSON (line 1036) | func (h *HappyEyeballsConfig) UnmarshalJSON(data []byte) error { type SocketConfig (line 1053) | type SocketConfig struct method Build (line 1077) | func (c *SocketConfig) Build() (*internet.SocketConfig, error) { function PraseByteSlice (line 1197) | func PraseByteSlice(data json.RawMessage, typ string) ([]byte, error) { type TCPItem (line 1256) | type TCPItem struct type HeaderCustomTCP (line 1263) | type HeaderCustomTCP struct method Build (line 1269) | func (c *HeaderCustomTCP) Build() (proto.Message, error) { type FragmentMask (line 1350) | type FragmentMask struct method Build (line 1357) | func (c *FragmentMask) Build() (proto.Message, error) { type NoiseItem (line 1394) | type NoiseItem struct type NoiseMask (line 1401) | type NoiseMask struct method Build (line 1406) | func (c *NoiseMask) Build() (proto.Message, error) { type UDPItem (line 1435) | type UDPItem struct type HeaderCustomUDP (line 1441) | type HeaderCustomUDP struct method Build (line 1446) | func (c *HeaderCustomUDP) Build() (proto.Message, error) { type Dns (line 1488) | type Dns struct method Build (line 1492) | func (c *Dns) Build() (proto.Message, error) { type Dtls (line 1503) | type Dtls struct method Build (line 1505) | func (c *Dtls) Build() (proto.Message, error) { type Srtp (line 1509) | type Srtp struct method Build (line 1511) | func (c *Srtp) Build() (proto.Message, error) { type Utp (line 1515) | type Utp struct method Build (line 1517) | func (c *Utp) Build() (proto.Message, error) { type Wechat (line 1521) | type Wechat struct method Build (line 1523) | func (c *Wechat) Build() (proto.Message, error) { type Wireguard (line 1527) | type Wireguard struct method Build (line 1529) | func (c *Wireguard) Build() (proto.Message, error) { type Original (line 1533) | type Original struct method Build (line 1535) | func (c *Original) Build() (proto.Message, error) { type Aes128Gcm (line 1539) | type Aes128Gcm struct method Build (line 1543) | func (c *Aes128Gcm) Build() (proto.Message, error) { type Salamander (line 1549) | type Salamander struct method Build (line 1553) | func (c *Salamander) Build() (proto.Message, error) { type Sudoku (line 1559) | type Sudoku struct method Build (line 1574) | func (c *Sudoku) Build() (proto.Message, error) { type Xdns (line 1603) | type Xdns struct method Build (line 1607) | func (c *Xdns) Build() (proto.Message, error) { type Xicmp (line 1617) | type Xicmp struct method Build (line 1622) | func (c *Xicmp) Build() (proto.Message, error) { type Mask (line 1635) | type Mask struct method Build (line 1640) | func (c *Mask) Build(tcp bool) (proto.Message, error) { type FinalMask (line 1661) | type FinalMask struct type StreamConfig (line 1667) | type StreamConfig struct method Build (line 1688) | func (c *StreamConfig) Build() (*internet.StreamConfig, error) { type ProxyConfig (line 1931) | type ProxyConfig struct method Build (line 1939) | func (v *ProxyConfig) Build() (*internet.ProxyConfig, error) { FILE: infra/conf/transport_test.go function TestSocketConfig (line 12) | func TestSocketConfig(t *testing.T) { FILE: infra/conf/trojan.go type TrojanServerTarget (line 20) | type TrojanServerTarget struct type TrojanClientConfig (line 30) | type TrojanClientConfig struct method Build (line 41) | func (c *TrojanClientConfig) Build() (proto.Message, error) { type TrojanInboundFallback (line 95) | type TrojanInboundFallback struct type TrojanUserConfig (line 105) | type TrojanUserConfig struct type TrojanServerConfig (line 113) | type TrojanServerConfig struct method Build (line 119) | func (c *TrojanServerConfig) Build() (proto.Message, error) { FILE: infra/conf/tun.go type TunConfig (line 8) | type TunConfig struct method Build (line 14) | func (v *TunConfig) Build() (proto.Message, error) { FILE: infra/conf/version.go type VersionConfig (line 9) | type VersionConfig struct method Build (line 14) | func (c *VersionConfig) Build() (*version.Config, error) { FILE: infra/conf/vless.go type VLessInboundFallback (line 23) | type VLessInboundFallback struct type VLessInboundConfig (line 32) | type VLessInboundConfig struct method Build (line 41) | func (c *VLessInboundConfig) Build() (proto.Message, error) { type VLessOutboundVnext (line 200) | type VLessOutboundVnext struct type VLessOutboundConfig (line 206) | type VLessOutboundConfig struct method Build (line 222) | func (c *VLessOutboundConfig) Build() (proto.Message, error) { FILE: infra/conf/vless_test.go function TestVLessOutbound (line 15) | func TestVLessOutbound(t *testing.T) { function TestVLessInbound (line 88) | func TestVLessInbound(t *testing.T) { FILE: infra/conf/vmess.go type VMessAccount (line 17) | type VMessAccount struct method Build (line 24) | func (a *VMessAccount) Build() *vmess.Account { type VMessDefaultConfig (line 49) | type VMessDefaultConfig struct method Build (line 54) | func (c *VMessDefaultConfig) Build() *inbound.DefaultConfig { type VMessInboundConfig (line 60) | type VMessInboundConfig struct method Build (line 66) | func (c *VMessInboundConfig) Build() (proto.Message, error) { type VMessOutboundTarget (line 99) | type VMessOutboundTarget struct type VMessOutboundConfig (line 105) | type VMessOutboundConfig struct method Build (line 117) | func (c *VMessOutboundConfig) Build() (proto.Message, error) { FILE: infra/conf/vmess_test.go function TestVMessOutbound (line 15) | func TestVMessOutbound(t *testing.T) { function TestVMessInbound (line 90) | func TestVMessInbound(t *testing.T) { FILE: infra/conf/wireguard.go type WireGuardPeerConfig (line 13) | type WireGuardPeerConfig struct method Build (line 21) | func (c *WireGuardPeerConfig) Build() (proto.Message, error) { type WireGuardConfig (line 51) | type WireGuardConfig struct method Build (line 64) | func (c *WireGuardConfig) Build() (proto.Message, error) { function ParseWireGuardKey (line 126) | func ParseWireGuardKey(str string) (string, error) { FILE: infra/conf/wireguard_test.go function TestWireGuardConfig (line 10) | func TestWireGuardConfig(t *testing.T) { FILE: infra/conf/xray.go type SniffingConfig (line 58) | type SniffingConfig struct method Build (line 67) | func (c *SniffingConfig) Build() (*proxyman.SniffingConfig, error) { type MuxConfig (line 102) | type MuxConfig struct method Build (line 110) | func (m *MuxConfig) Build() (*proxyman.MultiplexingConfig, error) { type InboundDetourConfig (line 126) | type InboundDetourConfig struct method Build (line 137) | func (c *InboundDetourConfig) Build() (*core.InboundHandlerConfig, err... type OutboundDetourConfig (line 209) | type OutboundDetourConfig struct method checkChainProxyConfig (line 220) | func (c *OutboundDetourConfig) checkChainProxyConfig() error { method Build (line 231) | func (c *OutboundDetourConfig) Build() (*core.OutboundHandlerConfig, e... type StatsConfig (line 335) | type StatsConfig struct method Build (line 338) | func (c *StatsConfig) Build() (*stats.Config, error) { type Config (line 342) | type Config struct method findInboundTag (line 363) | func (c *Config) findInboundTag(tag string) int { method findOutboundTag (line 374) | func (c *Config) findOutboundTag(tag string) int { method Override (line 386) | func (c *Config) Override(o *Config, fn string) { method Build (line 472) | func (c *Config) Build() (*core.Config, error) { method BuildMPHCache (line 616) | func (c *Config) BuildMPHCache(customMatcherFilePath *string) error { function ParseSendThough (line 798) | func ParseSendThough(Addr *string) *Address { FILE: infra/conf/xray_test.go function TestXrayConfig (line 28) | func TestXrayConfig(t *testing.T) { function TestMuxConfig_Build (line 160) | func TestMuxConfig_Build(t *testing.T) { function TestConfig_Override (line 202) | func TestConfig_Override(t *testing.T) { FILE: infra/vformat/main.go function envFile (line 19) | func envFile() (string, error) { function GetRuntimeEnv (line 38) | func GetRuntimeEnv(key string) (string, error) { function GetGOBIN (line 64) | func GetGOBIN() string { function Run (line 83) | func Run(binary string, args []string) ([]byte, error) { function RunMany (line 93) | func RunMany(binary string, args, files []string) { function main (line 111) | func main() { FILE: main/commands/all/api/balancer_info.go function executeBalancerInfo (line 38) | func executeBalancerInfo(cmd *base.Command, args []string) { function showBalancerInfo (line 65) | func showBalancerInfo(b *routerService.BalancerMsg) { function getColumnFormats (line 85) | func getColumnFormats(titles []string) []string { function writeRow (line 93) | func writeRow(sb *strings.Builder, indent, index int, values, formats []... FILE: main/commands/all/api/balancer_override.go function executeBalancerOverride (line 40) | func executeBalancerOverride(cmd *base.Command, args []string) { FILE: main/commands/all/api/inbound_user.go function executeInboundUser (line 37) | func executeInboundUser(cmd *base.Command, args []string) { FILE: main/commands/all/api/inbound_user_add.go function executeAddInboundUsers (line 41) | func executeAddInboundUsers(cmd *base.Command, args []string) { function addInboundUserAction (line 58) | func addInboundUserAction(ctx context.Context, client handlerService.Han... function extractInboundUsers (line 70) | func extractInboundUsers(inb *core.InboundHandlerConfig) []*protocol.User { function extractInboundsConfig (line 96) | func extractInboundsConfig(unnamedArgs []string) []conf.InboundDetourCon... function executeInboundUserAction (line 112) | func executeInboundUserAction(ctx context.Context, client handlerService... FILE: main/commands/all/api/inbound_user_count.go function executeInboundUserCount (line 33) | func executeInboundUserCount(cmd *base.Command, args []string) { FILE: main/commands/all/api/inbound_user_remove.go function executeRemoveUsers (line 31) | func executeRemoveUsers(cmd *base.Command, args []string) { FILE: main/commands/all/api/inbounds_add.go function executeAddInbounds (line 34) | func executeAddInbounds(cmd *base.Command, args []string) { FILE: main/commands/all/api/inbounds_list.go function executeListInbounds (line 30) | func executeListInbounds(cmd *base.Command, args []string) { FILE: main/commands/all/api/inbounds_remove.go function executeRemoveInbounds (line 33) | func executeRemoveInbounds(cmd *base.Command, args []string) { FILE: main/commands/all/api/logger_restart.go function executeRestartLogger (line 30) | func executeRestartLogger(cmd *base.Command, args []string) { FILE: main/commands/all/api/outbounds_add.go function executeAddOutbounds (line 34) | func executeAddOutbounds(cmd *base.Command, args []string) { FILE: main/commands/all/api/outbounds_list.go function executeListOutbounds (line 30) | func executeListOutbounds(cmd *base.Command, args []string) { FILE: main/commands/all/api/outbounds_remove.go function executeRemoveOutbounds (line 33) | func executeRemoveOutbounds(cmd *base.Command, args []string) { FILE: main/commands/all/api/rules_add.go function executeAddRules (line 40) | func executeAddRules(cmd *base.Command, args []string) { FILE: main/commands/all/api/rules_list.go function executeListRules (line 30) | func executeListRules(cmd *base.Command, args []string) { FILE: main/commands/all/api/rules_remove.go function executeRemoveRules (line 32) | func executeRemoveRules(cmd *base.Command, args []string) { FILE: main/commands/all/api/shared.go type serviceHandler (line 25) | type serviceHandler function setSharedFlags (line 33) | func setSharedFlags(cmd *base.Command) { function dialAPIServer (line 41) | func dialAPIServer() (conn *grpc.ClientConn, ctx context.Context, close ... function loadArg (line 55) | func loadArg(arg string) (out io.Reader, err error) { function fetchHTTPContent (line 76) | func fetchHTTPContent(target string) ([]byte, error) { function showJSONResponse (line 111) | func showJSONResponse(m proto.Message) { function isNil (line 123) | func isNil(i interface{}) bool { FILE: main/commands/all/api/source_ip_block.go function executeSourceIpBlock (line 49) | func executeSourceIpBlock(cmd *base.Command, args []string) { FILE: main/commands/all/api/stats_get.go function executeGetStats (line 36) | func executeGetStats(cmd *base.Command, args []string) { FILE: main/commands/all/api/stats_get_all_online_users.go function executeGetAllOnlineUsers (line 30) | func executeGetAllOnlineUsers(cmd *base.Command, args []string) { FILE: main/commands/all/api/stats_online.go function executeOnlineStats (line 33) | func executeOnlineStats(cmd *base.Command, args []string) { FILE: main/commands/all/api/stats_online_ip_list.go function executeOnlineStatsIpList (line 33) | func executeOnlineStatsIpList(cmd *base.Command, args []string) { FILE: main/commands/all/api/stats_query.go function executeQueryStats (line 36) | func executeQueryStats(cmd *base.Command, args []string) { FILE: main/commands/all/api/stats_sys.go function executeSysStats (line 30) | func executeSysStats(cmd *base.Command, args []string) { FILE: main/commands/all/buildmphcache.go function init (line 21) | func init() { function executeBuildMphCache (line 30) | func executeBuildMphCache(cmd *base.Command, args []string) { FILE: main/commands/all/commands.go function init (line 10) | func init() { FILE: main/commands/all/convert/json.go function executeTypedMessageToJson (line 40) | func executeTypedMessageToJson(cmd *base.Command, args []string) { FILE: main/commands/all/convert/protobuf.go function executeConvertConfigsToProtobuf (line 43) | func executeConvertConfigsToProtobuf(cmd *base.Command, args []string) { FILE: main/commands/all/curve25519.go function Curve25519Genkey (line 12) | func Curve25519Genkey(StdEncoding bool, input_base64 string) { function genCurve25519 (line 39) | func genCurve25519(inputPrivateKey []byte) (privateKey []byte, password ... FILE: main/commands/all/mldsa65.go function init (line 24) | func init() { function executeMLDSA65 (line 30) | func executeMLDSA65(cmd *base.Command, args []string) { FILE: main/commands/all/mlkem768.go function init (line 25) | func init() { function executeMLKEM768 (line 31) | func executeMLKEM768(cmd *base.Command, args []string) { function genMLKEM768 (line 50) | func genMLKEM768(inputSeed *[64]byte) (seed [64]byte, client []byte, has... FILE: main/commands/all/tls/cert.go function init (line 49) | func init() { function executeCert (line 68) | func executeCert(cmd *base.Command, args []string) { function printJSON (line 98) | func printJSON(certificate *cert.Certificate) { function writeFile (line 110) | func writeFile(content []byte, name string) error { function printFile (line 120) | func printFile(certificate *cert.Certificate, name string) error { type stringList (line 129) | type stringList method String (line 131) | func (l *stringList) String() string { method Set (line 135) | func (l *stringList) Set(v string) error { type jsonCert (line 143) | type jsonCert struct FILE: main/commands/all/tls/ech.go function init (line 30) | func init() { function executeECH (line 40) | func executeECH(cmd *base.Command, args []string) { type EchConfig (line 98) | type EchConfig struct type EchCipher (line 109) | type EchCipher struct type Extension (line 114) | type Extension struct function marshalBinary (line 120) | func marshalBinary(ech EchConfig) ([]byte, error) { constant ExtensionEncryptedClientHello (line 147) | ExtensionEncryptedClientHello = 0xfe0d function generateECHKeySet (line 149) | func generateECHKeySet(configID uint8, domain string, kem uint16) (EchCo... FILE: main/commands/all/tls/hash.go function init (line 25) | func init() { function executeHash (line 31) | func executeHash(cmd *base.Command, args []string) { FILE: main/commands/all/tls/ping.go function init (line 34) | func init() { function executePing (line 40) | func executePing(cmd *base.Command, args []string) { function printCertificates (line 126) | func printCertificates(tabWriter *tabwriter.Writer, certs []*x509.Certif... function printTLSConnDetail (line 150) | func printTLSConnDetail(tabWriter *tabwriter.Writer, tlsConn *utls.UConn) { FILE: main/commands/all/uuid.go function init (line 22) | func init() { function executeUUID (line 28) | func executeUUID(cmd *base.Command, args []string) { FILE: main/commands/all/vlessenc.go function init (line 19) | func init() { function executeVLESSEnc (line 23) | func executeVLESSEnc(cmd *base.Command, args []string) { function generateDotConfig (line 39) | func generateDotConfig(fields ...string) string { FILE: main/commands/all/wg.go function init (line 19) | func init() { function executeWG (line 25) | func executeWG(cmd *base.Command, args []string) { FILE: main/commands/all/x25519.go function init (line 20) | func init() { function executeX25519 (line 27) | func executeX25519(cmd *base.Command, args []string) { FILE: main/commands/base/command.go type Command (line 19) | type Command struct method LongName (line 54) | func (c *Command) LongName() string { method Name (line 68) | func (c *Command) Name() string { method Usage (line 77) | func (c *Command) Usage() { method Runnable (line 87) | func (c *Command) Runnable() bool { function Exit (line 92) | func Exit() { function Fatalf (line 97) | func Fatalf(format string, args ...interface{}) { function Errorf (line 103) | func Errorf(format string, args ...interface{}) { function ExitIfErrors (line 110) | func ExitIfErrors() { function SetExitStatus (line 122) | func SetExitStatus(n int) { function GetExitStatus (line 131) | func GetExitStatus() int { FILE: main/commands/base/env.go type CommandEnvHolder (line 4) | type CommandEnvHolder struct function init (line 14) | func init() { FILE: main/commands/base/execute.go function Execute (line 16) | func Execute() { function Sort (line 79) | func Sort() { FILE: main/commands/base/help.go function Help (line 20) | func Help(w io.Writer, args []string) { type errWriter (line 79) | type errWriter struct method Write (line 84) | func (w *errWriter) Write(b []byte) (int, error) { function tmpl (line 93) | func tmpl(w io.Writer, text string, data interface{}) { function capitalize (line 112) | func capitalize(s string) string { function width (line 120) | func width(width int, value string) string { function PrintUsage (line 126) | func PrintUsage(w io.Writer, cmd *Command) { function buildCommandText (line 134) | func buildCommandText(cmd *Command) { function buildText (line 144) | func buildText(text string, data interface{}) string { type tmplData (line 150) | type tmplData struct function makeTmplData (line 155) | func makeTmplData(cmd *Command) tmplData { FILE: main/commands/base/root.go function init (line 6) | func init() { function RegisterCommand (line 14) | func RegisterCommand(cmd *Command) { FILE: main/confloader/confloader.go type configFileLoader (line 12) | type configFileLoader function LoadConfig (line 21) | func LoadConfig(file string) (io.Reader, error) { FILE: main/confloader/external/external.go function ConfigLoader (line 19) | func ConfigLoader(arg string) (out io.Reader, err error) { function FetchHTTPContent (line 42) | func FetchHTTPContent(target string) ([]byte, error) { function FetchUnixSocketHTTPContent (line 78) | func FetchUnixSocketHTTPContent(target string) ([]byte, error) { function init (line 131) | func init() { FILE: main/json/json.go function init (line 16) | func init() { FILE: main/main.go function main (line 11) | func main() { function getArgsV4Compatible (line 25) | func getArgsV4Compatible() []string { type null (line 57) | type null struct method Write (line 59) | func (n *null) Write(p []byte) (int, error) { FILE: main/main_test.go function TestRunMainForCoverage (line 10) | func TestRunMainForCoverage(t *testing.T) { FILE: main/run.go function init (line 46) | func init() { function executeRun (line 70) | func executeRun(cmd *base.Command, args []string) { function dumpConfig (line 113) | func dumpConfig() int { function fileExists (line 125) | func fileExists(file string) bool { function dirExists (line 130) | func dirExists(file string) bool { function getRegepxByFormat (line 138) | func getRegepxByFormat() string { function readConfDir (line 151) | func readConfDir(dirPath string) { function getConfigFilePath (line 167) | func getConfigFilePath(verbose bool) cmdarg.Arg { function getConfigFormat (line 210) | func getConfigFormat() string { function startXray (line 218) | func startXray() (core.Server, error) { FILE: main/toml/toml.go function init (line 16) | func init() { FILE: main/version.go function executeVersion (line 18) | func executeVersion(cmd *base.Command, args []string) { function printVersion (line 22) | func printVersion() { FILE: main/yaml/yaml.go function init (line 16) | func init() { FILE: proxy/blackhole/blackhole.go type Handler (line 15) | type Handler struct method Process (line 31) | func (h *Handler) Process(ctx context.Context, link *transport.Link, d... function New (line 20) | func New(ctx context.Context, config *Config) (*Handler, error) { function init (line 45) | func init() { FILE: proxy/blackhole/blackhole_test.go function TestBlackholeHTTPResponse (line 16) | func TestBlackholeHTTPResponse(t *testing.T) { FILE: proxy/blackhole/config.go constant http403response (line 9) | http403response = `HTTP/1.1 403 Forbidden type ResponseConfig (line 19) | type ResponseConfig interface method WriteTo (line 25) | func (*NoneResponse) WriteTo(buf.Writer) int32 { return 0 } method WriteTo (line 28) | func (*HTTPResponse) WriteTo(writer buf.Writer) int32 { method GetInternalResponse (line 37) | func (c *Config) GetInternalResponse() (ResponseConfig, error) { FILE: proxy/blackhole/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type NoneResponse (line 25) | type NoneResponse struct method Reset (line 31) | func (x *NoneResponse) Reset() { method String (line 38) | func (x *NoneResponse) String() string { method ProtoMessage (line 42) | func (*NoneResponse) ProtoMessage() {} method ProtoReflect (line 44) | func (x *NoneResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*NoneResponse) Descriptor() ([]byte, []int) { type HTTPResponse (line 61) | type HTTPResponse struct method Reset (line 67) | func (x *HTTPResponse) Reset() { method String (line 74) | func (x *HTTPResponse) String() string { method ProtoMessage (line 78) | func (*HTTPResponse) ProtoMessage() {} method ProtoReflect (line 80) | func (x *HTTPResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 93) | func (*HTTPResponse) Descriptor() ([]byte, []int) { type Config (line 97) | type Config struct method Reset (line 104) | func (x *Config) Reset() { method String (line 111) | func (x *Config) String() string { method ProtoMessage (line 115) | func (*Config) ProtoMessage() {} method ProtoReflect (line 117) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 130) | func (*Config) Descriptor() ([]byte, []int) { method GetResponse (line 134) | func (x *Config) GetResponse() *serial.TypedMessage { constant file_proxy_blackhole_config_proto_rawDesc (line 143) | file_proxy_blackhole_config_proto_rawDesc = "" + function file_proxy_blackhole_config_proto_rawDescGZIP (line 157) | func file_proxy_blackhole_config_proto_rawDescGZIP() []byte { function init (line 180) | func init() { file_proxy_blackhole_config_proto_init() } function file_proxy_blackhole_config_proto_init (line 181) | func file_proxy_blackhole_config_proto_init() { FILE: proxy/blackhole/config_test.go function TestHTTPResponse (line 13) | func TestHTTPResponse(t *testing.T) { FILE: proxy/dns/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 25) | type Config struct method Reset (line 37) | func (x *Config) Reset() { method String (line 44) | func (x *Config) String() string { method ProtoMessage (line 48) | func (*Config) ProtoMessage() {} method ProtoReflect (line 50) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 63) | func (*Config) Descriptor() ([]byte, []int) { method GetServer (line 67) | func (x *Config) GetServer() *net.Endpoint { method GetUserLevel (line 74) | func (x *Config) GetUserLevel() uint32 { method GetNon_IPQuery (line 81) | func (x *Config) GetNon_IPQuery() string { method GetBlockTypes (line 88) | func (x *Config) GetBlockTypes() []int32 { constant file_proxy_dns_config_proto_rawDesc (line 97) | file_proxy_dns_config_proto_rawDesc = "" + function file_proxy_dns_config_proto_rawDescGZIP (line 115) | func file_proxy_dns_config_proto_rawDescGZIP() []byte { function init (line 136) | func init() { file_proxy_dns_config_proto_init() } function file_proxy_dns_config_proto_init (line 137) | func file_proxy_dns_config_proto_init() { FILE: proxy/dns/dns.go function init (line 28) | func init() { type ownLinkVerifier (line 43) | type ownLinkVerifier interface type Handler (line 47) | type Handler struct method Init (line 57) | func (h *Handler) Init(config *Config, dnsClient dns.Client, policyMan... method isOwnLink (line 76) | func (h *Handler) isOwnLink(ctx context.Context) bool { method Process (line 105) | func (h *Handler) Process(ctx context.Context, link *transport.Link, d... method handleIPQuery (line 262) | func (h *Handler) handleIPQuery(id uint16, qType dnsmessage.Type, doma... method rejectNonIPQuery (line 347) | func (h *Handler) rejectNonIPQuery(id uint16, qType dnsmessage.Type, d... function parseIPQuery (line 80) | func parseIPQuery(b []byte) (r bool, domain string, id uint16, qType dns... type outboundConn (line 390) | type outboundConn struct method dial (line 399) | func (c *outboundConn) dial() error { method Write (line 409) | func (c *outboundConn) Write(b []byte) (int, error) { method Read (line 429) | func (c *outboundConn) Read(b []byte) (int, error) { method Close (line 448) | func (c *outboundConn) Close() error { FILE: proxy/dns/dns_test.go type staticHandler (line 26) | type staticHandler struct method ServeDNS (line 28) | func (*staticHandler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { function TestUDPDNSTunnel (line 76) | func TestUDPDNSTunnel(t *testing.T) { function TestTCPDNSTunnel (line 196) | func TestTCPDNSTunnel(t *testing.T) { function TestUDP2TCPDNSTunnel (line 282) | func TestUDP2TCPDNSTunnel(t *testing.T) { FILE: proxy/dokodemo/config.go method GetPredefinedAddress (line 8) | func (v *Config) GetPredefinedAddress() net.Address { FILE: proxy/dokodemo/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 25) | type Config struct method Reset (line 38) | func (x *Config) Reset() { method String (line 45) | func (x *Config) String() string { method ProtoMessage (line 49) | func (*Config) ProtoMessage() {} method ProtoReflect (line 51) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 64) | func (*Config) Descriptor() ([]byte, []int) { method GetAddress (line 68) | func (x *Config) GetAddress() *net.IPOrDomain { method GetPort (line 75) | func (x *Config) GetPort() uint32 { method GetPortMap (line 82) | func (x *Config) GetPortMap() map[string]string { method GetNetworks (line 89) | func (x *Config) GetNetworks() []net.Network { method GetFollowRedirect (line 96) | func (x *Config) GetFollowRedirect() bool { method GetUserLevel (line 103) | func (x *Config) GetUserLevel() uint32 { constant file_proxy_dokodemo_config_proto_rawDesc (line 112) | file_proxy_dokodemo_config_proto_rawDesc = "" + function file_proxy_dokodemo_config_proto_rawDescGZIP (line 133) | func file_proxy_dokodemo_config_proto_rawDescGZIP() []byte { function init (line 158) | func init() { file_proxy_dokodemo_config_proto_init() } function file_proxy_dokodemo_config_proto_init (line 159) | func file_proxy_dokodemo_config_proto_init() { FILE: proxy/dokodemo/dokodemo.go function init (line 23) | func init() { type DokodemoDoor (line 33) | type DokodemoDoor struct method Init (line 43) | func (d *DokodemoDoor) Init(config *Config, pm policy.Manager, sockopt... method Network (line 58) | func (d *DokodemoDoor) Network() []net.Network { method policy (line 62) | func (d *DokodemoDoor) policy() policy.Session { method Process (line 69) | func (d *DokodemoDoor) Process(ctx context.Context, network net.Networ... function NewPacketWriter (line 194) | func NewPacketWriter(conn net.PacketConn, d *net.Destination, mark int, ... type PacketWriter (line 205) | type PacketWriter struct method WriteMultiBuffer (line 212) | func (w *PacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { method Close (line 256) | func (w *PacketWriter) Close() error { FILE: proxy/dokodemo/fakeudp_linux.go function FakeUDP (line 15) | func FakeUDP(addr *net.UDPAddr, mark int) (net.PacketConn, error) { FILE: proxy/dokodemo/fakeudp_other.go function FakeUDP (line 11) | func FakeUDP(addr *net.UDPAddr, mark int) (net.PacketConn, error) { FILE: proxy/freedom/config.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type DestinationOverride (line 26) | type DestinationOverride struct method Reset (line 33) | func (x *DestinationOverride) Reset() { method String (line 40) | func (x *DestinationOverride) String() string { method ProtoMessage (line 44) | func (*DestinationOverride) ProtoMessage() {} method ProtoReflect (line 46) | func (x *DestinationOverride) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*DestinationOverride) Descriptor() ([]byte, []int) { method GetServer (line 63) | func (x *DestinationOverride) GetServer() *protocol.ServerEndpoint { type Fragment (line 70) | type Fragment struct method Reset (line 84) | func (x *Fragment) Reset() { method String (line 91) | func (x *Fragment) String() string { method ProtoMessage (line 95) | func (*Fragment) ProtoMessage() {} method ProtoReflect (line 97) | func (x *Fragment) ProtoReflect() protoreflect.Message { method Descriptor (line 110) | func (*Fragment) Descriptor() ([]byte, []int) { method GetPacketsFrom (line 114) | func (x *Fragment) GetPacketsFrom() uint64 { method GetPacketsTo (line 121) | func (x *Fragment) GetPacketsTo() uint64 { method GetLengthMin (line 128) | func (x *Fragment) GetLengthMin() uint64 { method GetLengthMax (line 135) | func (x *Fragment) GetLengthMax() uint64 { method GetIntervalMin (line 142) | func (x *Fragment) GetIntervalMin() uint64 { method GetIntervalMax (line 149) | func (x *Fragment) GetIntervalMax() uint64 { method GetMaxSplitMin (line 156) | func (x *Fragment) GetMaxSplitMin() uint64 { method GetMaxSplitMax (line 163) | func (x *Fragment) GetMaxSplitMax() uint64 { type Noise (line 170) | type Noise struct method Reset (line 182) | func (x *Noise) Reset() { method String (line 189) | func (x *Noise) String() string { method ProtoMessage (line 193) | func (*Noise) ProtoMessage() {} method ProtoReflect (line 195) | func (x *Noise) ProtoReflect() protoreflect.Message { method Descriptor (line 208) | func (*Noise) Descriptor() ([]byte, []int) { method GetLengthMin (line 212) | func (x *Noise) GetLengthMin() uint64 { method GetLengthMax (line 219) | func (x *Noise) GetLengthMax() uint64 { method GetDelayMin (line 226) | func (x *Noise) GetDelayMin() uint64 { method GetDelayMax (line 233) | func (x *Noise) GetDelayMax() uint64 { method GetPacket (line 240) | func (x *Noise) GetPacket() []byte { method GetApplyTo (line 247) | func (x *Noise) GetApplyTo() string { type Config (line 254) | type Config struct method Reset (line 266) | func (x *Config) Reset() { method String (line 273) | func (x *Config) String() string { method ProtoMessage (line 277) | func (*Config) ProtoMessage() {} method ProtoReflect (line 279) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 292) | func (*Config) Descriptor() ([]byte, []int) { method GetDomainStrategy (line 296) | func (x *Config) GetDomainStrategy() internet.DomainStrategy { method GetDestinationOverride (line 303) | func (x *Config) GetDestinationOverride() *DestinationOverride { method GetUserLevel (line 310) | func (x *Config) GetUserLevel() uint32 { method GetFragment (line 317) | func (x *Config) GetFragment() *Fragment { method GetProxyProtocol (line 324) | func (x *Config) GetProxyProtocol() uint32 { method GetNoises (line 331) | func (x *Config) GetNoises() []*Noise { constant file_proxy_freedom_config_proto_rawDesc (line 340) | file_proxy_freedom_config_proto_rawDesc = "" + function file_proxy_freedom_config_proto_rawDescGZIP (line 381) | func file_proxy_freedom_config_proto_rawDescGZIP() []byte { function init (line 410) | func init() { file_proxy_freedom_config_proto_init() } function file_proxy_freedom_config_proto_init (line 411) | func file_proxy_freedom_config_proto_init() { FILE: proxy/freedom/freedom.go function init (line 33) | func init() { type Handler (line 52) | type Handler struct method Init (line 58) | func (h *Handler) Init(config *Config, pm policy.Manager) error { method policy (line 64) | func (h *Handler) policy() policy.Session { method Process (line 79) | func (h *Handler) Process(ctx context.Context, link *transport.Link, d... function isValidAddress (line 69) | func isValidAddress(addr *net.IPOrDomain) bool { function NewPacketReader (line 246) | func NewPacketReader(conn net.Conn, UDPOverride net.Destination, DialDes... type PacketReader (line 273) | type PacketReader struct method ReadMultiBuffer (line 281) | func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) { function NewPacketWriter (line 310) | func NewPacketWriter(conn net.Conn, h *Handler, UDPOverride net.Destinat... type PacketWriter (line 340) | type PacketWriter struct method WriteMultiBuffer (line 354) | func (w *PacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { type NoisePacketWriter (line 423) | type NoisePacketWriter struct method WriteMultiBuffer (line 432) | func (w *NoisePacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { type FragmentWriter (line 483) | type FragmentWriter struct method Write (line 489) | func (f *FragmentWriter) Write(b []byte) (int, error) { function GenerateRandomBytes (line 570) | func GenerateRandomBytes(n int64) ([]byte, error) { FILE: proxy/http/client.go type Client (line 34) | type Client struct method Process (line 69) | func (c *Client) Process(ctx context.Context, link *transport.Link, di... type h2Conn (line 40) | type h2Conn struct function NewClient (line 51) | func NewClient(ctx context.Context, config *ClientConfig) (*Client, erro... function fillRequestHeader (line 167) | func fillRequestHeader(ctx context.Context, header []*Header) ([]*Header... function setUpHTTPTunnel (line 206) | func setUpHTTPTunnel(ctx context.Context, dest net.Destination, target s... function newHTTP2Conn (line 354) | func newHTTP2Conn(c net.Conn, pipedReqBody *io.PipeWriter, respBody io.R... type http2Conn (line 358) | type http2Conn struct method Read (line 364) | func (h *http2Conn) Read(p []byte) (n int, err error) { method Write (line 368) | func (h *http2Conn) Write(p []byte) (n int, err error) { method Close (line 372) | func (h *http2Conn) Close() error { function init (line 377) | func init() { FILE: proxy/http/config.go method Equals (line 9) | func (a *Account) Equals(another protocol.Account) bool { method ToProto (line 16) | func (a *Account) ToProto() proto.Message { method AsAccount (line 20) | func (a *Account) AsAccount() (protocol.Account, error) { method HasAccount (line 24) | func (sc *ServerConfig) HasAccount(username, password string) bool { FILE: proxy/http/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Account (line 25) | type Account struct method Reset (line 33) | func (x *Account) Reset() { method String (line 40) | func (x *Account) String() string { method ProtoMessage (line 44) | func (*Account) ProtoMessage() {} method ProtoReflect (line 46) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*Account) Descriptor() ([]byte, []int) { method GetUsername (line 63) | func (x *Account) GetUsername() string { method GetPassword (line 70) | func (x *Account) GetPassword() string { type ServerConfig (line 78) | type ServerConfig struct method Reset (line 87) | func (x *ServerConfig) Reset() { method String (line 94) | func (x *ServerConfig) String() string { method ProtoMessage (line 98) | func (*ServerConfig) ProtoMessage() {} method ProtoReflect (line 100) | func (x *ServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 113) | func (*ServerConfig) Descriptor() ([]byte, []int) { method GetAccounts (line 117) | func (x *ServerConfig) GetAccounts() map[string]string { method GetAllowTransparent (line 124) | func (x *ServerConfig) GetAllowTransparent() bool { method GetUserLevel (line 131) | func (x *ServerConfig) GetUserLevel() uint32 { type Header (line 138) | type Header struct method Reset (line 146) | func (x *Header) Reset() { method String (line 153) | func (x *Header) String() string { method ProtoMessage (line 157) | func (*Header) ProtoMessage() {} method ProtoReflect (line 159) | func (x *Header) ProtoReflect() protoreflect.Message { method Descriptor (line 172) | func (*Header) Descriptor() ([]byte, []int) { method GetKey (line 176) | func (x *Header) GetKey() string { method GetValue (line 183) | func (x *Header) GetValue() string { type ClientConfig (line 191) | type ClientConfig struct method Reset (line 200) | func (x *ClientConfig) Reset() { method String (line 207) | func (x *ClientConfig) String() string { method ProtoMessage (line 211) | func (*ClientConfig) ProtoMessage() {} method ProtoReflect (line 213) | func (x *ClientConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 226) | func (*ClientConfig) Descriptor() ([]byte, []int) { method GetServer (line 230) | func (x *ClientConfig) GetServer() *protocol.ServerEndpoint { method GetHeader (line 237) | func (x *ClientConfig) GetHeader() []*Header { constant file_proxy_http_config_proto_rawDesc (line 246) | file_proxy_http_config_proto_rawDesc = "" + function file_proxy_http_config_proto_rawDescGZIP (line 273) | func file_proxy_http_config_proto_rawDescGZIP() []byte { function init (line 300) | func init() { file_proxy_http_config_proto_init() } function file_proxy_http_config_proto_init (line 301) | func file_proxy_http_config_proto_init() { FILE: proxy/http/server.go type Server (line 31) | type Server struct method policy (line 47) | func (s *Server) policy() policy.Session { method Network (line 54) | func (*Server) Network() []net.Network { method Process (line 84) | func (s *Server) Process(ctx context.Context, network net.Network, con... method ProcessWithFirstbyte (line 92) | func (s *Server) ProcessWithFirstbyte(ctx context.Context, network net... method handleConnect (line 176) | func (s *Server) handleConnect(ctx context.Context, _ *http.Request, b... method handlePlainHTTP (line 206) | func (s *Server) handlePlainHTTP(ctx context.Context, request *http.Re... function NewServer (line 37) | func NewServer(ctx context.Context, config *ServerConfig) (*Server, erro... function isTimeout (line 58) | func isTimeout(err error) bool { function parseBasicAuth (line 63) | func parseBasicAuth(auth string) (username, password string, ok bool) { type readerOnly (line 80) | type readerOnly struct function readResponseAndHandle100Continue (line 316) | func readResponseAndHandle100Continue(r *bufio.Reader, req *http.Request... function init (line 346) | func init() { FILE: proxy/hysteria/account/config.go method AsAccount (line 12) | func (a *Account) AsAccount() (protocol.Account, error) { type MemoryAccount (line 18) | type MemoryAccount struct method Equals (line 22) | func (a *MemoryAccount) Equals(another protocol.Account) bool { method ToProto (line 29) | func (a *MemoryAccount) ToProto() proto.Message { type Validator (line 35) | type Validator struct method Add (line 49) | func (v *Validator) Add(u *protocol.MemoryUser) error { method Del (line 64) | func (v *Validator) Del(email string) error { method Get (line 86) | func (v *Validator) Get(auth string) *protocol.MemoryUser { method GetByEmail (line 93) | func (v *Validator) GetByEmail(email string) *protocol.MemoryUser { method GetAll (line 112) | func (v *Validator) GetAll() []*protocol.MemoryUser { method GetCount (line 124) | func (v *Validator) GetCount() int64 { function NewValidator (line 42) | func NewValidator() *Validator { FILE: proxy/hysteria/account/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Account (line 24) | type Account struct method Reset (line 31) | func (x *Account) Reset() { method String (line 38) | func (x *Account) String() string { method ProtoMessage (line 42) | func (*Account) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Account) Descriptor() ([]byte, []int) { method GetAuth (line 61) | func (x *Account) GetAuth() string { constant file_proxy_hysteria_account_config_proto_rawDesc (line 70) | file_proxy_hysteria_account_config_proto_rawDesc = "" + function file_proxy_hysteria_account_config_proto_rawDescGZIP (line 82) | func file_proxy_hysteria_account_config_proto_rawDescGZIP() []byte { function init (line 101) | func init() { file_proxy_hysteria_account_config_proto_init() } function file_proxy_hysteria_account_config_proto_init (line 102) | func file_proxy_hysteria_account_config_proto_init() { FILE: proxy/hysteria/client.go type Client (line 27) | type Client struct method Process (line 49) | func (c *Client) Process(ctx context.Context, link *transport.Link, di... function NewClient (line 32) | func NewClient(ctx context.Context, config *ClientConfig) (*Client, erro... function init (line 169) | func init() { type UDPWriter (line 175) | type UDPWriter struct method sendMsg (line 181) | func (w *UDPWriter) sendMsg(msg *UDPMessage) error { method WriteMultiBuffer (line 190) | func (w *UDPWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { type UDPReader (line 237) | type UDPReader struct method ReadMultiBuffer (line 245) | func (r *UDPReader) ReadMultiBuffer() (buf.MultiBuffer, error) { FILE: proxy/hysteria/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type ClientConfig (line 25) | type ClientConfig struct method Reset (line 33) | func (x *ClientConfig) Reset() { method String (line 40) | func (x *ClientConfig) String() string { method ProtoMessage (line 44) | func (*ClientConfig) ProtoMessage() {} method ProtoReflect (line 46) | func (x *ClientConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*ClientConfig) Descriptor() ([]byte, []int) { method GetVersion (line 63) | func (x *ClientConfig) GetVersion() int32 { method GetServer (line 70) | func (x *ClientConfig) GetServer() *protocol.ServerEndpoint { type ServerConfig (line 77) | type ServerConfig struct method Reset (line 84) | func (x *ServerConfig) Reset() { method String (line 91) | func (x *ServerConfig) String() string { method ProtoMessage (line 95) | func (*ServerConfig) ProtoMessage() {} method ProtoReflect (line 97) | func (x *ServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 110) | func (*ServerConfig) Descriptor() ([]byte, []int) { method GetUsers (line 114) | func (x *ServerConfig) GetUsers() []*protocol.User { constant file_proxy_hysteria_config_proto_rawDesc (line 123) | file_proxy_hysteria_config_proto_rawDesc = "" + function file_proxy_hysteria_config_proto_rawDescGZIP (line 138) | func file_proxy_hysteria_config_proto_rawDescGZIP() []byte { function init (line 162) | func init() { file_proxy_hysteria_config_proto_init() } function file_proxy_hysteria_config_proto_init (line 163) | func file_proxy_hysteria_config_proto_init() { FILE: proxy/hysteria/ctx/ctx.go type key (line 9) | type key constant requireDatagram (line 12) | requireDatagram key = iota constant validator (line 13) | validator function ContextWithRequireDatagram (line 16) | func ContextWithRequireDatagram(ctx context.Context, udp bool) context.C... function RequireDatagramFromContext (line 23) | func RequireDatagramFromContext(ctx context.Context) bool { function ContextWithValidator (line 28) | func ContextWithValidator(ctx context.Context, v *account.Validator) con... function ValidatorFromContext (line 32) | func ValidatorFromContext(ctx context.Context) *account.Validator { FILE: proxy/hysteria/frag.go function FragUDPMessage (line 3) | func FragUDPMessage(m *UDPMessage, maxSize int) []UDPMessage { type Defragger (line 33) | type Defragger struct method Feed (line 40) | func (d *Defragger) Feed(m *UDPMessage) *UDPMessage { FILE: proxy/hysteria/protocol.go constant MaxAddressLength (line 16) | MaxAddressLength = 2048 constant MaxMessageLength (line 17) | MaxMessageLength = 2048 constant MaxPaddingLength (line 18) | MaxPaddingLength = 4096 constant MaxUDPSize (line 20) | MaxUDPSize = 4096 constant maxVarInt1 (line 22) | maxVarInt1 = 63 constant maxVarInt2 (line 23) | maxVarInt2 = 16383 constant maxVarInt4 (line 24) | maxVarInt4 = 1073741823 constant maxVarInt8 (line 25) | maxVarInt8 = 4611686018427387903 function ReadTCPRequest (line 34) | func ReadTCPRequest(r io.Reader) (string, error) { function WriteTCPRequest (line 64) | func WriteTCPRequest(w io.Writer, addr string) error { function ReadTCPResponse (line 86) | func ReadTCPResponse(r io.Reader) (bool, string, error) { function WriteTCPResponse (line 124) | func WriteTCPResponse(w io.Writer, ok bool, msg string) error { type UDPMessage (line 153) | type UDPMessage struct method HeaderSize (line 162) | func (m *UDPMessage) HeaderSize() int { method Size (line 167) | func (m *UDPMessage) Size() int { method Serialize (line 171) | func (m *UDPMessage) Serialize(buf []byte) int { function ParseUDPMessage (line 186) | func ParseUDPMessage(msg []byte) (*UDPMessage, error) { function varintPut (line 220) | func varintPut(b []byte, i uint64) int { FILE: proxy/hysteria/server.go type Server (line 24) | type Server struct method HysteriaInboundValidator (line 53) | func (s *Server) HysteriaInboundValidator() *account.Validator { method AddUser (line 57) | func (s *Server) AddUser(ctx context.Context, u *protocol.MemoryUser) ... method RemoveUser (line 61) | func (s *Server) RemoveUser(ctx context.Context, e string) error { method GetUser (line 65) | func (s *Server) GetUser(ctx context.Context, email string) *protocol.... method GetUsers (line 69) | func (s *Server) GetUsers(ctx context.Context) []*protocol.MemoryUser { method GetUsersCount (line 73) | func (s *Server) GetUsersCount(context.Context) int64 { method Network (line 77) | func (s *Server) Network() []net.Network { method Process (line 81) | func (s *Server) Process(ctx context.Context, network net.Network, con... function NewServer (line 30) | func NewServer(ctx context.Context, config *ServerConfig) (*Server, erro... function init (line 194) | func init() { FILE: proxy/loopback/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 31) | func (x *Config) Reset() { method String (line 38) | func (x *Config) String() string { method ProtoMessage (line 42) | func (*Config) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Config) Descriptor() ([]byte, []int) { method GetInboundTag (line 61) | func (x *Config) GetInboundTag() string { constant file_proxy_loopback_config_proto_rawDesc (line 70) | file_proxy_loopback_config_proto_rawDesc = "" + function file_proxy_loopback_config_proto_rawDescGZIP (line 83) | func file_proxy_loopback_config_proto_rawDescGZIP() []byte { function init (line 102) | func init() { file_proxy_loopback_config_proto_init() } function file_proxy_loopback_config_proto_init (line 103) | func file_proxy_loopback_config_proto_init() { FILE: proxy/loopback/loopback.go type Loopback (line 20) | type Loopback struct method Process (line 25) | func (l *Loopback) Process(ctx context.Context, link *transport.Link, ... method init (line 110) | func (l *Loopback) init(config *Config, dispatcherInstance routing.Dis... function init (line 116) | func init() { FILE: proxy/proxy.go constant TlsHandshakeTypeClientHello (line 53) | TlsHandshakeTypeClientHello byte = 0x01 constant TlsHandshakeTypeServerHello (line 54) | TlsHandshakeTypeServerHello byte = 0x02 constant CommandPaddingContinue (line 56) | CommandPaddingContinue byte = 0x00 constant CommandPaddingEnd (line 57) | CommandPaddingEnd byte = 0x01 constant CommandPaddingDirect (line 58) | CommandPaddingDirect byte = 0x02 type Inbound (line 62) | type Inbound interface type Outbound (line 71) | type Outbound interface type UserManager (line 77) | type UserManager interface type GetInbound (line 94) | type GetInbound interface type GetOutbound (line 98) | type GetOutbound interface type TrafficState (line 104) | type TrafficState struct type InboundState (line 116) | type InboundState struct type OutboundState (line 129) | type OutboundState struct function NewTrafficState (line 142) | func NewTrafficState(userUUID []byte) *TrafficState { type VisionReader (line 176) | type VisionReader struct method ReadMultiBuffer (line 203) | func (w *VisionReader) ReadMultiBuffer() (buf.MultiBuffer, error) { function NewVisionReader (line 190) | func NewVisionReader(reader buf.Reader, trafficState *TrafficState, isUp... type VisionWriter (line 289) | type VisionWriter struct method WriteMultiBuffer (line 322) | func (w *VisionWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { function NewVisionWriter (line 304) | func NewVisionWriter(writer buf.Writer, trafficState *TrafficState, isUp... function IsCompleteRecord (line 398) | func IsCompleteRecord(buffer buf.MultiBuffer) bool { function ReshapeMultiBuffer (line 452) | func ReshapeMultiBuffer(ctx context.Context, buffer buf.MultiBuffer) buf... function XtlsPadding (line 487) | func XtlsPadding(b *buf.Buffer, command byte, userUUID *[]byte, longPadd... function XtlsUnpadding (line 526) | func XtlsUnpadding(b *buf.Buffer, s *TrafficState, isUplink bool, ctx co... function XtlsFilterTls (line 610) | func XtlsFilterTls(buffer buf.MultiBuffer, trafficState *TrafficState, c... function UnwrapRawConn (line 664) | func UnwrapRawConn(conn net.Conn) (net.Conn, stats.Counter, stats.Counte... function CopyRawConnIfExist (line 709) | func CopyRawConnIfExist(ctx context.Context, readerConn net.Conn, writer... function readV (line 786) | func readV(ctx context.Context, reader buf.Reader, writer buf.Writer, ti... function IsRAWTransportWithoutSecurity (line 794) | func IsRAWTransportWithoutSecurity(conn stat.Connection) bool { FILE: proxy/shadowsocks/client.go type Client (line 24) | type Client struct method Process (line 48) | func (c *Client) Process(ctx context.Context, link *transport.Link, di... function NewClient (line 30) | func NewClient(ctx context.Context, config *ClientConfig) (*Client, erro... function init (line 197) | func init() { FILE: proxy/shadowsocks/config.go type MemoryAccount (line 22) | type MemoryAccount struct method Equals (line 32) | func (a *MemoryAccount) Equals(another protocol.Account) bool { method ToProto (line 39) | func (a *MemoryAccount) ToProto() proto.Message { function createAesGcm (line 46) | func createAesGcm(key []byte) cipher.AEAD { function createChaCha20Poly1305 (line 50) | func createChaCha20Poly1305(key []byte) cipher.AEAD { function createXChaCha20Poly1305 (line 56) | func createXChaCha20Poly1305(key []byte) cipher.AEAD { method getCipher (line 62) | func (a *Account) getCipher() (Cipher, error) { method AsAccount (line 96) | func (a *Account) AsAccount() (protocol.Account, error) { type Cipher (line 110) | type Cipher interface type AEADCipher (line 120) | type AEADCipher struct method IsAEAD (line 126) | func (*AEADCipher) IsAEAD() bool { method KeySize (line 130) | func (c *AEADCipher) KeySize() int32 { method IVSize (line 134) | func (c *AEADCipher) IVSize() int32 { method createAuthenticator (line 138) | func (c *AEADCipher) createAuthenticator(key []byte, iv []byte) *crypt... method NewEncryptionWriter (line 149) | func (c *AEADCipher) NewEncryptionWriter(key []byte, iv []byte, writer... method NewDecryptionReader (line 156) | func (c *AEADCipher) NewDecryptionReader(key []byte, iv []byte, reader... method EncodePacket (line 163) | func (c *AEADCipher) EncodePacket(key []byte, b *buf.Buffer) error { method DecodePacket (line 173) | func (c *AEADCipher) DecodePacket(key []byte, b *buf.Buffer) error { type NoneCipher (line 189) | type NoneCipher struct method KeySize (line 191) | func (NoneCipher) KeySize() int32 { return 0 } method IVSize (line 192) | func (NoneCipher) IVSize() int32 { return 0 } method IsAEAD (line 193) | func (NoneCipher) IsAEAD() bool { method NewDecryptionReader (line 197) | func (NoneCipher) NewDecryptionReader(key []byte, iv []byte, reader io... method NewEncryptionWriter (line 201) | func (NoneCipher) NewEncryptionWriter(key []byte, iv []byte, writer io... method EncodePacket (line 205) | func (NoneCipher) EncodePacket(key []byte, b *buf.Buffer) error { method DecodePacket (line 209) | func (NoneCipher) DecodePacket(key []byte, b *buf.Buffer) error { function passwordToCipherKey (line 213) | func passwordToCipherKey(password []byte, keySize int32) []byte { function hkdfSHA1 (line 230) | func hkdfSHA1(secret, salt, outKey []byte) { FILE: proxy/shadowsocks/config.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type CipherType (line 26) | type CipherType method Enum (line 57) | func (x CipherType) Enum() *CipherType { method String (line 63) | func (x CipherType) String() string { method Descriptor (line 67) | func (CipherType) Descriptor() protoreflect.EnumDescriptor { method Type (line 71) | func (CipherType) Type() protoreflect.EnumType { method Number (line 75) | func (x CipherType) Number() protoreflect.EnumNumber { method EnumDescriptor (line 80) | func (CipherType) EnumDescriptor() ([]byte, []int) { constant CipherType_UNKNOWN (line 29) | CipherType_UNKNOWN CipherType = 0 constant CipherType_AES_128_GCM (line 30) | CipherType_AES_128_GCM CipherType = 5 constant CipherType_AES_256_GCM (line 31) | CipherType_AES_256_GCM CipherType = 6 constant CipherType_CHACHA20_POLY1305 (line 32) | CipherType_CHACHA20_POLY1305 CipherType = 7 constant CipherType_XCHACHA20_POLY1305 (line 33) | CipherType_XCHACHA20_POLY1305 CipherType = 8 constant CipherType_NONE (line 34) | CipherType_NONE CipherType = 9 type Account (line 84) | type Account struct method Reset (line 93) | func (x *Account) Reset() { method String (line 100) | func (x *Account) String() string { method ProtoMessage (line 104) | func (*Account) ProtoMessage() {} method ProtoReflect (line 106) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 119) | func (*Account) Descriptor() ([]byte, []int) { method GetPassword (line 123) | func (x *Account) GetPassword() string { method GetCipherType (line 130) | func (x *Account) GetCipherType() CipherType { method GetIvCheck (line 137) | func (x *Account) GetIvCheck() bool { type ServerConfig (line 144) | type ServerConfig struct method Reset (line 152) | func (x *ServerConfig) Reset() { method String (line 159) | func (x *ServerConfig) String() string { method ProtoMessage (line 163) | func (*ServerConfig) ProtoMessage() {} method ProtoReflect (line 165) | func (x *ServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 178) | func (*ServerConfig) Descriptor() ([]byte, []int) { method GetUsers (line 182) | func (x *ServerConfig) GetUsers() []*protocol.User { method GetNetwork (line 189) | func (x *ServerConfig) GetNetwork() []net.Network { type ClientConfig (line 196) | type ClientConfig struct method Reset (line 203) | func (x *ClientConfig) Reset() { method String (line 210) | func (x *ClientConfig) String() string { method ProtoMessage (line 214) | func (*ClientConfig) ProtoMessage() {} method ProtoReflect (line 216) | func (x *ClientConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 229) | func (*ClientConfig) Descriptor() ([]byte, []int) { method GetServer (line 233) | func (x *ClientConfig) GetServer() *protocol.ServerEndpoint { constant file_proxy_shadowsocks_config_proto_rawDesc (line 242) | file_proxy_shadowsocks_config_proto_rawDesc = "" + function file_proxy_shadowsocks_config_proto_rawDescGZIP (line 270) | func file_proxy_shadowsocks_config_proto_rawDescGZIP() []byte { function init (line 300) | func init() { file_proxy_shadowsocks_config_proto_init() } function file_proxy_shadowsocks_config_proto_init (line 301) | func file_proxy_shadowsocks_config_proto_init() { FILE: proxy/shadowsocks/config_test.go function TestAEADCipherUDP (line 13) | func TestAEADCipherUDP(t *testing.T) { FILE: proxy/shadowsocks/protocol.go constant Version (line 21) | Version = 1 type FullReader (line 33) | type FullReader struct method Read (line 38) | func (r *FullReader) Read(p []byte) (n int, err error) { function ReadTCPSession (line 57) | func ReadTCPSession(validator *Validator, reader io.Reader) (*protocol.R... function WriteTCPRequest (line 134) | func WriteTCPRequest(request *protocol.RequestHeader, writer io.Writer) ... function ReadTCPResponse (line 165) | func ReadTCPResponse(user *protocol.MemoryUser, reader io.Reader) (buf.R... function WriteTCPResponse (line 191) | func WriteTCPResponse(request *protocol.RequestHeader, writer io.Writer)... function EncodeUDPPacket (line 207) | func EncodeUDPPacket(request *protocol.RequestHeader, payload []byte) (*... function DecodeUDPPacket (line 230) | func DecodeUDPPacket(validator *Validator, payload *buf.Buffer) (*protoc... type UDPReader (line 282) | type UDPReader struct method ReadMultiBuffer (line 287) | func (v *UDPReader) ReadMultiBuffer() (buf.MultiBuffer, error) { type UDPWriter (line 307) | type UDPWriter struct method WriteMultiBuffer (line 312) | func (w *UDPWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { FILE: proxy/shadowsocks/protocol_test.go function toAccount (line 14) | func toAccount(a *Account) protocol.Account { function equalRequestHeader (line 20) | func equalRequestHeader(x, y *protocol.RequestHeader) bool { function TestUDPEncodingDecoding (line 26) | func TestUDPEncodingDecoding(t *testing.T) { function TestUDPDecodingWithPayloadTooShort (line 77) | func TestUDPDecodingWithPayloadTooShort(t *testing.T) { function TestTCPRequest (line 103) | func TestTCPRequest(t *testing.T) { function TestUDPReaderWriter (line 190) | func TestUDPReaderWriter(t *testing.T) { FILE: proxy/shadowsocks/server.go type Server (line 24) | type Server struct method AddUser (line 57) | func (s *Server) AddUser(ctx context.Context, u *protocol.MemoryUser) ... method RemoveUser (line 62) | func (s *Server) RemoveUser(ctx context.Context, e string) error { method GetUser (line 67) | func (s *Server) GetUser(ctx context.Context, email string) *protocol.... method GetUsers (line 72) | func (s *Server) GetUsers(ctx context.Context) []*protocol.MemoryUser { method GetUsersCount (line 77) | func (s *Server) GetUsersCount(context.Context) int64 { method Network (line 81) | func (s *Server) Network() []net.Network { method Process (line 89) | func (s *Server) Process(ctx context.Context, network net.Network, con... method handleUDPPayload (line 104) | func (s *Server) handleUDPPayload(ctx context.Context, conn stat.Conne... method handleConnection (line 200) | func (s *Server) handleConnection(ctx context.Context, conn stat.Conne... function NewServer (line 32) | func NewServer(ctx context.Context, config *ServerConfig) (*Server, erro... function init (line 295) | func init() { FILE: proxy/shadowsocks/validator.go type Validator (line 17) | type Validator struct method Add (line 28) | func (v *Validator) Add(u *protocol.MemoryUser) error { method Del (line 48) | func (v *Validator) Del(email string) error { method GetByEmail (line 78) | func (v *Validator) GetByEmail(email string) *protocol.MemoryUser { method GetAll (line 96) | func (v *Validator) GetAll() []*protocol.MemoryUser { method GetCount (line 105) | func (v *Validator) GetCount() int64 { method Get (line 112) | func (v *Validator) Get(bs []byte, command protocol.RequestCommand) (u... method GetBehaviorSeed (line 156) | func (v *Validator) GetBehaviorSeed() uint64 { FILE: proxy/shadowsocks_2022/config.go type MemoryAccount (line 10) | type MemoryAccount struct method Equals (line 22) | func (a *MemoryAccount) Equals(another protocol.Account) bool { method ToProto (line 29) | func (a *MemoryAccount) ToProto() proto.Message { method AsAccount (line 15) | func (u *Account) AsAccount() (protocol.Account, error) { FILE: proxy/shadowsocks_2022/config.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type ServerConfig (line 26) | type ServerConfig struct method Reset (line 37) | func (x *ServerConfig) Reset() { method String (line 44) | func (x *ServerConfig) String() string { method ProtoMessage (line 48) | func (*ServerConfig) ProtoMessage() {} method ProtoReflect (line 50) | func (x *ServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 63) | func (*ServerConfig) Descriptor() ([]byte, []int) { method GetMethod (line 67) | func (x *ServerConfig) GetMethod() string { method GetKey (line 74) | func (x *ServerConfig) GetKey() string { method GetEmail (line 81) | func (x *ServerConfig) GetEmail() string { method GetLevel (line 88) | func (x *ServerConfig) GetLevel() int32 { method GetNetwork (line 95) | func (x *ServerConfig) GetNetwork() []net.Network { type MultiUserServerConfig (line 102) | type MultiUserServerConfig struct method Reset (line 112) | func (x *MultiUserServerConfig) Reset() { method String (line 119) | func (x *MultiUserServerConfig) String() string { method ProtoMessage (line 123) | func (*MultiUserServerConfig) ProtoMessage() {} method ProtoReflect (line 125) | func (x *MultiUserServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 138) | func (*MultiUserServerConfig) Descriptor() ([]byte, []int) { method GetMethod (line 142) | func (x *MultiUserServerConfig) GetMethod() string { method GetKey (line 149) | func (x *MultiUserServerConfig) GetKey() string { method GetUsers (line 156) | func (x *MultiUserServerConfig) GetUsers() []*protocol.User { method GetNetwork (line 163) | func (x *MultiUserServerConfig) GetNetwork() []net.Network { type RelayDestination (line 170) | type RelayDestination struct method Reset (line 181) | func (x *RelayDestination) Reset() { method String (line 188) | func (x *RelayDestination) String() string { method ProtoMessage (line 192) | func (*RelayDestination) ProtoMessage() {} method ProtoReflect (line 194) | func (x *RelayDestination) ProtoReflect() protoreflect.Message { method Descriptor (line 207) | func (*RelayDestination) Descriptor() ([]byte, []int) { method GetKey (line 211) | func (x *RelayDestination) GetKey() string { method GetAddress (line 218) | func (x *RelayDestination) GetAddress() *net.IPOrDomain { method GetPort (line 225) | func (x *RelayDestination) GetPort() uint32 { method GetEmail (line 232) | func (x *RelayDestination) GetEmail() string { method GetLevel (line 239) | func (x *RelayDestination) GetLevel() int32 { type RelayServerConfig (line 246) | type RelayServerConfig struct method Reset (line 256) | func (x *RelayServerConfig) Reset() { method String (line 263) | func (x *RelayServerConfig) String() string { method ProtoMessage (line 267) | func (*RelayServerConfig) ProtoMessage() {} method ProtoReflect (line 269) | func (x *RelayServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 282) | func (*RelayServerConfig) Descriptor() ([]byte, []int) { method GetMethod (line 286) | func (x *RelayServerConfig) GetMethod() string { method GetKey (line 293) | func (x *RelayServerConfig) GetKey() string { method GetDestinations (line 300) | func (x *RelayServerConfig) GetDestinations() []*RelayDestination { method GetNetwork (line 307) | func (x *RelayServerConfig) GetNetwork() []net.Network { type Account (line 314) | type Account struct method Reset (line 321) | func (x *Account) Reset() { method String (line 328) | func (x *Account) String() string { method ProtoMessage (line 332) | func (*Account) ProtoMessage() {} method ProtoReflect (line 334) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 347) | func (*Account) Descriptor() ([]byte, []int) { method GetKey (line 351) | func (x *Account) GetKey() string { type ClientConfig (line 358) | type ClientConfig struct method Reset (line 370) | func (x *ClientConfig) Reset() { method String (line 377) | func (x *ClientConfig) String() string { method ProtoMessage (line 381) | func (*ClientConfig) ProtoMessage() {} method ProtoReflect (line 383) | func (x *ClientConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 396) | func (*ClientConfig) Descriptor() ([]byte, []int) { method GetAddress (line 400) | func (x *ClientConfig) GetAddress() *net.IPOrDomain { method GetPort (line 407) | func (x *ClientConfig) GetPort() uint32 { method GetMethod (line 414) | func (x *ClientConfig) GetMethod() string { method GetKey (line 421) | func (x *ClientConfig) GetKey() string { method GetUdpOverTcp (line 428) | func (x *ClientConfig) GetUdpOverTcp() bool { method GetUdpOverTcpVersion (line 435) | func (x *ClientConfig) GetUdpOverTcpVersion() uint32 { constant file_proxy_shadowsocks_2022_config_proto_rawDesc (line 444) | file_proxy_shadowsocks_2022_config_proto_rawDesc = "" + function file_proxy_shadowsocks_2022_config_proto_rawDescGZIP (line 486) | func file_proxy_shadowsocks_2022_config_proto_rawDescGZIP() []byte { function init (line 520) | func init() { file_proxy_shadowsocks_2022_config_proto_init() } function file_proxy_shadowsocks_2022_config_proto_init (line 521) | func file_proxy_shadowsocks_2022_config_proto_init() { FILE: proxy/shadowsocks_2022/inbound.go function init (line 26) | func init() { type Inbound (line 32) | type Inbound struct method Network (line 63) | func (i *Inbound) Network() []net.Network { method Process (line 67) | func (i *Inbound) Process(ctx context.Context, network net.Network, co... method NewConnection (line 104) | func (i *Inbound) NewConnection(ctx context.Context, conn net.Conn, me... method NewPacketConnection (line 125) | func (i *Inbound) NewPacketConnection(ctx context.Context, conn N.Pack... method NewError (line 152) | func (i *Inbound) NewError(ctx context.Context, err error) { function NewServer (line 39) | func NewServer(ctx context.Context, config *ServerConfig) (*Inbound, err... type natPacketConn (line 159) | type natPacketConn struct method ReadPacket (line 163) | func (c *natPacketConn) ReadPacket(buffer *B.Buffer) (addr M.Socksaddr... method WritePacket (line 168) | func (c *natPacketConn) WritePacket(buffer *B.Buffer, addr M.Socksaddr... FILE: proxy/shadowsocks_2022/inbound_multi.go function init (line 31) | func init() { type MultiUserInbound (line 37) | type MultiUserInbound struct method AddUser (line 93) | func (i *MultiUserInbound) AddUser(ctx context.Context, u *protocol.Me... method RemoveUser (line 117) | func (i *MultiUserInbound) RemoveUser(ctx context.Context, email strin... method GetUser (line 154) | func (i *MultiUserInbound) GetUser(ctx context.Context, email string) ... method GetUsers (line 171) | func (i *MultiUserInbound) GetUsers(ctx context.Context) []*protocol.M... method GetUsersCount (line 180) | func (i *MultiUserInbound) GetUsersCount(context.Context) int64 { method Network (line 186) | func (i *MultiUserInbound) Network() []net.Network { method Process (line 190) | func (i *MultiUserInbound) Process(ctx context.Context, network net.Ne... method NewConnection (line 227) | func (i *MultiUserInbound) NewConnection(ctx context.Context, conn net... method NewPacketConnection (line 252) | func (i *MultiUserInbound) NewPacketConnection(ctx context.Context, co... method NewError (line 278) | func (i *MultiUserInbound) NewError(ctx context.Context, err error) { function NewMultiServer (line 44) | func NewMultiServer(ctx context.Context, config *MultiUserServerConfig) ... FILE: proxy/shadowsocks_2022/inbound_relay.go function init (line 29) | func init() { type RelayInbound (line 35) | type RelayInbound struct method Network (line 84) | func (i *RelayInbound) Network() []net.Network { method Process (line 88) | func (i *RelayInbound) Process(ctx context.Context, network net.Networ... method NewConnection (line 125) | func (i *RelayInbound) NewConnection(ctx context.Context, conn net.Con... method NewPacketConnection (line 148) | func (i *RelayInbound) NewPacketConnection(ctx context.Context, conn N... method NewError (line 177) | func (i *RelayInbound) NewError(ctx context.Context, err error) { function NewRelayServer (line 41) | func NewRelayServer(ctx context.Context, config *RelayServerConfig) (*Re... FILE: proxy/shadowsocks_2022/outbound.go function init (line 24) | func init() { type Outbound (line 30) | type Outbound struct method Process (line 64) | func (o *Outbound) Process(ctx context.Context, link *transport.Link, ... function NewClient (line 37) | func NewClient(ctx context.Context, config *ClientConfig) (*Outbound, er... FILE: proxy/socks/client.go type Client (line 24) | type Client struct method Process (line 49) | func (c *Client) Process(ctx context.Context, link *transport.Link, di... function NewClient (line 30) | func NewClient(ctx context.Context, config *ClientConfig) (*Client, erro... function init (line 177) | func init() { FILE: proxy/socks/config.go method Equals (line 9) | func (a *Account) Equals(another protocol.Account) bool { method ToProto (line 16) | func (a *Account) ToProto() proto.Message { method AsAccount (line 20) | func (a *Account) AsAccount() (protocol.Account, error) { method HasAccount (line 24) | func (c *ServerConfig) HasAccount(username, password string) bool { FILE: proxy/socks/config.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type AuthType (line 27) | type AuthType method Enum (line 48) | func (x AuthType) Enum() *AuthType { method String (line 54) | func (x AuthType) String() string { method Descriptor (line 58) | func (AuthType) Descriptor() protoreflect.EnumDescriptor { method Type (line 62) | func (AuthType) Type() protoreflect.EnumType { method Number (line 66) | func (x AuthType) Number() protoreflect.EnumNumber { method EnumDescriptor (line 71) | func (AuthType) EnumDescriptor() ([]byte, []int) { constant AuthType_NO_AUTH (line 31) | AuthType_NO_AUTH AuthType = 0 constant AuthType_PASSWORD (line 33) | AuthType_PASSWORD AuthType = 1 type Account (line 76) | type Account struct method Reset (line 84) | func (x *Account) Reset() { method String (line 91) | func (x *Account) String() string { method ProtoMessage (line 95) | func (*Account) ProtoMessage() {} method ProtoReflect (line 97) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 110) | func (*Account) Descriptor() ([]byte, []int) { method GetUsername (line 114) | func (x *Account) GetUsername() string { method GetPassword (line 121) | func (x *Account) GetPassword() string { type ServerConfig (line 129) | type ServerConfig struct method Reset (line 140) | func (x *ServerConfig) Reset() { method String (line 147) | func (x *ServerConfig) String() string { method ProtoMessage (line 151) | func (*ServerConfig) ProtoMessage() {} method ProtoReflect (line 153) | func (x *ServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 166) | func (*ServerConfig) Descriptor() ([]byte, []int) { method GetAuthType (line 170) | func (x *ServerConfig) GetAuthType() AuthType { method GetAccounts (line 177) | func (x *ServerConfig) GetAccounts() map[string]string { method GetAddress (line 184) | func (x *ServerConfig) GetAddress() *net.IPOrDomain { method GetUdpEnabled (line 191) | func (x *ServerConfig) GetUdpEnabled() bool { method GetUserLevel (line 198) | func (x *ServerConfig) GetUserLevel() uint32 { type ClientConfig (line 206) | type ClientConfig struct method Reset (line 214) | func (x *ClientConfig) Reset() { method String (line 221) | func (x *ClientConfig) String() string { method ProtoMessage (line 225) | func (*ClientConfig) ProtoMessage() {} method ProtoReflect (line 227) | func (x *ClientConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 240) | func (*ClientConfig) Descriptor() ([]byte, []int) { method GetServer (line 244) | func (x *ClientConfig) GetServer() *protocol.ServerEndpoint { constant file_proxy_socks_config_proto_rawDesc (line 253) | file_proxy_socks_config_proto_rawDesc = "" + function file_proxy_socks_config_proto_rawDescGZIP (line 282) | func file_proxy_socks_config_proto_rawDescGZIP() []byte { function init (line 312) | func init() { file_proxy_socks_config_proto_init() } function file_proxy_socks_config_proto_init (line 313) | func file_proxy_socks_config_proto_init() { FILE: proxy/socks/protocol.go constant socks5Version (line 15) | socks5Version = 0x05 constant socks4Version (line 16) | socks4Version = 0x04 constant cmdTCPConnect (line 18) | cmdTCPConnect = 0x01 constant cmdTCPBind (line 19) | cmdTCPBind = 0x02 constant cmdUDPAssociate (line 20) | cmdUDPAssociate = 0x03 constant cmdTorResolve (line 21) | cmdTorResolve = 0xF0 constant cmdTorResolvePTR (line 22) | cmdTorResolvePTR = 0xF1 constant socks4RequestGranted (line 24) | socks4RequestGranted = 90 constant socks4RequestRejected (line 25) | socks4RequestRejected = 91 constant authNotRequired (line 27) | authNotRequired = 0x00 constant authPassword (line 29) | authPassword = 0x02 constant authNoMatchingMethod (line 30) | authNoMatchingMethod = 0xFF constant statusSuccess (line 32) | statusSuccess = 0x00 constant statusCmdNotSupport (line 33) | statusCmdNotSupport = 0x07 type ServerSession (line 42) | type ServerSession struct method handshake4 (line 49) | func (s *ServerSession) handshake4(cmd byte, reader io.Reader, writer ... method auth5 (line 98) | func (s *ServerSession) auth5(nMethod byte, reader io.Reader, writer i... method handshake5 (line 140) | func (s *ServerSession) handshake5(nMethod byte, reader io.Reader, wri... method Handshake (line 211) | func (s *ServerSession) Handshake(reader io.Reader, writer io.Writer) ... function ReadUsernamePassword (line 238) | func ReadUsernamePassword(reader io.Reader) (string, string, error) { function ReadUntilNull (line 268) | func ReadUntilNull(reader io.Reader) (string, error) { function hasAuthMethod (line 287) | func hasAuthMethod(expectedAuth byte, authCandidates []byte) bool { function writeSocks5AuthenticationResponse (line 296) | func writeSocks5AuthenticationResponse(writer io.Writer, version byte, a... function writeSocks5Response (line 300) | func writeSocks5Response(writer io.Writer, errCode byte, address net.Add... function writeSocks4Response (line 312) | func writeSocks4Response(writer io.Writer, errCode byte, address net.Add... function DecodeUDPPacket (line 324) | func DecodeUDPPacket(packet *buf.Buffer) (*protocol.RequestHeader, error) { function EncodeUDPPacket (line 349) | func EncodeUDPPacket(request *protocol.RequestHeader, data []byte) (*buf... type UDPReader (line 365) | type UDPReader struct method ReadMultiBuffer (line 369) | func (r *UDPReader) ReadMultiBuffer() (buf.MultiBuffer, error) { type UDPWriter (line 386) | type UDPWriter struct method WriteMultiBuffer (line 391) | func (w *UDPWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { function ClientHandshake (line 421) | func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, ... FILE: proxy/socks/protocol_test.go function TestUDPEncoding (line 15) | func TestUDPEncoding(t *testing.T) { function TestReadUsernamePassword (line 38) | func TestReadUsernamePassword(t *testing.T) { function TestReadUntilNull (line 77) | func TestReadUntilNull(t *testing.T) { function BenchmarkReadUsernamePassword (line 111) | func BenchmarkReadUsernamePassword(b *testing.B) { FILE: proxy/socks/server.go type Server (line 28) | type Server struct method policy (line 55) | func (s *Server) policy() policy.Session { method Network (line 62) | func (s *Server) Network() []net.Network { method Process (line 71) | func (s *Server) Process(ctx context.Context, network net.Network, con... method processTCP (line 104) | func (s *Server) processTCP(ctx context.Context, conn stat.Connection,... method handleUDP (line 182) | func (*Server) handleUDP(c io.Reader) error { method handleUDPPayload (line 188) | func (s *Server) handleUDPPayload(ctx context.Context, conn stat.Conne... function NewServer (line 37) | func NewServer(ctx context.Context, config *ServerConfig) (*Server, erro... function init (line 276) | func init() { FILE: proxy/socks/udpfilter.go type UDPFilter (line 17) | type UDPFilter struct method Add (line 21) | func (f *UDPFilter) Add(addr net.Addr) bool { method Check (line 27) | func (f *UDPFilter) Check(addr net.Addr) bool { FILE: proxy/trojan/client.go type Client (line 24) | type Client struct method Process (line 48) | func (c *Client) Process(ctx context.Context, link *transport.Link, di... function NewClient (line 30) | func NewClient(ctx context.Context, config *ClientConfig) (*Client, erro... function init (line 165) | func init() { FILE: proxy/trojan/config.go type MemoryAccount (line 14) | type MemoryAccount struct method Equals (line 30) | func (a *MemoryAccount) Equals(another protocol.Account) bool { method ToProto (line 37) | func (a *MemoryAccount) ToProto() proto.Message { method AsAccount (line 20) | func (a *Account) AsAccount() (protocol.Account, error) { function hexSha224 (line 43) | func hexSha224(password string) []byte { function hexString (line 51) | func hexString(data []byte) string { FILE: proxy/trojan/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Account (line 25) | type Account struct method Reset (line 32) | func (x *Account) Reset() { method String (line 39) | func (x *Account) String() string { method ProtoMessage (line 43) | func (*Account) ProtoMessage() {} method ProtoReflect (line 45) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*Account) Descriptor() ([]byte, []int) { method GetPassword (line 62) | func (x *Account) GetPassword() string { type Fallback (line 69) | type Fallback struct method Reset (line 81) | func (x *Fallback) Reset() { method String (line 88) | func (x *Fallback) String() string { method ProtoMessage (line 92) | func (*Fallback) ProtoMessage() {} method ProtoReflect (line 94) | func (x *Fallback) ProtoReflect() protoreflect.Message { method Descriptor (line 107) | func (*Fallback) Descriptor() ([]byte, []int) { method GetName (line 111) | func (x *Fallback) GetName() string { method GetAlpn (line 118) | func (x *Fallback) GetAlpn() string { method GetPath (line 125) | func (x *Fallback) GetPath() string { method GetType (line 132) | func (x *Fallback) GetType() string { method GetDest (line 139) | func (x *Fallback) GetDest() string { method GetXver (line 146) | func (x *Fallback) GetXver() uint64 { type ClientConfig (line 153) | type ClientConfig struct method Reset (line 160) | func (x *ClientConfig) Reset() { method String (line 167) | func (x *ClientConfig) String() string { method ProtoMessage (line 171) | func (*ClientConfig) ProtoMessage() {} method ProtoReflect (line 173) | func (x *ClientConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 186) | func (*ClientConfig) Descriptor() ([]byte, []int) { method GetServer (line 190) | func (x *ClientConfig) GetServer() *protocol.ServerEndpoint { type ServerConfig (line 197) | type ServerConfig struct method Reset (line 205) | func (x *ServerConfig) Reset() { method String (line 212) | func (x *ServerConfig) String() string { method ProtoMessage (line 216) | func (*ServerConfig) ProtoMessage() {} method ProtoReflect (line 218) | func (x *ServerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 231) | func (*ServerConfig) Descriptor() ([]byte, []int) { method GetUsers (line 235) | func (x *ServerConfig) GetUsers() []*protocol.User { method GetFallbacks (line 242) | func (x *ServerConfig) GetFallbacks() []*Fallback { constant file_proxy_trojan_config_proto_rawDesc (line 251) | file_proxy_trojan_config_proto_rawDesc = "" + function file_proxy_trojan_config_proto_rawDescGZIP (line 275) | func file_proxy_trojan_config_proto_rawDescGZIP() []byte { function init (line 302) | func init() { file_proxy_trojan_config_proto_init() } function file_proxy_trojan_config_proto_init (line 303) | func file_proxy_trojan_config_proto_init() { FILE: proxy/trojan/protocol.go constant maxLength (line 24) | maxLength = 8192 constant commandTCP (line 26) | commandTCP byte = 1 constant commandUDP (line 27) | commandUDP byte = 3 type ConnWriter (line 31) | type ConnWriter struct method Write (line 39) | func (c *ConnWriter) Write(p []byte) (n int, err error) { method WriteMultiBuffer (line 50) | func (c *ConnWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { method writeHeader (line 64) | func (c *ConnWriter) writeHeader() error { type PacketWriter (line 98) | type PacketWriter struct method WriteMultiBuffer (line 104) | func (w *PacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { method writePacket (line 125) | func (w *PacketWriter) writePacket(payload []byte, dest net.Destinatio... type ConnReader (line 153) | type ConnReader struct method ParseHeader (line 161) | func (c *ConnReader) ParseHeader() error { method Read (line 197) | func (c *ConnReader) Read(p []byte) (int, error) { method ReadMultiBuffer (line 208) | func (c *ConnReader) ReadMultiBuffer() (buf.MultiBuffer, error) { type PacketReader (line 215) | type PacketReader struct method ReadMultiBuffer (line 220) | func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) { FILE: proxy/trojan/protocol_test.go function toAccount (line 14) | func toAccount(a *Account) protocol.Account { function TestTCPRequest (line 20) | func TestTCPRequest(t *testing.T) { function TestUDPRequest (line 52) | func TestUDPRequest(t *testing.T) { FILE: proxy/trojan/server.go function init (line 30) | func init() { type Server (line 37) | type Server struct method AddUser (line 119) | func (s *Server) AddUser(ctx context.Context, u *protocol.MemoryUser) ... method RemoveUser (line 124) | func (s *Server) RemoveUser(ctx context.Context, e string) error { method GetUser (line 129) | func (s *Server) GetUser(ctx context.Context, email string) *protocol.... method GetUsers (line 134) | func (s *Server) GetUsers(ctx context.Context) []*protocol.MemoryUser { method GetUsersCount (line 139) | func (s *Server) GetUsersCount(context.Context) int64 { method Network (line 144) | func (s *Server) Network() []net.Network { method Process (line 149) | func (s *Server) Process(ctx context.Context, network net.Network, con... method handleUDPPayload (line 247) | func (s *Server) handleUDPPayload(ctx context.Context, sessionPolicy p... method handleConnection (line 324) | func (s *Server) handleConnection(ctx context.Context, sessionPolicy p... method fallback (line 365) | func (s *Server) fallback(ctx context.Context, err error, sessionPolic... function NewServer (line 45) | func NewServer(ctx context.Context, config *ServerConfig) (*Server, erro... FILE: proxy/trojan/validator.go type Validator (line 12) | type Validator struct method Add (line 19) | func (v *Validator) Add(u *protocol.MemoryUser) error { method Del (line 31) | func (v *Validator) Del(e string) error { method Get (line 46) | func (v *Validator) Get(hash string) *protocol.MemoryUser { method GetByEmail (line 55) | func (v *Validator) GetByEmail(email string) *protocol.MemoryUser { method GetAll (line 65) | func (v *Validator) GetAll() []*protocol.MemoryUser { method GetCount (line 75) | func (v *Validator) GetCount() int64 { FILE: proxy/tun/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 33) | func (x *Config) Reset() { method String (line 40) | func (x *Config) String() string { method ProtoMessage (line 44) | func (*Config) ProtoMessage() {} method ProtoReflect (line 46) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*Config) Descriptor() ([]byte, []int) { method GetName (line 63) | func (x *Config) GetName() string { method GetMTU (line 70) | func (x *Config) GetMTU() uint32 { method GetUserLevel (line 77) | func (x *Config) GetUserLevel() uint32 { constant file_proxy_tun_config_proto_rawDesc (line 86) | file_proxy_tun_config_proto_rawDesc = "" + function file_proxy_tun_config_proto_rawDescGZIP (line 101) | func file_proxy_tun_config_proto_rawDescGZIP() []byte { function init (line 120) | func init() { file_proxy_tun_config_proto_init() } function file_proxy_tun_config_proto_init (line 121) | func file_proxy_tun_config_proto_init() { FILE: proxy/tun/handler.go type Handler (line 22) | type Handler struct method policy (line 40) | func (t *Handler) policy() policy.Session { method Init (line 46) | func (t *Handler) Init(ctx context.Context, pm policy.Manager, dispatc... method HandleConnection (line 104) | func (t *Handler) HandleConnection(conn net.Conn, destination net.Dest... method Network (line 150) | func (t *Handler) Network() []net.Network { method Process (line 156) | func (t *Handler) Process(ctx context.Context, network net.Network, co... type ConnectionHandler (line 33) | type ConnectionHandler interface function init (line 160) | func init() { FILE: proxy/tun/stack.go type Stack (line 8) | type Stack interface type StackOptions (line 14) | type StackOptions struct FILE: proxy/tun/stack_gvisor.go constant defaultNIC (line 23) | defaultNIC tcpip.NICID = 1 constant tcpRXBufMinSize (line 25) | tcpRXBufMinSize = tcp.MinBufferSize constant tcpRXBufDefSize (line 26) | tcpRXBufDefSize = tcp.DefaultSendBufferSize constant tcpRXBufMaxSize (line 27) | tcpRXBufMaxSize = 8 << 20 constant tcpTXBufMinSize (line 29) | tcpTXBufMinSize = tcp.MinBufferSize constant tcpTXBufDefSize (line 30) | tcpTXBufDefSize = tcp.DefaultReceiveBufferSize constant tcpTXBufMaxSize (line 31) | tcpTXBufMaxSize = 6 << 20 type stackGVisor (line 35) | type stackGVisor struct method Start (line 62) | func (t *stackGVisor) Start() error { method writeRawUDPPacket (line 127) | func (t *stackGVisor) writeRawUDPPacket(payload []byte, src net.Destin... method Close (line 191) | func (t *stackGVisor) Close() error { type GVisorTun (line 45) | type GVisorTun interface function NewStack (line 50) | func NewStack(ctx context.Context, options StackOptions, handler *Handle... function createStack (line 205) | func createStack(ep stack.LinkEndpoint) (*stack.Stack, error) { FILE: proxy/tun/stack_gvisor_endpoint.go type GVisorDevice (line 14) | type GVisorDevice interface type LinkEndpoint (line 23) | type LinkEndpoint struct method MTU (line 29) | func (e *LinkEndpoint) MTU() uint32 { method SetMTU (line 33) | func (e *LinkEndpoint) SetMTU(_ uint32) { method MaxHeaderLength (line 37) | func (e *LinkEndpoint) MaxHeaderLength() uint16 { method LinkAddress (line 41) | func (e *LinkEndpoint) LinkAddress() tcpip.LinkAddress { method SetLinkAddress (line 45) | func (e *LinkEndpoint) SetLinkAddress(_ tcpip.LinkAddress) { method Capabilities (line 49) | func (e *LinkEndpoint) Capabilities() stack.LinkEndpointCapabilities { method Attach (line 53) | func (e *LinkEndpoint) Attach(dispatcher stack.NetworkDispatcher) { method IsAttached (line 66) | func (e *LinkEndpoint) IsAttached() bool { method Wait (line 70) | func (e *LinkEndpoint) Wait() { method ARPHardwareType (line 74) | func (e *LinkEndpoint) ARPHardwareType() header.ARPHardwareType { method AddHeader (line 78) | func (e *LinkEndpoint) AddHeader(buffer *stack.PacketBuffer) { method ParseHeader (line 82) | func (e *LinkEndpoint) ParseHeader(ptr *stack.PacketBuffer) bool { method Close (line 86) | func (e *LinkEndpoint) Close() { method SetOnCloseAction (line 93) | func (e *LinkEndpoint) SetOnCloseAction(_ func()) { method WritePackets (line 97) | func (e *LinkEndpoint) WritePackets(packetBufferList stack.PacketBuffe... method dispatchLoop (line 112) | func (e *LinkEndpoint) dispatchLoop(ctx context.Context, dispatcher st... FILE: proxy/tun/tun.go type Tun (line 4) | type Tun interface type TunOptions (line 10) | type TunOptions struct FILE: proxy/tun/tun_android.go type AndroidTun (line 16) | type AndroidTun struct method Start (line 44) | func (t *AndroidTun) Start() error { method Close (line 48) | func (t *AndroidTun) Close() error { method newEndpoint (line 52) | func (t *AndroidTun) newEndpoint() (stack.LinkEndpoint, error) { function NewTun (line 28) | func NewTun(options TunOptions) (Tun, error) { FILE: proxy/tun/tun_darwin.go constant utunControlName (line 24) | utunControlName = "com.apple.net.utun_control" constant sysprotoControl (line 25) | sysprotoControl = 2 constant gateway (line 26) | gateway = "169.254.10.1/30" constant utunHeaderSize (line 27) | utunHeaderSize = 4 constant SIOCAIFADDR6 (line 31) | SIOCAIFADDR6 = 2155899162 constant IN6_IFF_NODAD (line 32) | IN6_IFF_NODAD = 0x0020 constant IN6_IFF_SECURED (line 33) | IN6_IFF_SECURED = 0x0400 constant ND6_INFINITE_LIFETIME (line 34) | ND6_INFINITE_LIFETIME = 0xFFFFFFFF function procyield (line 38) | func procyield(cycles uint32) type DarwinTun (line 40) | type DarwinTun struct method Start (line 90) | func (t *DarwinTun) Start() error { method Close (line 94) | func (t *DarwinTun) Close() error { method WritePacket (line 103) | func (t *DarwinTun) WritePacket(packet *stack.PacketBuffer) tcpip.Error { method ReadPacket (line 138) | func (t *DarwinTun) ReadPacket() (byte, *stack.PacketBuffer, error) { method Wait (line 172) | func (t *DarwinTun) Wait() { method newEndpoint (line 176) | func (t *DarwinTun) newEndpoint() (stack.LinkEndpoint, error) { function NewTun (line 50) | func NewTun(options TunOptions) (Tun, error) { function open (line 181) | func open(name string) (*os.File, error) { function setup (line 218) | func setup(name string, MTU uint32) error { function setMTU (line 237) | func setMTU(name string, mtu uint32) error { type ifAliasReq4 (line 249) | type ifAliasReq4 struct type ifAliasReq6 (line 256) | type ifAliasReq6 struct type addrLifetime6 (line 265) | type addrLifetime6 struct function setIPAddress (line 273) | func setIPAddress(name string, gateway netip.Prefix) error { function ioctlPtr (line 348) | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) error { FILE: proxy/tun/tun_default.go type DefaultTun (line 10) | type DefaultTun struct method Start (line 24) | func (t *DefaultTun) Start() error { method Close (line 28) | func (t *DefaultTun) Close() error { method newEndpoint (line 32) | func (t *DefaultTun) newEndpoint() (stack.LinkEndpoint, error) { function NewTun (line 20) | func NewTun(options TunOptions) (Tun, error) { FILE: proxy/tun/tun_linux.go type LinuxTun (line 15) | type LinuxTun struct method Start (line 96) | func (t *LinuxTun) Start() error { method Close (line 106) | func (t *LinuxTun) Close() error { method newEndpoint (line 114) | func (t *LinuxTun) newEndpoint() (stack.LinkEndpoint, error) { function NewTun (line 28) | func NewTun(options TunOptions) (Tun, error) { function open (line 50) | func open(name string) (int, error) { function setup (line 80) | func setup(name string, MTU int) (netlink.Link, error) { FILE: proxy/tun/tun_windows.go function procyield (line 18) | func procyield(cycles uint32) type WindowsTun (line 23) | type WindowsTun struct method Start (line 86) | func (t *WindowsTun) Start() error { method Close (line 90) | func (t *WindowsTun) Close() error { method WritePacket (line 98) | func (t *WindowsTun) WritePacket(packetBuffer *stack.PacketBuffer) tcp... method ReadPacket (line 120) | func (t *WindowsTun) ReadPacket() (byte, *stack.PacketBuffer, error) { method Wait (line 140) | func (t *WindowsTun) Wait() { method newEndpoint (line 145) | func (t *WindowsTun) newEndpoint() (stack.LinkEndpoint, error) { function NewTun (line 42) | func NewTun(options TunOptions) (Tun, error) { function open (line 69) | func open(name string) (*wintun.Adapter, error) { FILE: proxy/tun/udp_fullcone.go type udpConnectionHandler (line 12) | type udpConnectionHandler struct method HandlePacket (line 33) | func (u *udpConnectionHandler) HandlePacket(src net.Destination, dst n... method connectionFinished (line 54) | func (u *udpConnectionHandler) connectionFinished(src net.Destination) { function newUdpConnectionHandler (line 21) | func newUdpConnectionHandler(handleConnection func(conn net.Conn, dest n... type udpConn (line 65) | type udpConn struct method Read (line 77) | func (c *udpConn) Read(p []byte) (int, error) { method Write (line 88) | func (c *udpConn) Write(p []byte) (int, error) { method Close (line 98) | func (c *udpConn) Close() error { method LocalAddr (line 104) | func (c *udpConn) LocalAddr() net.Addr { method RemoteAddr (line 108) | func (c *udpConn) RemoteAddr() net.Addr { method WriteMultiBuffer (line 113) | func (c *udpConn) WriteMultiBuffer(mb buf.MultiBuffer) error { FILE: proxy/vless/account.go method AsAccount (line 12) | func (a *Account) AsAccount() (protocol.Account, error) { type MemoryAccount (line 31) | type MemoryAccount struct method Equals (line 49) | func (a *MemoryAccount) Equals(account protocol.Account) bool { method ToProto (line 57) | func (a *MemoryAccount) ToProto() proto.Message { FILE: proxy/vless/account.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Reverse (line 24) | type Reverse struct method Reset (line 31) | func (x *Reverse) Reset() { method String (line 38) | func (x *Reverse) String() string { method ProtoMessage (line 42) | func (*Reverse) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Reverse) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Reverse) Descriptor() ([]byte, []int) { method GetTag (line 61) | func (x *Reverse) GetTag() string { type Account (line 68) | type Account struct method Reset (line 85) | func (x *Account) Reset() { method String (line 92) | func (x *Account) String() string { method ProtoMessage (line 96) | func (*Account) ProtoMessage() {} method ProtoReflect (line 98) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 111) | func (*Account) Descriptor() ([]byte, []int) { method GetId (line 115) | func (x *Account) GetId() string { method GetFlow (line 122) | func (x *Account) GetFlow() string { method GetEncryption (line 129) | func (x *Account) GetEncryption() string { method GetXorMode (line 136) | func (x *Account) GetXorMode() uint32 { method GetSeconds (line 143) | func (x *Account) GetSeconds() uint32 { method GetPadding (line 150) | func (x *Account) GetPadding() string { method GetReverse (line 157) | func (x *Account) GetReverse() *Reverse { method GetTestpre (line 164) | func (x *Account) GetTestpre() uint32 { method GetTestseed (line 171) | func (x *Account) GetTestseed() []uint32 { constant file_proxy_vless_account_proto_rawDesc (line 180) | file_proxy_vless_account_proto_rawDesc = "" + function file_proxy_vless_account_proto_rawDescGZIP (line 204) | func file_proxy_vless_account_proto_rawDescGZIP() []byte { function init (line 225) | func init() { file_proxy_vless_account_proto_init() } function file_proxy_vless_account_proto_init (line 226) | func file_proxy_vless_account_proto_init() { FILE: proxy/vless/encoding/addons.go function EncodeHeaderAddons (line 17) | func EncodeHeaderAddons(buffer *buf.Buffer, addons *Addons) error { function DecodeHeaderAddons (line 39) | func DecodeHeaderAddons(buffer *buf.Buffer, reader io.Reader) (*Addons, ... function EncodeBodyAddons (line 66) | func EncodeBodyAddons(writer buf.Writer, request *protocol.RequestHeader... function DecodeBodyAddons (line 77) | func DecodeBodyAddons(reader io.Reader, request *protocol.RequestHeader,... function NewMultiLengthPacketWriter (line 87) | func NewMultiLengthPacketWriter(writer buf.Writer) *MultiLengthPacketWri... type MultiLengthPacketWriter (line 93) | type MultiLengthPacketWriter struct method WriteMultiBuffer (line 97) | func (w *MultiLengthPacketWriter) WriteMultiBuffer(mb buf.MultiBuffer)... function NewLengthPacketWriter (line 126) | func NewLengthPacketWriter(writer io.Writer) *LengthPacketWriter { type LengthPacketWriter (line 133) | type LengthPacketWriter struct method WriteMultiBuffer (line 138) | func (w *LengthPacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { function NewLengthPacketReader (line 159) | func NewLengthPacketReader(reader io.Reader) *LengthPacketReader { type LengthPacketReader (line 166) | type LengthPacketReader struct method ReadMultiBuffer (line 171) | func (r *LengthPacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) { FILE: proxy/vless/encoding/addons.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Addons (line 24) | type Addons struct method Reset (line 32) | func (x *Addons) Reset() { method String (line 39) | func (x *Addons) String() string { method ProtoMessage (line 43) | func (*Addons) ProtoMessage() {} method ProtoReflect (line 45) | func (x *Addons) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*Addons) Descriptor() ([]byte, []int) { method GetFlow (line 62) | func (x *Addons) GetFlow() string { method GetSeed (line 69) | func (x *Addons) GetSeed() []byte { constant file_proxy_vless_encoding_addons_proto_rawDesc (line 78) | file_proxy_vless_encoding_addons_proto_rawDesc = "" + function file_proxy_vless_encoding_addons_proto_rawDescGZIP (line 91) | func file_proxy_vless_encoding_addons_proto_rawDescGZIP() []byte { function init (line 110) | func init() { file_proxy_vless_encoding_addons_proto_init() } function file_proxy_vless_encoding_addons_proto_init (line 111) | func file_proxy_vless_encoding_addons_proto_init() { FILE: proxy/vless/encoding/encoding.go constant Version (line 19) | Version = byte(0) function EncodeRequestHeader (line 30) | func EncodeRequestHeader(writer io.Writer, request *protocol.RequestHead... function DecodeRequestHeader (line 64) | func DecodeRequestHeader(isfb bool, first *buf.Buffer, reader io.Reader,... function EncodeResponseHeader (line 135) | func EncodeResponseHeader(writer io.Writer, request *protocol.RequestHea... function DecodeResponseHeader (line 155) | func DecodeResponseHeader(reader io.Reader, request *protocol.RequestHea... function XtlsRead (line 176) | func XtlsRead(reader buf.Reader, writer buf.Writer, timer *signal.Activi... FILE: proxy/vless/encoding/encoding_test.go function toAccount (line 16) | func toAccount(a *vless.Account) protocol.Account { function TestRequestSerialization (line 22) | func TestRequestSerialization(t *testing.T) { function TestInvalidRequest (line 63) | func TestInvalidRequest(t *testing.T) { function TestMuxRequest (line 95) | func TestMuxRequest(t *testing.T) { FILE: proxy/vless/encryption/client.go type ClientInstance (line 18) | type ClientInstance struct method Init (line 34) | func (i *ClientInstance) Init(nfsPKeysBytes [][]byte, xorMode, seconds... method Handshake (line 65) | func (i *ClientInstance) Handshake(conn net.Conn) (*CommonConn, error) { FILE: proxy/vless/encryption/common.go type CommonConn (line 27) | type CommonConn struct method Write (line 47) | func (c *CommonConn) Write(b []byte) (int, error) { method Read (line 80) | func (c *CommonConn) Read(b []byte) (int, error) { function NewCommonConn (line 40) | func NewCommonConn(conn net.Conn, useAES bool) *CommonConn { type AEAD (line 152) | type AEAD struct method Seal (line 170) | func (a *AEAD) Seal(dst, nonce, plaintext, additionalData []byte) []by... method Open (line 177) | func (a *AEAD) Open(dst, nonce, ciphertext, additionalData []byte) ([]... function NewAEAD (line 157) | func NewAEAD(ctx, key []byte, useAES bool) *AEAD { function IncreaseNonce (line 184) | func IncreaseNonce(nonce []byte) []byte { function EncodeLength (line 196) | func EncodeLength(l int) []byte { function DecodeLength (line 200) | func DecodeLength(b []byte) int { function EncodeHeader (line 204) | func EncodeHeader(h []byte, l int) { function DecodeHeader (line 212) | func DecodeHeader(h []byte) (l int, err error) { function ParsePadding (line 223) | func ParsePadding(padding string, paddingLens, paddingGaps *[][3]int) (e... function CreatPadding (line 259) | func CreatPadding(paddingLens, paddingGaps [][3]int) (length int, lens [... FILE: proxy/vless/encryption/server.go type ServerSession (line 20) | type ServerSession struct type ServerInstance (line 25) | type ServerInstance struct method Init (line 43) | func (i *ServerInstance) Init(nfsSKeysBytes [][]byte, xorMode uint32, ... method Close (line 110) | func (i *ServerInstance) Close() (err error) { method Handshake (line 117) | func (i *ServerInstance) Handshake(conn net.Conn, fallback *[]byte) (*... FILE: proxy/vless/encryption/xor.go function NewCTR (line 11) | func NewCTR(key, iv []byte) cipher.Stream { type XorConn (line 19) | type XorConn struct method Write (line 41) | func (c *XorConn) Write(b []byte) (int, error) { method Read (line 69) | func (c *XorConn) Read(b []byte) (int, error) { function NewXorConn (line 29) | func NewXorConn(conn net.Conn, ctr, peerCTR cipher.Stream, outSkip, inSk... FILE: proxy/vless/inbound/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Fallback (line 25) | type Fallback struct method Reset (line 37) | func (x *Fallback) Reset() { method String (line 44) | func (x *Fallback) String() string { method ProtoMessage (line 48) | func (*Fallback) ProtoMessage() {} method ProtoReflect (line 50) | func (x *Fallback) ProtoReflect() protoreflect.Message { method Descriptor (line 63) | func (*Fallback) Descriptor() ([]byte, []int) { method GetName (line 67) | func (x *Fallback) GetName() string { method GetAlpn (line 74) | func (x *Fallback) GetAlpn() string { method GetPath (line 81) | func (x *Fallback) GetPath() string { method GetType (line 88) | func (x *Fallback) GetType() string { method GetDest (line 95) | func (x *Fallback) GetDest() string { method GetXver (line 102) | func (x *Fallback) GetXver() uint64 { type Config (line 109) | type Config struct method Reset (line 122) | func (x *Config) Reset() { method String (line 129) | func (x *Config) String() string { method ProtoMessage (line 133) | func (*Config) ProtoMessage() {} method ProtoReflect (line 135) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 148) | func (*Config) Descriptor() ([]byte, []int) { method GetClients (line 152) | func (x *Config) GetClients() []*protocol.User { method GetFallbacks (line 159) | func (x *Config) GetFallbacks() []*Fallback { method GetDecryption (line 166) | func (x *Config) GetDecryption() string { method GetXorMode (line 173) | func (x *Config) GetXorMode() uint32 { method GetSecondsFrom (line 180) | func (x *Config) GetSecondsFrom() int64 { method GetSecondsTo (line 187) | func (x *Config) GetSecondsTo() int64 { method GetPadding (line 194) | func (x *Config) GetPadding() string { constant file_proxy_vless_inbound_config_proto_rawDesc (line 203) | file_proxy_vless_inbound_config_proto_rawDesc = "" + function file_proxy_vless_inbound_config_proto_rawDescGZIP (line 231) | func file_proxy_vless_inbound_config_proto_rawDescGZIP() []byte { function init (line 254) | func init() { file_proxy_vless_inbound_config_proto_init() } function file_proxy_vless_inbound_config_proto_init (line 255) | func file_proxy_vless_inbound_config_proto_init() { FILE: proxy/vless/inbound/inbound.go function init (line 46) | func init() { type Handler (line 74) | type Handler struct method GetReverse (line 189) | func (h *Handler) GetReverse(a *vless.MemoryAccount) (*Reverse, error) { method RemoveReverse (line 215) | func (h *Handler) RemoveReverse(u *protocol.MemoryUser) { method Close (line 225) | func (h *Handler) Close() error { method AddUser (line 236) | func (h *Handler) AddUser(ctx context.Context, u *protocol.MemoryUser)... method RemoveUser (line 241) | func (h *Handler) RemoveUser(ctx context.Context, e string) error { method GetUser (line 247) | func (h *Handler) GetUser(ctx context.Context, email string) *protocol... method GetUsers (line 252) | func (h *Handler) GetUsers(ctx context.Context) []*protocol.MemoryUser { method GetUsersCount (line 257) | func (h *Handler) GetUsersCount(context.Context) int64 { method Network (line 262) | func (*Handler) Network() []net.Network { method Process (line 267) | func (h *Handler) Process(ctx context.Context, network net.Network, co... function New (line 88) | func New(ctx context.Context, config *Config, dc dns.Client, validator v... function isMuxAndNotXUDP (line 176) | func isMuxAndNotXUDP(request *protocol.RequestHeader, first *buf.Buffer)... type Reverse (line 638) | type Reverse struct method Tag (line 644) | func (r *Reverse) Tag() string { method NewMux (line 648) | func (r *Reverse) NewMux(ctx context.Context, link *transport.Link) er... method Dispatch (line 665) | func (r *Reverse) Dispatch(ctx context.Context, link *transport.Link) { method Start (line 677) | func (r *Reverse) Start() error { method Close (line 681) | func (r *Reverse) Close() error { method SenderSettings (line 685) | func (r *Reverse) SenderSettings() *serial.TypedMessage { method ProxySettings (line 689) | func (r *Reverse) ProxySettings() *serial.TypedMessage { FILE: proxy/vless/outbound/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 25) | type Config struct method Reset (line 32) | func (x *Config) Reset() { method String (line 39) | func (x *Config) String() string { method ProtoMessage (line 43) | func (*Config) ProtoMessage() {} method ProtoReflect (line 45) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*Config) Descriptor() ([]byte, []int) { method GetVnext (line 62) | func (x *Config) GetVnext() *protocol.ServerEndpoint { constant file_proxy_vless_outbound_config_proto_rawDesc (line 71) | file_proxy_vless_outbound_config_proto_rawDesc = "" + function file_proxy_vless_outbound_config_proto_rawDescGZIP (line 83) | func file_proxy_vless_outbound_config_proto_rawDescGZIP() []byte { function init (line 104) | func init() { file_proxy_vless_outbound_config_proto_init() } function file_proxy_vless_outbound_config_proto_init (line 105) | func file_proxy_vless_outbound_config_proto_init() { FILE: proxy/vless/outbound/outbound.go function init (line 44) | func init() { type Handler (line 51) | type Handler struct method Close (line 125) | func (h *Handler) Close() error { method Process (line 136) | func (h *Handler) Process(ctx context.Context, link *transport.Link, d... type ConnExpire (line 63) | type ConnExpire struct function New (line 69) | func New(ctx context.Context, config *Config) (*Handler, error) { type Reverse (line 415) | type Reverse struct method monitor (line 424) | func (r *Reverse) monitor() error { method Start (line 471) | func (r *Reverse) Start() error { method Close (line 475) | func (r *Reverse) Close() error { FILE: proxy/vless/validator.go type Validator (line 12) | type Validator interface function ProcessUUID (line 21) | func ProcessUUID(id [16]byte) [16]byte { type MemoryValidator (line 28) | type MemoryValidator struct method Add (line 35) | func (v *MemoryValidator) Add(u *protocol.MemoryUser) error { method Del (line 47) | func (v *MemoryValidator) Del(e string) error { method Get (line 62) | func (v *MemoryValidator) Get(id uuid.UUID) *protocol.MemoryUser { method GetByEmail (line 71) | func (v *MemoryValidator) GetByEmail(email string) *protocol.MemoryUser { method GetAll (line 81) | func (v *MemoryValidator) GetAll() []*protocol.MemoryUser { method GetCount (line 91) | func (v *MemoryValidator) GetCount() int64 { FILE: proxy/vless/vless.go constant None (line 9) | None = "none" constant XRV (line 10) | XRV = "xtls-rprx-vision" FILE: proxy/vmess/account.go type MemoryAccount (line 13) | type MemoryAccount struct method Equals (line 24) | func (a *MemoryAccount) Equals(account protocol.Account) bool { method ToProto (line 32) | func (a *MemoryAccount) ToProto() proto.Message { method AsAccount (line 48) | func (a *Account) AsAccount() (protocol.Account, error) { FILE: proxy/vmess/account.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Account (line 25) | type Account struct method Reset (line 38) | func (x *Account) Reset() { method String (line 45) | func (x *Account) String() string { method ProtoMessage (line 49) | func (*Account) ProtoMessage() {} method ProtoReflect (line 51) | func (x *Account) ProtoReflect() protoreflect.Message { method Descriptor (line 64) | func (*Account) Descriptor() ([]byte, []int) { method GetId (line 68) | func (x *Account) GetId() string { method GetSecuritySettings (line 75) | func (x *Account) GetSecuritySettings() *protocol.SecurityConfig { method GetTestsEnabled (line 82) | func (x *Account) GetTestsEnabled() string { constant file_proxy_vmess_account_proto_rawDesc (line 91) | file_proxy_vmess_account_proto_rawDesc = "" + function file_proxy_vmess_account_proto_rawDescGZIP (line 105) | func file_proxy_vmess_account_proto_rawDescGZIP() []byte { function init (line 126) | func init() { file_proxy_vmess_account_proto_init() } function file_proxy_vmess_account_proto_init (line 127) | func file_proxy_vmess_account_proto_init() { FILE: proxy/vmess/aead/authid.go function CreateAuthID (line 26) | func CreateAuthID(cmdKey []byte, time int64) [16]byte { function NewCipherFromKey (line 42) | func NewCipherFromKey(cmdKey []byte) cipher.Block { type AuthIDDecoder (line 50) | type AuthIDDecoder struct method Decode (line 58) | func (aidd *AuthIDDecoder) Decode(data [16]byte) (int64, uint32, int32... function NewAuthIDDecoder (line 54) | func NewAuthIDDecoder(cmdKey []byte) *AuthIDDecoder { function NewAuthIDDecoderHolder (line 70) | func NewAuthIDDecoderHolder() *AuthIDDecoderHolder { type AuthIDDecoderHolder (line 74) | type AuthIDDecoderHolder struct method AddUser (line 91) | func (a *AuthIDDecoderHolder) AddUser(key [16]byte, ticket interface{}) { method RemoveUser (line 95) | func (a *AuthIDDecoderHolder) RemoveUser(key [16]byte) { method Match (line 99) | func (a *AuthIDDecoderHolder) Match(authID [16]byte) (interface{}, err... type AuthIDDecoderItem (line 79) | type AuthIDDecoderItem struct function NewAuthIDDecoderItem (line 84) | func NewAuthIDDecoderItem(key [16]byte, ticket interface{}) *AuthIDDecod... FILE: proxy/vmess/aead/authid_test.go function TestCreateAuthID (line 12) | func TestCreateAuthID(t *testing.T) { function TestCreateAuthIDAndDecode (line 20) | func TestCreateAuthIDAndDecode(t *testing.T) { function TestCreateAuthIDAndDecode2 (line 38) | func TestCreateAuthIDAndDecode2(t *testing.T) { function TestCreateAuthIDAndDecodeMassive (line 63) | func TestCreateAuthIDAndDecodeMassive(t *testing.T) { function TestCreateAuthIDAndDecodeSuperMassive (line 94) | func TestCreateAuthIDAndDecodeSuperMassive(t *testing.T) { FILE: proxy/vmess/aead/consts.go constant KDFSaltConstAuthIDEncryptionKey (line 4) | KDFSaltConstAuthIDEncryptionKey = "AES Auth ID Encryption" constant KDFSaltConstAEADRespHeaderLenKey (line 5) | KDFSaltConstAEADRespHeaderLenKey = "AEAD Resp Header Len Key" constant KDFSaltConstAEADRespHeaderLenIV (line 6) | KDFSaltConstAEADRespHeaderLenIV = "AEAD Resp Header Len IV" constant KDFSaltConstAEADRespHeaderPayloadKey (line 7) | KDFSaltConstAEADRespHeaderPayloadKey = "AEAD Resp Header Key" constant KDFSaltConstAEADRespHeaderPayloadIV (line 8) | KDFSaltConstAEADRespHeaderPayloadIV = "AEAD Resp Header IV" constant KDFSaltConstVMessAEADKDF (line 9) | KDFSaltConstVMessAEADKDF = "VMess AEAD KDF" constant KDFSaltConstVMessHeaderPayloadAEADKey (line 10) | KDFSaltConstVMessHeaderPayloadAEADKey = "VMess Header AEAD Key" constant KDFSaltConstVMessHeaderPayloadAEADIV (line 11) | KDFSaltConstVMessHeaderPayloadAEADIV = "VMess Header AEAD Nonce" constant KDFSaltConstVMessHeaderPayloadLengthAEADKey (line 12) | KDFSaltConstVMessHeaderPayloadLengthAEADKey = "VMess Header AEAD Key_Len... constant KDFSaltConstVMessHeaderPayloadLengthAEADIV (line 13) | KDFSaltConstVMessHeaderPayloadLengthAEADIV = "VMess Header AEAD Nonce_L... FILE: proxy/vmess/aead/encrypt.go function SealVMessAEADHeader (line 14) | func SealVMessAEADHeader(key [16]byte, data []byte) []byte { function OpenVMessAEADHeader (line 63) | func OpenVMessAEADHeader(key [16]byte, authid [16]byte, data io.Reader) ... FILE: proxy/vmess/aead/encrypt_test.go function TestOpenVMessAEADHeader (line 12) | func TestOpenVMessAEADHeader(t *testing.T) { function TestOpenVMessAEADHeader2 (line 31) | func TestOpenVMessAEADHeader2(t *testing.T) { function TestOpenVMessAEADHeader4 (line 50) | func TestOpenVMessAEADHeader4(t *testing.T) { function TestOpenVMessAEADHeader4Massive (line 77) | func TestOpenVMessAEADHeader4Massive(t *testing.T) { FILE: proxy/vmess/aead/kdf.go type hash2 (line 9) | type hash2 struct function KDF (line 13) | func KDF(key []byte, path ...string) []byte { function KDF16 (line 30) | func KDF16(key []byte, path ...string) []byte { FILE: proxy/vmess/encoding/auth.go function Authenticate (line 14) | func Authenticate(b []byte) uint32 { type NoOpAuthenticator (line 21) | type NoOpAuthenticator struct method NonceSize (line 23) | func (NoOpAuthenticator) NonceSize() int { method Overhead (line 27) | func (NoOpAuthenticator) Overhead() int { method Seal (line 32) | func (NoOpAuthenticator) Seal(dst, nonce, plaintext, additionalData []... method Open (line 37) | func (NoOpAuthenticator) Open(dst, nonce, ciphertext, additionalData [... function GenerateChacha20Poly1305Key (line 42) | func GenerateChacha20Poly1305Key(b []byte) []byte { type ShakeSizeParser (line 51) | type ShakeSizeParser struct method SizeBytes (line 64) | func (*ShakeSizeParser) SizeBytes() int32 { method next (line 68) | func (s *ShakeSizeParser) next() uint16 { method Decode (line 73) | func (s *ShakeSizeParser) Decode(b []byte) (uint16, error) { method Encode (line 79) | func (s *ShakeSizeParser) Encode(size uint16, b []byte) []byte { method NextPaddingLen (line 85) | func (s *ShakeSizeParser) NextPaddingLen() uint16 { method MaxPaddingLen (line 89) | func (s *ShakeSizeParser) MaxPaddingLen() uint16 { function NewShakeSizeParser (line 56) | func NewShakeSizeParser(nonce []byte) *ShakeSizeParser { type AEADSizeParser (line 93) | type AEADSizeParser struct function NewAEADSizeParser (line 97) | func NewAEADSizeParser(auth *crypto.AEADAuthenticator) *AEADSizeParser { FILE: proxy/vmess/encoding/client.go type ClientSession (line 26) | type ClientSession struct method EncodeRequestHeader (line 63) | func (c *ClientSession) EncodeRequestHeader(header *protocol.RequestHe... method EncodeRequestBody (line 104) | func (c *ClientSession) EncodeRequestBody(request *protocol.RequestHea... method DecodeResponseHeader (line 179) | func (c *ClientSession) DecodeResponseHeader(reader io.Reader) (*proto... method DecodeResponseBody (line 255) | func (c *ClientSession) DecodeResponseBody(request *protocol.RequestHe... function NewClientSession (line 38) | func NewClientSession(ctx context.Context, behaviorSeed int64) *ClientSe... function GenerateChunkNonce (line 332) | func GenerateChunkNonce(nonce []byte, size uint32) crypto.BytesGenerator { FILE: proxy/vmess/encoding/commands.go function MarshalCommand (line 21) | func MarshalCommand(command interface{}, writer io.Writer) error { function UnmarshalCommand (line 52) | func UnmarshalCommand(cmdID byte, data []byte) (protocol.ResponseCommand... type CommandFactory (line 70) | type CommandFactory interface FILE: proxy/vmess/encoding/encoding.go constant Version (line 9) | Version = byte(1) FILE: proxy/vmess/encoding/encoding_test.go function toAccount (line 17) | func toAccount(a *vmess.Account) protocol.Account { function TestRequestSerialization (line 23) | func TestRequestSerialization(t *testing.T) { function TestInvalidRequest (line 72) | func TestInvalidRequest(t *testing.T) { function TestMuxRequest (line 113) | func TestMuxRequest(t *testing.T) { FILE: proxy/vmess/encoding/server.go type sessionID (line 26) | type sessionID struct type SessionHistory (line 33) | type SessionHistory struct method Close (line 52) | func (h *SessionHistory) Close() error { method addIfNotExits (line 56) | func (h *SessionHistory) addIfNotExits(session sessionID) bool { method removeExpiredEntries (line 70) | func (h *SessionHistory) removeExpiredEntries() error { function NewSessionHistory (line 40) | func NewSessionHistory() *SessionHistory { type ServerSession (line 94) | type ServerSession struct method DecodeRequestHeader (line 127) | func (s *ServerSession) DecodeRequestHeader(reader io.Reader, isDrain ... method DecodeRequestBody (line 250) | func (s *ServerSession) DecodeRequestBody(request *protocol.RequestHea... method EncodeResponseHeader (line 328) | func (s *ServerSession) EncodeResponseHeader(header *protocol.Response... method EncodeResponseBody (line 372) | func (s *ServerSession) EncodeResponseBody(request *protocol.RequestHe... function NewServerSession (line 107) | func NewServerSession(validator *vmess.TimedUserValidator, sessionHistor... function parseSecurityType (line 114) | func parseSecurityType(b byte) protocol.SecurityType { FILE: proxy/vmess/inbound/config.go method GetDefaultValue (line 4) | func (c *Config) GetDefaultValue() *DefaultConfig { FILE: proxy/vmess/inbound/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type DetourConfig (line 25) | type DetourConfig struct method Reset (line 32) | func (x *DetourConfig) Reset() { method String (line 39) | func (x *DetourConfig) String() string { method ProtoMessage (line 43) | func (*DetourConfig) ProtoMessage() {} method ProtoReflect (line 45) | func (x *DetourConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*DetourConfig) Descriptor() ([]byte, []int) { method GetTo (line 62) | func (x *DetourConfig) GetTo() string { type DefaultConfig (line 69) | type DefaultConfig struct method Reset (line 76) | func (x *DefaultConfig) Reset() { method String (line 83) | func (x *DefaultConfig) String() string { method ProtoMessage (line 87) | func (*DefaultConfig) ProtoMessage() {} method ProtoReflect (line 89) | func (x *DefaultConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 102) | func (*DefaultConfig) Descriptor() ([]byte, []int) { method GetLevel (line 106) | func (x *DefaultConfig) GetLevel() uint32 { type Config (line 113) | type Config struct method Reset (line 121) | func (x *Config) Reset() { method String (line 128) | func (x *Config) String() string { method ProtoMessage (line 132) | func (*Config) ProtoMessage() {} method ProtoReflect (line 134) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 147) | func (*Config) Descriptor() ([]byte, []int) { method GetUser (line 151) | func (x *Config) GetUser() []*protocol.User { method GetDefault (line 158) | func (x *Config) GetDefault() *DefaultConfig { constant file_proxy_vmess_inbound_config_proto_rawDesc (line 167) | file_proxy_vmess_inbound_config_proto_rawDesc = "" + function file_proxy_vmess_inbound_config_proto_rawDescGZIP (line 184) | func file_proxy_vmess_inbound_config_proto_rawDescGZIP() []byte { function init (line 208) | func init() { file_proxy_vmess_inbound_config_proto_init() } function file_proxy_vmess_inbound_config_proto_init (line 209) | func file_proxy_vmess_inbound_config_proto_init() { FILE: proxy/vmess/inbound/inbound.go type userByEmail (line 29) | type userByEmail struct method addNoLock (line 42) | func (v *userByEmail) addNoLock(u *protocol.MemoryUser) bool { method Add (line 52) | func (v *userByEmail) Add(u *protocol.MemoryUser) bool { method GetOrGenerate (line 59) | func (v *userByEmail) GetOrGenerate(email string) (*protocol.MemoryUse... method Get (line 83) | func (v *userByEmail) Get(email string) *protocol.MemoryUser { method Remove (line 90) | func (v *userByEmail) Remove(email string) bool { function newUserByEmail (line 35) | func newUserByEmail(config *DefaultConfig) *userByEmail { type Handler (line 104) | type Handler struct method Close (line 138) | func (h *Handler) Close() error { method Network (line 145) | func (*Handler) Network() []net.Network { method GetOrGenerateUser (line 149) | func (h *Handler) GetOrGenerateUser(email string) *protocol.MemoryUser { method GetUser (line 157) | func (h *Handler) GetUser(ctx context.Context, email string) *protocol... method GetUsers (line 161) | func (h *Handler) GetUsers(ctx context.Context) []*protocol.MemoryUser { method GetUsersCount (line 165) | func (h *Handler) GetUsersCount(context.Context) int64 { method AddUser (line 169) | func (h *Handler) AddUser(ctx context.Context, user *protocol.MemoryUs... method RemoveUser (line 176) | func (h *Handler) RemoveUser(ctx context.Context, email string) error { method Process (line 226) | func (h *Handler) Process(ctx context.Context, network net.Network, co... method generateCommand (line 322) | func (h *Handler) generateCommand(ctx context.Context, request *protoc... function New (line 113) | func New(ctx context.Context, config *Config) (*Handler, error) { function transferResponse (line 187) | func transferResponse(timer signal.ActivityUpdater, session *encoding.Se... function init (line 326) | func init() { FILE: proxy/vmess/outbound/command.go method handleCommand (line 10) | func (h *Handler) handleCommand(dest net.Destination, cmd protocol.Respo... FILE: proxy/vmess/outbound/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 25) | type Config struct method Reset (line 32) | func (x *Config) Reset() { method String (line 39) | func (x *Config) String() string { method ProtoMessage (line 43) | func (*Config) ProtoMessage() {} method ProtoReflect (line 45) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*Config) Descriptor() ([]byte, []int) { method GetReceiver (line 62) | func (x *Config) GetReceiver() *protocol.ServerEndpoint { constant file_proxy_vmess_outbound_config_proto_rawDesc (line 71) | file_proxy_vmess_outbound_config_proto_rawDesc = "" + function file_proxy_vmess_outbound_config_proto_rawDescGZIP (line 83) | func file_proxy_vmess_outbound_config_proto_rawDescGZIP() []byte { function init (line 104) | func init() { file_proxy_vmess_outbound_config_proto_init() } function file_proxy_vmess_outbound_config_proto_init (line 105) | func file_proxy_vmess_outbound_config_proto_init() { FILE: proxy/vmess/outbound/outbound.go type Handler (line 31) | type Handler struct method Process (line 58) | func (h *Handler) Process(ctx context.Context, link *transport.Link, d... function New (line 38) | func New(ctx context.Context, config *Config) (*Handler, error) { function shouldEnablePadding (line 231) | func shouldEnablePadding(s protocol.SecurityType) bool { function init (line 235) | func init() { FILE: proxy/vmess/validator.go type TimedUserValidator (line 17) | type TimedUserValidator struct method Add (line 36) | func (v *TimedUserValidator) Add(u *protocol.MemoryUser) error { method GetUsers (line 59) | func (v *TimedUserValidator) GetUsers() []*protocol.MemoryUser { method GetCount (line 67) | func (v *TimedUserValidator) GetCount() int64 { method GetAEAD (line 73) | func (v *TimedUserValidator) GetAEAD(userHash []byte) (*protocol.Memor... method Remove (line 87) | func (v *TimedUserValidator) Remove(email string) bool { method GetBehaviorSeed (line 114) | func (v *TimedUserValidator) GetBehaviorSeed() uint64 { function NewTimedUserValidator (line 28) | func NewTimedUserValidator() *TimedUserValidator { FILE: proxy/vmess/validator_test.go function toAccount (line 12) | func toAccount(a *Account) protocol.Account { function BenchmarkUserValidator (line 18) | func BenchmarkUserValidator(b *testing.B) { FILE: proxy/wireguard/bind.go type netReadInfo (line 17) | type netReadInfo struct type netBind (line 29) | type netBind struct method SetMark (line 38) | func (bind *netBind) SetMark(mark uint32) error { method ParseEndpoint (line 43) | func (n *netBind) ParseEndpoint(s string) (conn.Endpoint, error) { method BatchSize (line 76) | func (bind *netBind) BatchSize() int { method Open (line 81) | func (bind *netBind) Open(uport uint16) ([]conn.ReceiveFunc, uint16, e... method Close (line 114) | func (bind *netBind) Close() error { type netBindClient (line 121) | type netBindClient struct method connectTo (line 129) | func (bind *netBindClient) connectTo(endpoint *netEndpoint) error { method Send (line 164) | func (bind *netBindClient) Send(buff [][]byte, endpoint conn.Endpoint)... type netBindServer (line 190) | type netBindServer struct method Send (line 194) | func (bind *netBindServer) Send(buff [][]byte, endpoint conn.Endpoint)... type netEndpoint (line 215) | type netEndpoint struct method ClearSrc (line 220) | func (netEndpoint) ClearSrc() {} method DstIP (line 222) | func (e netEndpoint) DstIP() netip.Addr { method SrcIP (line 226) | func (e netEndpoint) SrcIP() netip.Addr { method DstToBytes (line 230) | func (e netEndpoint) DstToBytes() []byte { method DstToString (line 241) | func (e netEndpoint) DstToString() string { method SrcToString (line 245) | func (e netEndpoint) SrcToString() string { function toNetIpAddr (line 249) | func toNetIpAddr(addr net.Address) netip.Addr { FILE: proxy/wireguard/client.go type Handler (line 48) | type Handler struct method Close (line 80) | func (h *Handler) Close() (err error) { method processWireGuard (line 94) | func (h *Handler) processWireGuard(ctx context.Context, dialer interne... method Process (line 145) | func (h *Handler) Process(ctx context.Context, link *transport.Link, d... method makeVirtualTun (line 255) | func (h *Handler) makeVirtualTun() (Tunnel, error) { method createIPCRequest (line 272) | func (h *Handler) createIPCRequest() string { function New (line 61) | func New(ctx context.Context, conf *DeviceConfig) (*Handler, error) { FILE: proxy/wireguard/config.go method preferIP4 (line 9) | func (c *DeviceConfig) preferIP4() bool { method preferIP6 (line 15) | func (c *DeviceConfig) preferIP6() bool { method hasFallback (line 21) | func (c *DeviceConfig) hasFallback() bool { method fallbackIP4 (line 25) | func (c *DeviceConfig) fallbackIP4() bool { method fallbackIP6 (line 29) | func (c *DeviceConfig) fallbackIP6() bool { method createTun (line 33) | func (c *DeviceConfig) createTun() tunCreator { FILE: proxy/wireguard/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type DeviceConfig_DomainStrategy (line 24) | type DeviceConfig_DomainStrategy method Enum (line 52) | func (x DeviceConfig_DomainStrategy) Enum() *DeviceConfig_DomainStrate... method String (line 58) | func (x DeviceConfig_DomainStrategy) String() string { method Descriptor (line 62) | func (DeviceConfig_DomainStrategy) Descriptor() protoreflect.EnumDescr... method Type (line 66) | func (DeviceConfig_DomainStrategy) Type() protoreflect.EnumType { method Number (line 70) | func (x DeviceConfig_DomainStrategy) Number() protoreflect.EnumNumber { method EnumDescriptor (line 75) | func (DeviceConfig_DomainStrategy) EnumDescriptor() ([]byte, []int) { constant DeviceConfig_FORCE_IP (line 27) | DeviceConfig_FORCE_IP DeviceConfig_DomainStrategy = 0 constant DeviceConfig_FORCE_IP4 (line 28) | DeviceConfig_FORCE_IP4 DeviceConfig_DomainStrategy = 1 constant DeviceConfig_FORCE_IP6 (line 29) | DeviceConfig_FORCE_IP6 DeviceConfig_DomainStrategy = 2 constant DeviceConfig_FORCE_IP46 (line 30) | DeviceConfig_FORCE_IP46 DeviceConfig_DomainStrategy = 3 constant DeviceConfig_FORCE_IP64 (line 31) | DeviceConfig_FORCE_IP64 DeviceConfig_DomainStrategy = 4 type PeerConfig (line 79) | type PeerConfig struct method Reset (line 90) | func (x *PeerConfig) Reset() { method String (line 97) | func (x *PeerConfig) String() string { method ProtoMessage (line 101) | func (*PeerConfig) ProtoMessage() {} method ProtoReflect (line 103) | func (x *PeerConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 116) | func (*PeerConfig) Descriptor() ([]byte, []int) { method GetPublicKey (line 120) | func (x *PeerConfig) GetPublicKey() string { method GetPreSharedKey (line 127) | func (x *PeerConfig) GetPreSharedKey() string { method GetEndpoint (line 134) | func (x *PeerConfig) GetEndpoint() string { method GetKeepAlive (line 141) | func (x *PeerConfig) GetKeepAlive() uint32 { method GetAllowedIps (line 148) | func (x *PeerConfig) GetAllowedIps() []string { type DeviceConfig (line 155) | type DeviceConfig struct method Reset (line 170) | func (x *DeviceConfig) Reset() { method String (line 177) | func (x *DeviceConfig) String() string { method ProtoMessage (line 181) | func (*DeviceConfig) ProtoMessage() {} method ProtoReflect (line 183) | func (x *DeviceConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 196) | func (*DeviceConfig) Descriptor() ([]byte, []int) { method GetSecretKey (line 200) | func (x *DeviceConfig) GetSecretKey() string { method GetEndpoint (line 207) | func (x *DeviceConfig) GetEndpoint() []string { method GetPeers (line 214) | func (x *DeviceConfig) GetPeers() []*PeerConfig { method GetMtu (line 221) | func (x *DeviceConfig) GetMtu() int32 { method GetNumWorkers (line 228) | func (x *DeviceConfig) GetNumWorkers() int32 { method GetReserved (line 235) | func (x *DeviceConfig) GetReserved() []byte { method GetDomainStrategy (line 242) | func (x *DeviceConfig) GetDomainStrategy() DeviceConfig_DomainStrategy { method GetIsClient (line 249) | func (x *DeviceConfig) GetIsClient() bool { method GetNoKernelTun (line 256) | func (x *DeviceConfig) GetNoKernelTun() bool { constant file_proxy_wireguard_config_proto_rawDesc (line 265) | file_proxy_wireguard_config_proto_rawDesc = "" + function file_proxy_wireguard_config_proto_rawDescGZIP (line 305) | func file_proxy_wireguard_config_proto_rawDescGZIP() []byte { function init (line 329) | func init() { file_proxy_wireguard_config_proto_init() } function file_proxy_wireguard_config_proto_init (line 330) | func file_proxy_wireguard_config_proto_init() { FILE: proxy/wireguard/gvisortun/tun.go type netTun (line 30) | type netTun struct method BatchSize (line 103) | func (tun *netTun) BatchSize() int { method Name (line 108) | func (tun *netTun) Name() (string, error) { method File (line 113) | func (tun *netTun) File() *os.File { method Events (line 118) | func (tun *netTun) Events() <-chan tun.Event { method Read (line 124) | func (tun *netTun) Read(buf [][]byte, sizes []int, offset int) (int, e... method Write (line 139) | func (tun *netTun) Write(buf [][]byte, offset int) (int, error) { method WriteNotify (line 160) | func (tun *netTun) WriteNotify() { method Flush (line 173) | func (tun *netTun) Flush() error { method Close (line 178) | func (tun *netTun) Close() error { method MTU (line 192) | func (tun *netTun) MTU() (int, error) { type Net (line 40) | type Net method DialContextTCPAddrPort (line 210) | func (net *Net) DialContextTCPAddrPort(ctx context.Context, addr netip... method DialUDPAddrPort (line 215) | func (net *Net) DialUDPAddrPort(laddr, raddr netip.AddrPort) (*gonet.U... function CreateNetTUN (line 42) | func CreateNetTUN(localAddresses []netip.Addr, mtu int, promiscuousMode ... function convertToFullAddr (line 196) | func convertToFullAddr(endpoint netip.AddrPort) (tcpip.FullAddress, tcpi... FILE: proxy/wireguard/server.go type Server (line 26) | type Server struct method Network (line 75) | func (*Server) Network() []net.Network { method Process (line 80) | func (s *Server) Process(ctx context.Context, network net.Network, con... method forwardConnection (line 122) | func (s *Server) forwardConnection(dest net.Destination, conn net.Conn) { type routingInfo (line 33) | type routingInfo struct function NewServer (line 40) | func NewServer(ctx context.Context, conf *DeviceConfig) (*Server, error) { FILE: proxy/wireguard/server_test.go function TestWireGuardServerInitializationError (line 15) | func TestWireGuardServerInitializationError(t *testing.T) { FILE: proxy/wireguard/tun.go type tunCreator (line 28) | type tunCreator type promiscuousModeHandler (line 30) | type promiscuousModeHandler type Tunnel (line 32) | type Tunnel interface type tunnel (line 39) | type tunnel struct method BuildDevice (line 45) | func (t *tunnel) BuildDevice(ipc string, bind conn.Bind) (err error) { method Close (line 78) | func (t *tunnel) Close() (err error) { function CalculateInterfaceName (line 93) | func CalculateInterfaceName(name string) (tunName string) { type gvisorNet (line 120) | type gvisorNet struct method Close (line 125) | func (g *gvisorNet) Close() error { method DialContextTCPAddrPort (line 129) | func (g *gvisorNet) DialContextTCPAddrPort(ctx context.Context, addr n... method DialUDPAddrPort (line 135) | func (g *gvisorNet) DialUDPAddrPort(laddr, raddr netip.AddrPort) (net.... function createGVisorTun (line 139) | func createGVisorTun(localAddresses []netip.Addr, mtu int, handler promi... FILE: proxy/wireguard/tun_default.go function createKernelTun (line 10) | func createKernelTun(localAddresses []netip.Addr, mtu int, handler promi... function KernelTunSupported (line 14) | func KernelTunSupported() (bool, error) { FILE: proxy/wireguard/tun_linux.go type deviceNet (line 22) | type deviceNet struct method DialContextTCPAddrPort (line 56) | func (d *deviceNet) DialContextTCPAddrPort(ctx context.Context, addr n... method DialUDPAddrPort (line 62) | func (d *deviceNet) DialUDPAddrPort(laddr, raddr netip.AddrPort) (net.... method Close (line 68) | func (d *deviceNet) Close() (err error) { function allocateIPv6TableIndex (line 37) | func allocateIPv6TableIndex() int { function newDeviceNet (line 49) | func newDeviceNet(interfaceName string) *deviceNet { function createKernelTun (line 93) | func createKernelTun(localAddresses []netip.Addr, mtu int, handler promi... function KernelTunSupported (line 253) | func KernelTunSupported() (bool, error) { FILE: proxy/wireguard/wireguard.go function init (line 30) | func init() { function parseEndpoints (line 42) | func parseEndpoints(conf *DeviceConfig) ([]netip.Addr, bool, bool, error) { function createIPCRequest (line 77) | func createIPCRequest(conf *DeviceConfig) string { FILE: testing/mocks/dns.go type DNSClient (line 16) | type DNSClient struct method EXPECT (line 34) | func (m *DNSClient) EXPECT() *DNSClientMockRecorder { method Close (line 39) | func (m *DNSClient) Close() error { method LookupIP (line 53) | func (m *DNSClient) LookupIP(arg0 string, arg1 dns.IPOption) ([]net.IP... method Start (line 69) | func (m *DNSClient) Start() error { method Type (line 83) | func (m *DNSClient) Type() interface{} { type DNSClientMockRecorder (line 22) | type DNSClientMockRecorder struct method Close (line 47) | func (mr *DNSClientMockRecorder) Close() *gomock.Call { method LookupIP (line 63) | func (mr *DNSClientMockRecorder) LookupIP(arg0, arg1 interface{}) *gom... method Start (line 77) | func (mr *DNSClientMockRecorder) Start() *gomock.Call { method Type (line 91) | func (mr *DNSClientMockRecorder) Type() *gomock.Call { function NewDNSClient (line 27) | func NewDNSClient(ctrl *gomock.Controller) *DNSClient { FILE: testing/mocks/io.go type Reader (line 14) | type Reader struct method EXPECT (line 32) | func (m *Reader) EXPECT() *ReaderMockRecorder { method Read (line 37) | func (m *Reader) Read(arg0 []byte) (int, error) { type ReaderMockRecorder (line 20) | type ReaderMockRecorder struct method Read (line 46) | func (mr *ReaderMockRecorder) Read(arg0 interface{}) *gomock.Call { function NewReader (line 25) | func NewReader(ctrl *gomock.Controller) *Reader { type Writer (line 52) | type Writer struct method EXPECT (line 70) | func (m *Writer) EXPECT() *WriterMockRecorder { method Write (line 75) | func (m *Writer) Write(arg0 []byte) (int, error) { type WriterMockRecorder (line 58) | type WriterMockRecorder struct method Write (line 84) | func (mr *WriterMockRecorder) Write(arg0 interface{}) *gomock.Call { function NewWriter (line 63) | func NewWriter(ctrl *gomock.Controller) *Writer { FILE: testing/mocks/log.go type LogHandler (line 15) | type LogHandler struct method EXPECT (line 33) | func (m *LogHandler) EXPECT() *LogHandlerMockRecorder { method Handle (line 38) | func (m *LogHandler) Handle(arg0 log.Message) { type LogHandlerMockRecorder (line 21) | type LogHandlerMockRecorder struct method Handle (line 44) | func (mr *LogHandlerMockRecorder) Handle(arg0 interface{}) *gomock.Call { function NewLogHandler (line 26) | func NewLogHandler(ctrl *gomock.Controller) *LogHandler { FILE: testing/mocks/mux.go type MuxClientWorkerFactory (line 15) | type MuxClientWorkerFactory struct method EXPECT (line 33) | func (m *MuxClientWorkerFactory) EXPECT() *MuxClientWorkerFactoryMockR... method Create (line 38) | func (m *MuxClientWorkerFactory) Create() (*mux.ClientWorker, error) { type MuxClientWorkerFactoryMockRecorder (line 21) | type MuxClientWorkerFactoryMockRecorder struct method Create (line 47) | func (mr *MuxClientWorkerFactoryMockRecorder) Create() *gomock.Call { function NewMuxClientWorkerFactory (line 26) | func NewMuxClientWorkerFactory(ctrl *gomock.Controller) *MuxClientWorker... FILE: testing/mocks/outbound.go type OutboundManager (line 16) | type OutboundManager struct method EXPECT (line 34) | func (m *OutboundManager) EXPECT() *OutboundManagerMockRecorder { method AddHandler (line 39) | func (m *OutboundManager) AddHandler(arg0 context.Context, arg1 outbou... method Close (line 53) | func (m *OutboundManager) Close() error { method GetDefaultHandler (line 67) | func (m *OutboundManager) GetDefaultHandler() outbound.Handler { method GetHandler (line 81) | func (m *OutboundManager) GetHandler(arg0 string) outbound.Handler { method ListHandlers (line 95) | func (m *OutboundManager) ListHandlers(arg0 context.Context) []outboun... method RemoveHandler (line 109) | func (m *OutboundManager) RemoveHandler(arg0 context.Context, arg1 str... method Start (line 123) | func (m *OutboundManager) Start() error { method Type (line 137) | func (m *OutboundManager) Type() interface{} { type OutboundManagerMockRecorder (line 22) | type OutboundManagerMockRecorder struct method AddHandler (line 47) | func (mr *OutboundManagerMockRecorder) AddHandler(arg0, arg1 interface... method Close (line 61) | func (mr *OutboundManagerMockRecorder) Close() *gomock.Call { method GetDefaultHandler (line 75) | func (mr *OutboundManagerMockRecorder) GetDefaultHandler() *gomock.Call { method GetHandler (line 89) | func (mr *OutboundManagerMockRecorder) GetHandler(arg0 interface{}) *g... method ListHandlers (line 103) | func (mr *OutboundManagerMockRecorder) ListHandlers(arg0 interface{}) ... method RemoveHandler (line 117) | func (mr *OutboundManagerMockRecorder) RemoveHandler(arg0, arg1 interf... method Start (line 131) | func (mr *OutboundManagerMockRecorder) Start() *gomock.Call { method Type (line 145) | func (mr *OutboundManagerMockRecorder) Type() *gomock.Call { function NewOutboundManager (line 27) | func NewOutboundManager(ctrl *gomock.Controller) *OutboundManager { type OutboundHandlerSelector (line 151) | type OutboundHandlerSelector struct method EXPECT (line 169) | func (m *OutboundHandlerSelector) EXPECT() *OutboundHandlerSelectorMoc... method Select (line 174) | func (m *OutboundHandlerSelector) Select(arg0 []string) []string { type OutboundHandlerSelectorMockRecorder (line 157) | type OutboundHandlerSelectorMockRecorder struct method Select (line 182) | func (mr *OutboundHandlerSelectorMockRecorder) Select(arg0 interface{}... function NewOutboundHandlerSelector (line 162) | func NewOutboundHandlerSelector(ctrl *gomock.Controller) *OutboundHandle... FILE: testing/mocks/proxy.go type ProxyInbound (line 20) | type ProxyInbound struct method EXPECT (line 38) | func (m *ProxyInbound) EXPECT() *ProxyInboundMockRecorder { method Network (line 43) | func (m *ProxyInbound) Network() []net.Network { method Process (line 57) | func (m *ProxyInbound) Process(arg0 context.Context, arg1 net.Network,... type ProxyInboundMockRecorder (line 26) | type ProxyInboundMockRecorder struct method Network (line 51) | func (mr *ProxyInboundMockRecorder) Network() *gomock.Call { method Process (line 65) | func (mr *ProxyInboundMockRecorder) Process(arg0, arg1, arg2, arg3 int... function NewProxyInbound (line 31) | func NewProxyInbound(ctrl *gomock.Controller) *ProxyInbound { type ProxyOutbound (line 71) | type ProxyOutbound struct method EXPECT (line 89) | func (m *ProxyOutbound) EXPECT() *ProxyOutboundMockRecorder { method Process (line 94) | func (m *ProxyOutbound) Process(arg0 context.Context, arg1 *transport.... type ProxyOutboundMockRecorder (line 77) | type ProxyOutboundMockRecorder struct method Process (line 102) | func (mr *ProxyOutboundMockRecorder) Process(arg0, arg1, arg2 interfac... function NewProxyOutbound (line 82) | func NewProxyOutbound(ctrl *gomock.Controller) *ProxyOutbound { FILE: testing/scenarios/command_test.go function TestCommanderListenConfigurationItem (line 37) | func TestCommanderListenConfigurationItem(t *testing.T) { function TestCommanderRemoveHandler (line 111) | func TestCommanderRemoveHandler(t *testing.T) { function TestCommanderListHandlers (line 206) | func TestCommanderListHandlers(t *testing.T) { function TestCommanderAddRemoveUser (line 316) | func TestCommanderAddRemoveUser(t *testing.T) { function TestCommanderStats (line 489) | func TestCommanderStats(t *testing.T) { FILE: testing/scenarios/common.go function xor (line 30) | func xor(b []byte) []byte { function readFrom (line 38) | func readFrom(conn net.Conn, timeout time.Duration, length int) []byte { function readFrom2 (line 49) | func readFrom2(conn net.Conn, timeout time.Duration, length int) ([]byte... function InitializeServerConfigs (line 60) | func InitializeServerConfigs(configs ...*core.Config) ([]*exec.Cmd, erro... function InitializeServerConfig (line 77) | func InitializeServerConfig(config *core.Config) (*exec.Cmd, error) { function genTestBinaryPath (line 103) | func genTestBinaryPath() { function GetSourcePath (line 124) | func GetSourcePath() string { function CloseAllServers (line 128) | func CloseAllServers(servers []*exec.Cmd) { function CloseServer (line 149) | func CloseServer(server *exec.Cmd) { function withDefaultApps (line 166) | func withDefaultApps(config *core.Config) *core.Config { function testTCPConn (line 173) | func testTCPConn(port net.Port, payloadSize int, timeout time.Duration) ... function testUDPConn (line 188) | func testUDPConn(port net.Port, payloadSize int, timeout time.Duration) ... function testTCPConn2 (line 203) | func testTCPConn2(conn net.Conn, payloadSize int, timeout time.Duration)... function WaitConnAvailableWithTest (line 254) | func WaitConnAvailableWithTest(t *testing.T, testFunc func() error) bool { FILE: testing/scenarios/common_coverage.go function BuildXray (line 14) | func BuildXray() error { function RunXrayProtobuf (line 24) | func RunXrayProtobuf(config []byte) *exec.Cmd { FILE: testing/scenarios/common_regular.go function BuildXray (line 13) | func BuildXray() error { function RunXrayProtobuf (line 26) | func RunXrayProtobuf(config []byte) *exec.Cmd { FILE: testing/scenarios/dns_test.go function TestResolveIP (line 23) | func TestResolveIP(t *testing.T) { FILE: testing/scenarios/dokodemo_test.go function TestDokodemoTCP (line 26) | func TestDokodemoTCP(t *testing.T) { function TestDokodemoUDP (line 130) | func TestDokodemoUDP(t *testing.T) { FILE: testing/scenarios/feature_test.go function TestPassiveConnection (line 38) | func TestPassiveConnection(t *testing.T) { function TestProxy (line 93) | func TestProxy(t *testing.T) { function TestProxyOverKCP (line 215) | func TestProxyOverKCP(t *testing.T) { function TestBlackhole (line 348) | func TestBlackhole(t *testing.T) { function TestForward (line 425) | func TestForward(t *testing.T) { function TestUDPConnection (line 482) | func TestUDPConnection(t *testing.T) { function TestDomainSniffing (line 527) | func TestDomainSniffing(t *testing.T) { function TestDialXray (line 621) | func TestDialXray(t *testing.T) { FILE: testing/scenarios/http_test.go function TestHttpConformance (line 27) | func TestHttpConformance(t *testing.T) { function TestHttpError (line 84) | func TestHttpError(t *testing.T) { function TestHTTPConnectMethod (line 138) | func TestHTTPConnectMethod(t *testing.T) { function TestHttpPost (line 202) | func TestHttpPost(t *testing.T) { function setProxyBasicAuth (line 276) | func setProxyBasicAuth(req *http.Request, user, pass string) { function TestHttpBasicAuth (line 282) | func TestHttpBasicAuth(t *testing.T) { FILE: testing/scenarios/main_test.go function TestMain (line 7) | func TestMain(m *testing.M) { FILE: testing/scenarios/metrics_test.go constant expectedMessage (line 22) | expectedMessage = "goroutine profile: total" function TestMetrics (line 24) | func TestMetrics(t *testing.T) { FILE: testing/scenarios/policy_test.go function startQuickClosingTCPServer (line 27) | func startQuickClosingTCPServer() (net.Listener, error) { function TestVMessClosing (line 46) | func TestVMessClosing(t *testing.T) { function TestZeroBuffer (line 148) | func TestZeroBuffer(t *testing.T) { FILE: testing/scenarios/reverse_test.go function TestReverseProxy (line 29) | func TestReverseProxy(t *testing.T) { function TestReverseProxyLongRunning (line 190) | func TestReverseProxyLongRunning(t *testing.T) { FILE: testing/scenarios/shadowsocks_2022_test.go function TestShadowsocks2022Tcp (line 25) | func TestShadowsocks2022Tcp(t *testing.T) { function TestShadowsocks2022UdpAES128 (line 35) | func TestShadowsocks2022UdpAES128(t *testing.T) { function TestShadowsocks2022UdpAES256 (line 41) | func TestShadowsocks2022UdpAES256(t *testing.T) { function TestShadowsocks2022UdpChacha (line 47) | func TestShadowsocks2022UdpChacha(t *testing.T) { function testShadowsocks2022Tcp (line 53) | func testShadowsocks2022Tcp(t *testing.T, method string, password string) { function testShadowsocks2022Udp (line 136) | func testShadowsocks2022Udp(t *testing.T, method string, password string) { FILE: testing/scenarios/shadowsocks_test.go function TestShadowsocksChaCha20Poly1305TCP (line 23) | func TestShadowsocksChaCha20Poly1305TCP(t *testing.T) { function TestShadowsocksAES256GCMTCP (line 103) | func TestShadowsocksAES256GCMTCP(t *testing.T) { function TestShadowsocksAES128GCMUDP (line 196) | func TestShadowsocksAES128GCMUDP(t *testing.T) { function TestShadowsocksAES128GCMUDPMux (line 288) | func TestShadowsocksAES128GCMUDPMux(t *testing.T) { function TestShadowsocksNone (line 386) | func TestShadowsocksNone(t *testing.T) { FILE: testing/scenarios/socks_test.go function TestSocksBridgeTCP (line 25) | func TestSocksBridgeTCP(t *testing.T) { function TestSocksWithHttpRequest (line 100) | func TestSocksWithHttpRequest(t *testing.T) { function TestSocksBridageUDP (line 175) | func TestSocksBridageUDP(t *testing.T) { function TestSocksBridageUDPWithRouting (line 275) | func TestSocksBridageUDPWithRouting(t *testing.T) { function TestSocksConformanceMod (line 384) | func TestSocksConformanceMod(t *testing.T) { FILE: testing/scenarios/tls_test.go function TestSimpleTLSConnection (line 31) | func TestSimpleTLSConnection(t *testing.T) { function TestAutoIssuingCertificate (line 127) | func TestAutoIssuingCertificate(t *testing.T) { function TestTLSOverKCP (line 244) | func TestTLSOverKCP(t *testing.T) { function TestTLSOverWebSocket (line 342) | func TestTLSOverWebSocket(t *testing.T) { function TestGRPC (line 450) | func TestGRPC(t *testing.T) { function TestGRPCMultiMode (line 564) | func TestGRPCMultiMode(t *testing.T) { function TestSimpleTLSConnectionPinned (line 678) | func TestSimpleTLSConnectionPinned(t *testing.T) { function TestSimpleTLSConnectionPinnedWrongCert (line 774) | func TestSimpleTLSConnectionPinnedWrongCert(t *testing.T) { function TestUTLSConnectionPinned (line 871) | func TestUTLSConnectionPinned(t *testing.T) { function TestUTLSConnectionPinnedWrongCert (line 968) | func TestUTLSConnectionPinnedWrongCert(t *testing.T) { FILE: testing/scenarios/transport_test.go function TestHTTPConnectionHeader (line 25) | func TestHTTPConnectionHeader(t *testing.T) { FILE: testing/scenarios/vless_test.go function TestVless (line 33) | func TestVless(t *testing.T) { function TestVlessTls (line 125) | func TestVlessTls(t *testing.T) { function TestVlessXtlsVision (line 245) | func TestVlessXtlsVision(t *testing.T) { function TestVlessXtlsVisionReality (line 367) | func TestVlessXtlsVisionReality(t *testing.T) { function TestVlessRealityFingerprints (line 505) | func TestVlessRealityFingerprints(t *testing.T) { FILE: testing/scenarios/vmess_test.go function TestVMessGCM (line 29) | func TestVMessGCM(t *testing.T) { function TestVMessGCMReadv (line 127) | func TestVMessGCMReadv(t *testing.T) { function TestVMessGCMUDP (line 228) | func TestVMessGCMUDP(t *testing.T) { function TestVMessChacha20 (line 323) | func TestVMessChacha20(t *testing.T) { function TestVMessNone (line 419) | func TestVMessNone(t *testing.T) { function TestVMessKCP (line 514) | func TestVMessKCP(t *testing.T) { function TestVMessKCPLarge (line 617) | func TestVMessKCPLarge(t *testing.T) { function TestVMessGCMMux (line 762) | func TestVMessGCMMux(t *testing.T) { function TestVMessGCMMuxUDP (line 866) | func TestVMessGCMMuxUDP(t *testing.T) { function TestVMessZero (line 994) | func TestVMessZero(t *testing.T) { function TestVMessGCMLengthAuth (line 1089) | func TestVMessGCMLengthAuth(t *testing.T) { function TestVMessGCMLengthAuthPlusNoTerminationSignal (line 1188) | func TestVMessGCMLengthAuthPlusNoTerminationSignal(t *testing.T) { FILE: testing/scenarios/wireguard_test.go function TestWireguard (line 23) | func TestWireguard(t *testing.T) { FILE: testing/servers/http/http.go type Server (line 9) | type Server struct method ServeHTTP (line 15) | func (s *Server) ServeHTTP(resp http.ResponseWriter, req *http.Request) { method Start (line 29) | func (s *Server) Start() (net.Destination, error) { method Close (line 38) | func (s *Server) Close() error { FILE: testing/servers/tcp/port.go function PickPort (line 9) | func PickPort() net.Port { FILE: testing/servers/tcp/tcp.go type Server (line 15) | type Server struct method Start (line 24) | func (server *Server) Start() (net.Destination, error) { method StartContext (line 28) | func (server *Server) StartContext(ctx context.Context, sockopt *inter... method acceptConnections (line 49) | func (server *Server) acceptConnections(listener *net.TCPListener) { method handleConnection (line 61) | func (server *Server) handleConnection(conn net.Conn) { method Close (line 107) | func (server *Server) Close() error { FILE: testing/servers/udp/port.go function PickPort (line 9) | func PickPort() net.Port { FILE: testing/servers/udp/udp.go type Server (line 9) | type Server struct method Start (line 16) | func (server *Server) Start() (net.Destination, error) { method handleConnection (line 34) | func (server *Server) handleConnection(conn *net.UDPConn) { method Close (line 51) | func (server *Server) Close() error { FILE: transport/internet/browser_dialer/dialer.go type task (line 21) | type task struct function init (line 39) | func init() { function HasBrowserDialer (line 63) | func HasBrowserDialer() bool { type webSocketExtra (line 67) | type webSocketExtra struct function DialWS (line 71) | func DialWS(uri string, ed []byte) (*websocket.Conn, error) { type httpExtra (line 87) | type httpExtra struct function httpExtraFromHeadersAndCookies (line 93) | func httpExtraFromHeadersAndCookies(headers http.Header, cookies []*http... function DialGet (line 121) | func DialGet(uri string, headers http.Header, cookies []*http.Cookie) (*... function DialPacket (line 132) | func DialPacket(method string, uri string, headers http.Header, cookies ... function dialWithBody (line 136) | func dialWithBody(method string, uri string, headers http.Header, cookie... function dialTask (line 163) | func dialTask(task task) (*websocket.Conn, error) { function CheckOK (line 186) | func CheckOK(conn *websocket.Conn) error { FILE: transport/internet/config.go type ConfigCreator (line 9) | type ConfigCreator constant unknownProtocol (line 30) | unknownProtocol = "unknown" function RegisterProtocolConfigCreator (line 32) | func RegisterProtocolConfigCreator(name string, creator ConfigCreator) e... function CreateTransportConfig (line 42) | func CreateTransportConfig(name string) (interface{}, error) { method GetTypedSettings (line 50) | func (c *TransportConfig) GetTypedSettings() (interface{}, error) { method GetUnifiedProtocolName (line 54) | func (c *TransportConfig) GetUnifiedProtocolName() string { method GetEffectiveProtocol (line 58) | func (c *StreamConfig) GetEffectiveProtocol() string { method GetEffectiveTransportSettings (line 66) | func (c *StreamConfig) GetEffectiveTransportSettings() (interface{}, err... method GetTransportSettingsFor (line 71) | func (c *StreamConfig) GetTransportSettingsFor(protocol string) (interfa... method GetEffectiveSecuritySettings (line 83) | func (c *StreamConfig) GetEffectiveSecuritySettings() (interface{}, erro... method HasSecuritySettings (line 92) | func (c *StreamConfig) HasSecuritySettings() bool { method HasTag (line 96) | func (c *ProxyConfig) HasTag() bool { method IsEnabled (line 100) | func (m SocketConfig_TProxyMode) IsEnabled() bool { method HasStrategy (line 104) | func (s DomainStrategy) HasStrategy() bool { method ForceIP (line 108) | func (s DomainStrategy) ForceIP() bool { method PreferIP4 (line 112) | func (s DomainStrategy) PreferIP4() bool { method PreferIP6 (line 116) | func (s DomainStrategy) PreferIP6() bool { method HasFallback (line 120) | func (s DomainStrategy) HasFallback() bool { method FallbackIP4 (line 124) | func (s DomainStrategy) FallbackIP4() bool { method FallbackIP6 (line 128) | func (s DomainStrategy) FallbackIP6() bool { method GetDynamicStrategy (line 132) | func (s DomainStrategy) GetDynamicStrategy(addrFamily net.AddressFamily)... FILE: transport/internet/config.pb.go constant _ (line 21) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 23) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type DomainStrategy (line 26) | type DomainStrategy method Enum (line 72) | func (x DomainStrategy) Enum() *DomainStrategy { method String (line 78) | func (x DomainStrategy) String() string { method Descriptor (line 82) | func (DomainStrategy) Descriptor() protoreflect.EnumDescriptor { method Type (line 86) | func (DomainStrategy) Type() protoreflect.EnumType { method Number (line 90) | func (x DomainStrategy) Number() protoreflect.EnumNumber { method EnumDescriptor (line 95) | func (DomainStrategy) EnumDescriptor() ([]byte, []int) { constant DomainStrategy_AS_IS (line 29) | DomainStrategy_AS_IS DomainStrategy = 0 constant DomainStrategy_USE_IP (line 30) | DomainStrategy_USE_IP DomainStrategy = 1 constant DomainStrategy_USE_IP4 (line 31) | DomainStrategy_USE_IP4 DomainStrategy = 2 constant DomainStrategy_USE_IP6 (line 32) | DomainStrategy_USE_IP6 DomainStrategy = 3 constant DomainStrategy_USE_IP46 (line 33) | DomainStrategy_USE_IP46 DomainStrategy = 4 constant DomainStrategy_USE_IP64 (line 34) | DomainStrategy_USE_IP64 DomainStrategy = 5 constant DomainStrategy_FORCE_IP (line 35) | DomainStrategy_FORCE_IP DomainStrategy = 6 constant DomainStrategy_FORCE_IP4 (line 36) | DomainStrategy_FORCE_IP4 DomainStrategy = 7 constant DomainStrategy_FORCE_IP6 (line 37) | DomainStrategy_FORCE_IP6 DomainStrategy = 8 constant DomainStrategy_FORCE_IP46 (line 38) | DomainStrategy_FORCE_IP46 DomainStrategy = 9 constant DomainStrategy_FORCE_IP64 (line 39) | DomainStrategy_FORCE_IP64 DomainStrategy = 10 type AddressPortStrategy (line 99) | type AddressPortStrategy method Enum (line 133) | func (x AddressPortStrategy) Enum() *AddressPortStrategy { method String (line 139) | func (x AddressPortStrategy) String() string { method Descriptor (line 143) | func (AddressPortStrategy) Descriptor() protoreflect.EnumDescriptor { method Type (line 147) | func (AddressPortStrategy) Type() protoreflect.EnumType { method Number (line 151) | func (x AddressPortStrategy) Number() protoreflect.EnumNumber { method EnumDescriptor (line 156) | func (AddressPortStrategy) EnumDescriptor() ([]byte, []int) { constant AddressPortStrategy_None (line 102) | AddressPortStrategy_None AddressPortStrategy = 0 constant AddressPortStrategy_SrvPortOnly (line 103) | AddressPortStrategy_SrvPortOnly AddressPortStrategy = 1 constant AddressPortStrategy_SrvAddressOnly (line 104) | AddressPortStrategy_SrvAddressOnly AddressPortStrategy = 2 constant AddressPortStrategy_SrvPortAndAddress (line 105) | AddressPortStrategy_SrvPortAndAddress AddressPortStrategy = 3 constant AddressPortStrategy_TxtPortOnly (line 106) | AddressPortStrategy_TxtPortOnly AddressPortStrategy = 4 constant AddressPortStrategy_TxtAddressOnly (line 107) | AddressPortStrategy_TxtAddressOnly AddressPortStrategy = 5 constant AddressPortStrategy_TxtPortAndAddress (line 108) | AddressPortStrategy_TxtPortAndAddress AddressPortStrategy = 6 type SocketConfig_TProxyMode (line 160) | type SocketConfig_TProxyMode method Enum (line 185) | func (x SocketConfig_TProxyMode) Enum() *SocketConfig_TProxyMode { method String (line 191) | func (x SocketConfig_TProxyMode) String() string { method Descriptor (line 195) | func (SocketConfig_TProxyMode) Descriptor() protoreflect.EnumDescriptor { method Type (line 199) | func (SocketConfig_TProxyMode) Type() protoreflect.EnumType { method Number (line 203) | func (x SocketConfig_TProxyMode) Number() protoreflect.EnumNumber { method EnumDescriptor (line 208) | func (SocketConfig_TProxyMode) EnumDescriptor() ([]byte, []int) { constant SocketConfig_Off (line 164) | SocketConfig_Off SocketConfig_TProxyMode = 0 constant SocketConfig_TProxy (line 166) | SocketConfig_TProxy SocketConfig_TProxyMode = 1 constant SocketConfig_Redirect (line 168) | SocketConfig_Redirect SocketConfig_TProxyMode = 2 type TransportConfig (line 212) | type TransportConfig struct method Reset (line 222) | func (x *TransportConfig) Reset() { method String (line 229) | func (x *TransportConfig) String() string { method ProtoMessage (line 233) | func (*TransportConfig) ProtoMessage() {} method ProtoReflect (line 235) | func (x *TransportConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 248) | func (*TransportConfig) Descriptor() ([]byte, []int) { method GetProtocolName (line 252) | func (x *TransportConfig) GetProtocolName() string { method GetSettings (line 259) | func (x *TransportConfig) GetSettings() *serial.TypedMessage { type StreamConfig (line 266) | type StreamConfig struct method Reset (line 285) | func (x *StreamConfig) Reset() { method String (line 292) | func (x *StreamConfig) String() string { method ProtoMessage (line 296) | func (*StreamConfig) ProtoMessage() {} method ProtoReflect (line 298) | func (x *StreamConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 311) | func (*StreamConfig) Descriptor() ([]byte, []int) { method GetAddress (line 315) | func (x *StreamConfig) GetAddress() *net.IPOrDomain { method GetPort (line 322) | func (x *StreamConfig) GetPort() uint32 { method GetProtocolName (line 329) | func (x *StreamConfig) GetProtocolName() string { method GetTransportSettings (line 336) | func (x *StreamConfig) GetTransportSettings() []*TransportConfig { method GetSecurityType (line 343) | func (x *StreamConfig) GetSecurityType() string { method GetSecuritySettings (line 350) | func (x *StreamConfig) GetSecuritySettings() []*serial.TypedMessage { method GetUdpmasks (line 357) | func (x *StreamConfig) GetUdpmasks() []*serial.TypedMessage { method GetTcpmasks (line 364) | func (x *StreamConfig) GetTcpmasks() []*serial.TypedMessage { method GetQuicParams (line 371) | func (x *StreamConfig) GetQuicParams() *QuicParams { method GetSocketSettings (line 378) | func (x *StreamConfig) GetSocketSettings() *SocketConfig { type UdpHop (line 385) | type UdpHop struct method Reset (line 394) | func (x *UdpHop) Reset() { method String (line 401) | func (x *UdpHop) String() string { method ProtoMessage (line 405) | func (*UdpHop) ProtoMessage() {} method ProtoReflect (line 407) | func (x *UdpHop) ProtoReflect() protoreflect.Message { method Descriptor (line 420) | func (*UdpHop) Descriptor() ([]byte, []int) { method GetPorts (line 424) | func (x *UdpHop) GetPorts() []uint32 { method GetIntervalMin (line 431) | func (x *UdpHop) GetIntervalMin() int64 { method GetIntervalMax (line 438) | func (x *UdpHop) GetIntervalMax() int64 { type QuicParams (line 445) | type QuicParams struct method Reset (line 463) | func (x *QuicParams) Reset() { method String (line 470) | func (x *QuicParams) String() string { method ProtoMessage (line 474) | func (*QuicParams) ProtoMessage() {} method ProtoReflect (line 476) | func (x *QuicParams) ProtoReflect() protoreflect.Message { method Descriptor (line 489) | func (*QuicParams) Descriptor() ([]byte, []int) { method GetCongestion (line 493) | func (x *QuicParams) GetCongestion() string { method GetBrutalUp (line 500) | func (x *QuicParams) GetBrutalUp() uint64 { method GetBrutalDown (line 507) | func (x *QuicParams) GetBrutalDown() uint64 { method GetUdpHop (line 514) | func (x *QuicParams) GetUdpHop() *UdpHop { method GetInitStreamReceiveWindow (line 521) | func (x *QuicParams) GetInitStreamReceiveWindow() uint64 { method GetMaxStreamReceiveWindow (line 528) | func (x *QuicParams) GetMaxStreamReceiveWindow() uint64 { method GetInitConnReceiveWindow (line 535) | func (x *QuicParams) GetInitConnReceiveWindow() uint64 { method GetMaxConnReceiveWindow (line 542) | func (x *QuicParams) GetMaxConnReceiveWindow() uint64 { method GetMaxIdleTimeout (line 549) | func (x *QuicParams) GetMaxIdleTimeout() int64 { method GetKeepAlivePeriod (line 556) | func (x *QuicParams) GetKeepAlivePeriod() int64 { method GetDisablePathMtuDiscovery (line 563) | func (x *QuicParams) GetDisablePathMtuDiscovery() bool { method GetMaxIncomingStreams (line 570) | func (x *QuicParams) GetMaxIncomingStreams() int64 { type ProxyConfig (line 577) | type ProxyConfig struct method Reset (line 585) | func (x *ProxyConfig) Reset() { method String (line 592) | func (x *ProxyConfig) String() string { method ProtoMessage (line 596) | func (*ProxyConfig) ProtoMessage() {} method ProtoReflect (line 598) | func (x *ProxyConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 611) | func (*ProxyConfig) Descriptor() ([]byte, []int) { method GetTag (line 615) | func (x *ProxyConfig) GetTag() string { method GetTransportLayerProxy (line 622) | func (x *ProxyConfig) GetTransportLayerProxy() bool { type CustomSockopt (line 629) | type CustomSockopt struct method Reset (line 641) | func (x *CustomSockopt) Reset() { method String (line 648) | func (x *CustomSockopt) String() string { method ProtoMessage (line 652) | func (*CustomSockopt) ProtoMessage() {} method ProtoReflect (line 654) | func (x *CustomSockopt) ProtoReflect() protoreflect.Message { method Descriptor (line 667) | func (*CustomSockopt) Descriptor() ([]byte, []int) { method GetSystem (line 671) | func (x *CustomSockopt) GetSystem() string { method GetNetwork (line 678) | func (x *CustomSockopt) GetNetwork() string { method GetLevel (line 685) | func (x *CustomSockopt) GetLevel() string { method GetOpt (line 692) | func (x *CustomSockopt) GetOpt() string { method GetValue (line 699) | func (x *CustomSockopt) GetValue() string { method GetType (line 706) | func (x *CustomSockopt) GetType() string { type SocketConfig (line 714) | type SocketConfig struct method Reset (line 748) | func (x *SocketConfig) Reset() { method String (line 755) | func (x *SocketConfig) String() string { method ProtoMessage (line 759) | func (*SocketConfig) ProtoMessage() {} method ProtoReflect (line 761) | func (x *SocketConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 774) | func (*SocketConfig) Descriptor() ([]byte, []int) { method GetMark (line 778) | func (x *SocketConfig) GetMark() int32 { method GetTfo (line 785) | func (x *SocketConfig) GetTfo() int32 { method GetTproxy (line 792) | func (x *SocketConfig) GetTproxy() SocketConfig_TProxyMode { method GetReceiveOriginalDestAddress (line 799) | func (x *SocketConfig) GetReceiveOriginalDestAddress() bool { method GetBindAddress (line 806) | func (x *SocketConfig) GetBindAddress() []byte { method GetBindPort (line 813) | func (x *SocketConfig) GetBindPort() uint32 { method GetAcceptProxyProtocol (line 820) | func (x *SocketConfig) GetAcceptProxyProtocol() bool { method GetDomainStrategy (line 827) | func (x *SocketConfig) GetDomainStrategy() DomainStrategy { method GetDialerProxy (line 834) | func (x *SocketConfig) GetDialerProxy() string { method GetTcpKeepAliveInterval (line 841) | func (x *SocketConfig) GetTcpKeepAliveInterval() int32 { method GetTcpKeepAliveIdle (line 848) | func (x *SocketConfig) GetTcpKeepAliveIdle() int32 { method GetTcpCongestion (line 855) | func (x *SocketConfig) GetTcpCongestion() string { method GetInterface (line 862) | func (x *SocketConfig) GetInterface() string { method GetV6Only (line 869) | func (x *SocketConfig) GetV6Only() bool { method GetTcpWindowClamp (line 876) | func (x *SocketConfig) GetTcpWindowClamp() int32 { method GetTcpUserTimeout (line 883) | func (x *SocketConfig) GetTcpUserTimeout() int32 { method GetTcpMaxSeg (line 890) | func (x *SocketConfig) GetTcpMaxSeg() int32 { method GetPenetrate (line 897) | func (x *SocketConfig) GetPenetrate() bool { method GetTcpMptcp (line 904) | func (x *SocketConfig) GetTcpMptcp() bool { method GetCustomSockopt (line 911) | func (x *SocketConfig) GetCustomSockopt() []*CustomSockopt { method GetAddressPortStrategy (line 918) | func (x *SocketConfig) GetAddressPortStrategy() AddressPortStrategy { method GetHappyEyeballs (line 925) | func (x *SocketConfig) GetHappyEyeballs() *HappyEyeballsConfig { method GetTrustedXForwardedFor (line 932) | func (x *SocketConfig) GetTrustedXForwardedFor() []string { type HappyEyeballsConfig (line 939) | type HappyEyeballsConfig struct method Reset (line 949) | func (x *HappyEyeballsConfig) Reset() { method String (line 956) | func (x *HappyEyeballsConfig) String() string { method ProtoMessage (line 960) | func (*HappyEyeballsConfig) ProtoMessage() {} method ProtoReflect (line 962) | func (x *HappyEyeballsConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 975) | func (*HappyEyeballsConfig) Descriptor() ([]byte, []int) { method GetPrioritizeIpv6 (line 979) | func (x *HappyEyeballsConfig) GetPrioritizeIpv6() bool { method GetInterleave (line 986) | func (x *HappyEyeballsConfig) GetInterleave() uint32 { method GetTryDelayMs (line 993) | func (x *HappyEyeballsConfig) GetTryDelayMs() uint64 { method GetMaxConcurrentTry (line 1000) | func (x *HappyEyeballsConfig) GetMaxConcurrentTry() uint32 { constant file_transport_internet_config_proto_rawDesc (line 1009) | file_transport_internet_config_proto_rawDesc = "" + function file_transport_internet_config_proto_rawDescGZIP (line 1130) | func file_transport_internet_config_proto_rawDescGZIP() []byte { function init (line 1176) | func init() { file_transport_internet_config_proto_init() } function file_transport_internet_config_proto_init (line 1177) | func file_transport_internet_config_proto_init() { FILE: transport/internet/dialer.go type Dialer (line 22) | type Dialer interface type dialFunc (line 34) | type dialFunc function RegisterTransportDialer (line 39) | func RegisterTransportDialer(protocol string, dialer dialFunc) error { function Dial (line 48) | func Dial(ctx context.Context, dest net.Destination, streamSettings *Mem... function DestIpAddress (line 78) | func DestIpAddress() net.IP { function LookupForIP (line 87) | func LookupForIP(domain string, strategy DomainStrategy, localAddr net.A... function redirect (line 111) | func redirect(ctx context.Context, dst net.Destination, obt string, h ou... function checkAddressPortStrategy (line 139) | func checkAddressPortStrategy(ctx context.Context, dest net.Destination,... function DialSystem (line 227) | func DialSystem(ctx context.Context, dest net.Destination, sockopt *Sock... function InitSystemDialer (line 285) | func InitSystemDialer(dc dns.Client, om outbound.Manager) { FILE: transport/internet/dialer_test.go function TestDialWithLocalAddr (line 14) | func TestDialWithLocalAddr(t *testing.T) { FILE: transport/internet/filelocker.go type FileLocker (line 8) | type FileLocker struct FILE: transport/internet/filelocker_other.go method Acquire (line 15) | func (fl *FileLocker) Acquire() error { method Release (line 29) | func (fl *FileLocker) Release() { FILE: transport/internet/filelocker_windows.go method Acquire (line 4) | func (fl *FileLocker) Acquire() error { method Release (line 9) | func (fl *FileLocker) Release() { FILE: transport/internet/finalmask/finalmask.go constant UDPSize (line 11) | UDPSize = 4096 + 123 type Udpmask (line 14) | type Udpmask interface type UdpmaskManager (line 21) | type UdpmaskManager struct method WrapPacketConnClient (line 31) | func (m *UdpmaskManager) WrapPacketConnClient(raw net.PacketConn) (net... method WrapPacketConnServer (line 42) | func (m *UdpmaskManager) WrapPacketConnServer(raw net.PacketConn) (net... function NewUdpmaskManager (line 25) | func NewUdpmaskManager(udpmasks []Udpmask) *UdpmaskManager { type Tcpmask (line 53) | type Tcpmask interface type TcpmaskManager (line 60) | type TcpmaskManager struct method WrapConnClient (line 70) | func (m *TcpmaskManager) WrapConnClient(raw net.Conn) (net.Conn, error) { method WrapConnServer (line 81) | func (m *TcpmaskManager) WrapConnServer(raw net.Conn) (net.Conn, error) { method WrapListener (line 92) | func (m *TcpmaskManager) WrapListener(l net.Listener) (net.Listener, e... function NewTcpmaskManager (line 64) | func NewTcpmaskManager(tcpmasks []Tcpmask) *TcpmaskManager { type tcpListener (line 96) | type tcpListener struct method Accept (line 108) | func (l *tcpListener) Accept() (net.Conn, error) { function NewTcpListener (line 101) | func NewTcpListener(m *TcpmaskManager, l net.Listener) (net.Listener, er... type TcpMaskConn (line 124) | type TcpMaskConn interface function UnwrapTcpMask (line 130) | func UnwrapTcpMask(conn net.Conn) net.Conn { FILE: transport/internet/finalmask/fragment/config.go method TCP (line 5) | func (c *Config) TCP() { method WrapConnClient (line 8) | func (c *Config) WrapConnClient(raw net.Conn) (net.Conn, error) { method WrapConnServer (line 12) | func (c *Config) WrapConnServer(raw net.Conn) (net.Conn, error) { FILE: transport/internet/finalmask/fragment/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 38) | func (x *Config) Reset() { method String (line 45) | func (x *Config) String() string { method ProtoMessage (line 49) | func (*Config) ProtoMessage() {} method ProtoReflect (line 51) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 64) | func (*Config) Descriptor() ([]byte, []int) { method GetPacketsFrom (line 68) | func (x *Config) GetPacketsFrom() int64 { method GetPacketsTo (line 75) | func (x *Config) GetPacketsTo() int64 { method GetLengthMin (line 82) | func (x *Config) GetLengthMin() int64 { method GetLengthMax (line 89) | func (x *Config) GetLengthMax() int64 { method GetDelayMin (line 96) | func (x *Config) GetDelayMin() int64 { method GetDelayMax (line 103) | func (x *Config) GetDelayMax() int64 { method GetMaxSplitMin (line 110) | func (x *Config) GetMaxSplitMin() int64 { method GetMaxSplitMax (line 117) | func (x *Config) GetMaxSplitMax() int64 { constant file_transport_internet_finalmask_fragment_config_proto_rawDesc (line 126) | file_transport_internet_finalmask_fragment_config_proto_rawDesc = "" + function file_transport_internet_finalmask_fragment_config_proto_rawDescGZIP (line 148) | func file_transport_internet_finalmask_fragment_config_proto_rawDescGZIP... function init (line 167) | func init() { file_transport_internet_finalmask_fragment_config_proto_in... function file_transport_internet_finalmask_fragment_config_proto_init (line 168) | func file_transport_internet_finalmask_fragment_config_proto_init() { FILE: transport/internet/finalmask/fragment/conn.go type fragmentConn (line 10) | type fragmentConn struct method TcpMaskConn (line 33) | func (c *fragmentConn) TcpMaskConn() {} method RawConn (line 35) | func (c *fragmentConn) RawConn() net.Conn { method Splice (line 42) | func (c *fragmentConn) Splice() bool { method Write (line 49) | func (c *fragmentConn) Write(p []byte) (n int, err error) { function NewConnClient (line 18) | func NewConnClient(c *Config, raw net.Conn, server bool) (net.Conn, erro... function NewConnServer (line 29) | func NewConnServer(c *Config, raw net.Conn, server bool) (net.Conn, erro... FILE: transport/internet/finalmask/header/custom/config.go method TCP (line 7) | func (c *TCPConfig) TCP() { method WrapConnClient (line 10) | func (c *TCPConfig) WrapConnClient(raw net.Conn) (net.Conn, error) { method WrapConnServer (line 14) | func (c *TCPConfig) WrapConnServer(raw net.Conn) (net.Conn, error) { method UDP (line 18) | func (c *UDPConfig) UDP() { method WrapPacketConnClient (line 21) | func (c *UDPConfig) WrapPacketConnClient(raw net.PacketConn, level int, ... method WrapPacketConnServer (line 25) | func (c *UDPConfig) WrapPacketConnServer(raw net.PacketConn, level int, ... FILE: transport/internet/finalmask/header/custom/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type TCPItem (line 24) | type TCPItem struct method Reset (line 34) | func (x *TCPItem) Reset() { method String (line 41) | func (x *TCPItem) String() string { method ProtoMessage (line 45) | func (*TCPItem) ProtoMessage() {} method ProtoReflect (line 47) | func (x *TCPItem) ProtoReflect() protoreflect.Message { method Descriptor (line 60) | func (*TCPItem) Descriptor() ([]byte, []int) { method GetDelayMin (line 64) | func (x *TCPItem) GetDelayMin() int64 { method GetDelayMax (line 71) | func (x *TCPItem) GetDelayMax() int64 { method GetRand (line 78) | func (x *TCPItem) GetRand() int32 { method GetPacket (line 85) | func (x *TCPItem) GetPacket() []byte { type TCPSequence (line 92) | type TCPSequence struct method Reset (line 99) | func (x *TCPSequence) Reset() { method String (line 106) | func (x *TCPSequence) String() string { method ProtoMessage (line 110) | func (*TCPSequence) ProtoMessage() {} method ProtoReflect (line 112) | func (x *TCPSequence) ProtoReflect() protoreflect.Message { method Descriptor (line 125) | func (*TCPSequence) Descriptor() ([]byte, []int) { method GetSequence (line 129) | func (x *TCPSequence) GetSequence() []*TCPItem { type TCPConfig (line 136) | type TCPConfig struct method Reset (line 145) | func (x *TCPConfig) Reset() { method String (line 152) | func (x *TCPConfig) String() string { method ProtoMessage (line 156) | func (*TCPConfig) ProtoMessage() {} method ProtoReflect (line 158) | func (x *TCPConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 171) | func (*TCPConfig) Descriptor() ([]byte, []int) { method GetClients (line 175) | func (x *TCPConfig) GetClients() []*TCPSequence { method GetServers (line 182) | func (x *TCPConfig) GetServers() []*TCPSequence { method GetErrors (line 189) | func (x *TCPConfig) GetErrors() []*TCPSequence { type UDPItem (line 196) | type UDPItem struct method Reset (line 204) | func (x *UDPItem) Reset() { method String (line 211) | func (x *UDPItem) String() string { method ProtoMessage (line 215) | func (*UDPItem) ProtoMessage() {} method ProtoReflect (line 217) | func (x *UDPItem) ProtoReflect() protoreflect.Message { method Descriptor (line 230) | func (*UDPItem) Descriptor() ([]byte, []int) { method GetRand (line 234) | func (x *UDPItem) GetRand() int32 { method GetPacket (line 241) | func (x *UDPItem) GetPacket() []byte { type UDPConfig (line 248) | type UDPConfig struct method Reset (line 256) | func (x *UDPConfig) Reset() { method String (line 263) | func (x *UDPConfig) String() string { method ProtoMessage (line 267) | func (*UDPConfig) ProtoMessage() {} method ProtoReflect (line 269) | func (x *UDPConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 282) | func (*UDPConfig) Descriptor() ([]byte, []int) { method GetClient (line 286) | func (x *UDPConfig) GetClient() []*UDPItem { method GetServer (line 293) | func (x *UDPConfig) GetServer() []*UDPItem { constant file_transport_internet_finalmask_header_custom_config_proto_rawDesc (line 302) | file_transport_internet_finalmask_header_custom_config_proto_rawDesc = "" + function file_transport_internet_finalmask_header_custom_config_proto_rawDescGZIP (line 329) | func file_transport_internet_finalmask_header_custom_config_proto_rawDes... function init (line 358) | func init() { file_transport_internet_finalmask_header_custom_config_pro... function file_transport_internet_finalmask_header_custom_config_proto_init (line 359) | func file_transport_internet_finalmask_header_custom_config_proto_init() { FILE: transport/internet/finalmask/header/custom/tcp.go type tcpCustomClient (line 16) | type tcpCustomClient struct type tcpCustomClientConn (line 21) | type tcpCustomClientConn struct method TcpMaskConn (line 44) | func (c *tcpCustomClientConn) TcpMaskConn() {} method RawConn (line 46) | func (c *tcpCustomClientConn) RawConn() net.Conn { method Splice (line 52) | func (c *tcpCustomClientConn) Splice() bool { method Read (line 56) | func (c *tcpCustomClientConn) Read(p []byte) (n int, err error) { method Write (line 66) | func (c *tcpCustomClientConn) Write(p []byte) (n int, err error) { function NewConnClientTCP (line 30) | func NewConnClientTCP(c *TCPConfig, raw net.Conn) (net.Conn, error) { type tcpCustomServer (line 106) | type tcpCustomServer struct type tcpCustomServerConn (line 112) | type tcpCustomServerConn struct method TcpMaskConn (line 136) | func (c *tcpCustomServerConn) TcpMaskConn() {} method RawConn (line 138) | func (c *tcpCustomServerConn) RawConn() net.Conn { method Splice (line 144) | func (c *tcpCustomServerConn) Splice() bool { method Read (line 148) | func (c *tcpCustomServerConn) Read(p []byte) (n int, err error) { method Write (line 191) | func (c *tcpCustomServerConn) Write(p []byte) (n int, err error) { function NewConnServerTCP (line 121) | func NewConnServerTCP(c *TCPConfig, raw net.Conn) (net.Conn, error) { function readSequence (line 201) | func readSequence(r io.Reader, sequence *TCPSequence) bool { function writeSequence (line 219) | func writeSequence(w io.Writer, sequence *TCPSequence) bool { FILE: transport/internet/finalmask/header/custom/udp.go type udpCustomClient (line 14) | type udpCustomClient struct method Serialize (line 20) | func (h *udpCustomClient) Serialize(b []byte) { method Match (line 33) | func (h *udpCustomClient) Match(b []byte) bool { type udpCustomClientConn (line 55) | type udpCustomClientConn struct method ReadFrom (line 83) | func (c *udpCustomClientConn) ReadFrom(p []byte) (n int, addr net.Addr... method WriteTo (line 109) | func (c *udpCustomClientConn) WriteTo(p []byte, addr net.Addr) (n int,... function NewConnClientUDP (line 60) | func NewConnClientUDP(c *UDPConfig, raw net.PacketConn) (net.PacketConn,... type udpCustomServer (line 133) | type udpCustomServer struct method Serialize (line 139) | func (h *udpCustomServer) Serialize(b []byte) { method Match (line 152) | func (h *udpCustomServer) Match(b []byte) bool { type udpCustomServerConn (line 174) | type udpCustomServerConn struct method ReadFrom (line 202) | func (c *udpCustomServerConn) ReadFrom(p []byte) (n int, addr net.Addr... method WriteTo (line 228) | func (c *udpCustomServerConn) WriteTo(p []byte, addr net.Addr) (n int,... function NewConnServerUDP (line 179) | func NewConnServerUDP(c *UDPConfig, raw net.PacketConn) (net.PacketConn,... FILE: transport/internet/finalmask/header/dns/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/header/dns/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 31) | func (x *Config) Reset() { method String (line 38) | func (x *Config) String() string { method ProtoMessage (line 42) | func (*Config) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Config) Descriptor() ([]byte, []int) { method GetDomain (line 61) | func (x *Config) GetDomain() string { constant file_transport_internet_finalmask_header_dns_config_proto_rawDesc (line 70) | file_transport_internet_finalmask_header_dns_config_proto_rawDesc = "" + function file_transport_internet_finalmask_header_dns_config_proto_rawDescGZIP (line 82) | func file_transport_internet_finalmask_header_dns_config_proto_rawDescGZ... function init (line 101) | func init() { file_transport_internet_finalmask_header_dns_config_proto_... function file_transport_internet_finalmask_header_dns_config_proto_init (line 102) | func file_transport_internet_finalmask_header_dns_config_proto_init() { FILE: transport/internet/finalmask/header/dns/conn.go function packDomainName (line 13) | func packDomainName(s string, msg []byte) (off1 int, err error) { type dns (line 79) | type dns struct method Size (line 83) | func (h *dns) Size() int { method Serialize (line 87) | func (h *dns) Serialize(b []byte) { type dnsConn (line 92) | type dnsConn struct method ReadFrom (line 128) | func (c *dnsConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) { method WriteTo (line 154) | func (c *dnsConn) WriteTo(p []byte, addr net.Addr) (n int, err error) { function NewConnClient (line 97) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 124) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/header/dtls/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/header/dtls/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { constant file_transport_internet_finalmask_header_dtls_config_proto_rawDesc (line 62) | file_transport_internet_finalmask_header_dtls_config_proto_rawDesc = "" + function file_transport_internet_finalmask_header_dtls_config_proto_rawDescGZIP (line 73) | func file_transport_internet_finalmask_header_dtls_config_proto_rawDescG... function init (line 92) | func init() { file_transport_internet_finalmask_header_dtls_config_proto... function file_transport_internet_finalmask_header_dtls_config_proto_init (line 93) | func file_transport_internet_finalmask_header_dtls_config_proto_init() { FILE: transport/internet/finalmask/header/dtls/conn.go type dtls (line 12) | type dtls struct method Size (line 18) | func (*dtls) Size() int { method Serialize (line 22) | func (h *dtls) Serialize(b []byte) { type dtlsConn (line 43) | type dtlsConn struct method ReadFrom (line 65) | func (c *dtlsConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) { method WriteTo (line 91) | func (c *dtlsConn) WriteTo(p []byte, addr net.Addr) (n int, err error) { function NewConnClient (line 48) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 61) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/header/srtp/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/header/srtp/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { constant file_transport_internet_finalmask_header_srtp_config_proto_rawDesc (line 62) | file_transport_internet_finalmask_header_srtp_config_proto_rawDesc = "" + function file_transport_internet_finalmask_header_srtp_config_proto_rawDescGZIP (line 73) | func file_transport_internet_finalmask_header_srtp_config_proto_rawDescG... function init (line 92) | func init() { file_transport_internet_finalmask_header_srtp_config_proto... function file_transport_internet_finalmask_header_srtp_config_proto_init (line 93) | func file_transport_internet_finalmask_header_srtp_config_proto_init() { FILE: transport/internet/finalmask/header/srtp/conn.go type srtp (line 13) | type srtp struct method Size (line 18) | func (*srtp) Size() int { method Serialize (line 22) | func (h *srtp) Serialize(b []byte) { type srtpConn (line 28) | type srtpConn struct method ReadFrom (line 49) | func (c *srtpConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) { method WriteTo (line 75) | func (c *srtpConn) WriteTo(p []byte, addr net.Addr) (n int, err error) { function NewConnClient (line 33) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 45) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/header/utp/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/header/utp/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { constant file_transport_internet_finalmask_header_utp_config_proto_rawDesc (line 62) | file_transport_internet_finalmask_header_utp_config_proto_rawDesc = "" + function file_transport_internet_finalmask_header_utp_config_proto_rawDescGZIP (line 73) | func file_transport_internet_finalmask_header_utp_config_proto_rawDescGZ... function init (line 92) | func init() { file_transport_internet_finalmask_header_utp_config_proto_... function file_transport_internet_finalmask_header_utp_config_proto_init (line 93) | func file_transport_internet_finalmask_header_utp_config_proto_init() { FILE: transport/internet/finalmask/header/utp/conn.go type utp (line 13) | type utp struct method Size (line 19) | func (*utp) Size() int { method Serialize (line 23) | func (h *utp) Serialize(b []byte) { type utpConn (line 29) | type utpConn struct method ReadFrom (line 51) | func (c *utpConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) { method WriteTo (line 77) | func (c *utpConn) WriteTo(p []byte, addr net.Addr) (n int, err error) { function NewConnClient (line 34) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 47) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/header/wechat/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/header/wechat/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { constant file_transport_internet_finalmask_header_wechat_config_proto_rawDesc (line 62) | file_transport_internet_finalmask_header_wechat_config_proto_rawDesc = "" + function file_transport_internet_finalmask_header_wechat_config_proto_rawDescGZIP (line 73) | func file_transport_internet_finalmask_header_wechat_config_proto_rawDes... function init (line 92) | func init() { file_transport_internet_finalmask_header_wechat_config_pro... function file_transport_internet_finalmask_header_wechat_config_proto_init (line 93) | func file_transport_internet_finalmask_header_wechat_config_proto_init() { FILE: transport/internet/finalmask/header/wechat/conn.go type wechat (line 13) | type wechat struct method Size (line 17) | func (*wechat) Size() int { method Serialize (line 21) | func (h *wechat) Serialize(b []byte) { type wechatConn (line 35) | type wechatConn struct method ReadFrom (line 55) | func (c *wechatConn) ReadFrom(p []byte) (n int, addr net.Addr, err err... method WriteTo (line 81) | func (c *wechatConn) WriteTo(p []byte, addr net.Addr) (n int, err erro... function NewConnClient (line 40) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 51) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/header/wireguard/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/header/wireguard/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { constant file_transport_internet_finalmask_header_wireguard_config_proto_rawDesc (line 62) | file_transport_internet_finalmask_header_wireguard_config_proto_rawDesc ... function file_transport_internet_finalmask_header_wireguard_config_proto_rawDescGZIP (line 73) | func file_transport_internet_finalmask_header_wireguard_config_proto_raw... function init (line 92) | func init() { file_transport_internet_finalmask_header_wireguard_config_... function file_transport_internet_finalmask_header_wireguard_config_proto_init (line 93) | func file_transport_internet_finalmask_header_wireguard_config_proto_ini... FILE: transport/internet/finalmask/header/wireguard/conn.go type wireguare (line 11) | type wireguare struct method Size (line 13) | func (*wireguare) Size() int { method Serialize (line 17) | func (h *wireguare) Serialize(b []byte) { type wireguareConn (line 24) | type wireguareConn struct method ReadFrom (line 42) | func (c *wireguareConn) ReadFrom(p []byte) (n int, addr net.Addr, err ... method WriteTo (line 68) | func (c *wireguareConn) WriteTo(p []byte, addr net.Addr) (n int, err e... function NewConnClient (line 29) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 38) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/mkcp/aes128gcm/aes128gcm_test.go function TestAes128GcmSealInPlace (line 12) | func TestAes128GcmSealInPlace(t *testing.T) { function encrypted (line 32) | func encrypted(plain []byte) ([]byte, []byte) { function TestAes128GcmOpenInPlace (line 42) | func TestAes128GcmOpenInPlace(t *testing.T) { function TestAes128GcmBounce (line 61) | func TestAes128GcmBounce(t *testing.T) { FILE: transport/internet/finalmask/mkcp/aes128gcm/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/mkcp/aes128gcm/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 31) | func (x *Config) Reset() { method String (line 38) | func (x *Config) String() string { method ProtoMessage (line 42) | func (*Config) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Config) Descriptor() ([]byte, []int) { method GetPassword (line 61) | func (x *Config) GetPassword() string { constant file_transport_internet_finalmask_mkcp_aes128gcm_config_proto_rawDesc (line 70) | file_transport_internet_finalmask_mkcp_aes128gcm_config_proto_rawDesc = ... function file_transport_internet_finalmask_mkcp_aes128gcm_config_proto_rawDescGZIP (line 82) | func file_transport_internet_finalmask_mkcp_aes128gcm_config_proto_rawDe... function init (line 101) | func init() { file_transport_internet_finalmask_mkcp_aes128gcm_config_pr... function file_transport_internet_finalmask_mkcp_aes128gcm_config_proto_init (line 102) | func file_transport_internet_finalmask_mkcp_aes128gcm_config_proto_init() { FILE: transport/internet/finalmask/mkcp/aes128gcm/conn.go type aes128gcmConn (line 16) | type aes128gcmConn struct method ReadFrom (line 36) | func (c *aes128gcmConn) ReadFrom(p []byte) (n int, addr net.Addr, err ... method WriteTo (line 91) | func (c *aes128gcmConn) WriteTo(p []byte, addr net.Addr) (n int, err e... function NewConnClient (line 21) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 32) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/mkcp/original/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/mkcp/original/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { constant file_transport_internet_finalmask_mkcp_original_config_proto_rawDesc (line 62) | file_transport_internet_finalmask_mkcp_original_config_proto_rawDesc = "" + function file_transport_internet_finalmask_mkcp_original_config_proto_rawDescGZIP (line 73) | func file_transport_internet_finalmask_mkcp_original_config_proto_rawDes... function init (line 92) | func init() { file_transport_internet_finalmask_mkcp_original_config_pro... function file_transport_internet_finalmask_mkcp_original_config_proto_init (line 93) | func file_transport_internet_finalmask_mkcp_original_config_proto_init() { FILE: transport/internet/finalmask/mkcp/original/conn.go type simple (line 15) | type simple struct method NonceSize (line 21) | func (*simple) NonceSize() int { method Overhead (line 25) | func (*simple) Overhead() int { method Seal (line 29) | func (a *simple) Seal(dst, nonce, plain, extra []byte) []byte { method Open (line 50) | func (a *simple) Open(dst, nonce, cipherText, extra []byte) ([]byte, e... function NewSimple (line 17) | func NewSimple() *simple { type simpleConn (line 76) | type simpleConn struct method ReadFrom (line 94) | func (c *simpleConn) ReadFrom(p []byte) (n int, addr net.Addr, err err... method WriteTo (line 127) | func (c *simpleConn) WriteTo(p []byte, addr net.Addr) (n int, err erro... function NewConnClient (line 81) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 90) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/mkcp/original/simple_test.go function TestSimpleSealInPlace (line 11) | func TestSimpleSealInPlace(t *testing.T) { function TestOriginalBounce (line 27) | func TestOriginalBounce(t *testing.T) { FILE: transport/internet/finalmask/mkcp/original/xor.go function xorfwd (line 7) | func xorfwd(x []byte) { function xorbkd (line 14) | func xorbkd(x []byte) { FILE: transport/internet/finalmask/mkcp/original/xor_amd64.go function xorfwd (line 4) | func xorfwd(x []byte) function xorbkd (line 7) | func xorbkd(x []byte) FILE: transport/internet/finalmask/noise/config.go method UDP (line 5) | func (c *Config) UDP() { method WrapPacketConnClient (line 8) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 12) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/noise/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Item (line 24) | type Item struct method Reset (line 35) | func (x *Item) Reset() { method String (line 42) | func (x *Item) String() string { method ProtoMessage (line 46) | func (*Item) ProtoMessage() {} method ProtoReflect (line 48) | func (x *Item) ProtoReflect() protoreflect.Message { method Descriptor (line 61) | func (*Item) Descriptor() ([]byte, []int) { method GetRandMin (line 65) | func (x *Item) GetRandMin() int64 { method GetRandMax (line 72) | func (x *Item) GetRandMax() int64 { method GetPacket (line 79) | func (x *Item) GetPacket() []byte { method GetDelayMin (line 86) | func (x *Item) GetDelayMin() int64 { method GetDelayMax (line 93) | func (x *Item) GetDelayMax() int64 { type Config (line 100) | type Config struct method Reset (line 109) | func (x *Config) Reset() { method String (line 116) | func (x *Config) String() string { method ProtoMessage (line 120) | func (*Config) ProtoMessage() {} method ProtoReflect (line 122) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 135) | func (*Config) Descriptor() ([]byte, []int) { method GetResetMin (line 139) | func (x *Config) GetResetMin() int64 { method GetResetMax (line 146) | func (x *Config) GetResetMax() int64 { method GetItems (line 153) | func (x *Config) GetItems() []*Item { constant file_transport_internet_finalmask_noise_config_proto_rawDesc (line 162) | file_transport_internet_finalmask_noise_config_proto_rawDesc = "" + function file_transport_internet_finalmask_noise_config_proto_rawDescGZIP (line 182) | func file_transport_internet_finalmask_noise_config_proto_rawDescGZIP() ... function init (line 203) | func init() { file_transport_internet_finalmask_noise_config_proto_init() } function file_transport_internet_finalmask_noise_config_proto_init (line 204) | func file_transport_internet_finalmask_noise_config_proto_init() { FILE: transport/internet/finalmask/noise/conn.go type noiseConn (line 13) | type noiseConn struct method reset (line 41) | func (c *noiseConn) reset() { method WriteTo (line 68) | func (c *noiseConn) WriteTo(p []byte, addr net.Addr) (n int, err error) { method Close (line 93) | func (c *noiseConn) Close() error { function NewConnClient (line 22) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 37) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/salamander/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/salamander/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 31) | func (x *Config) Reset() { method String (line 38) | func (x *Config) String() string { method ProtoMessage (line 42) | func (*Config) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Config) Descriptor() ([]byte, []int) { method GetPassword (line 61) | func (x *Config) GetPassword() string { constant file_transport_internet_finalmask_salamander_config_proto_rawDesc (line 70) | file_transport_internet_finalmask_salamander_config_proto_rawDesc = "" + function file_transport_internet_finalmask_salamander_config_proto_rawDescGZIP (line 82) | func file_transport_internet_finalmask_salamander_config_proto_rawDescGZ... function init (line 101) | func init() { file_transport_internet_finalmask_salamander_config_proto_... function file_transport_internet_finalmask_salamander_config_proto_init (line 102) | func file_transport_internet_finalmask_salamander_config_proto_init() { FILE: transport/internet/finalmask/salamander/conn.go type salamanderConn (line 11) | type salamanderConn struct method ReadFrom (line 34) | func (c *salamanderConn) ReadFrom(p []byte) (n int, addr net.Addr, err... method WriteTo (line 60) | func (c *salamanderConn) WriteTo(p []byte, addr net.Addr) (n int, err ... function NewConnClient (line 16) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function NewConnServer (line 30) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { FILE: transport/internet/finalmask/salamander/salamander.go constant smPSKMinLen (line 13) | smPSKMinLen = 4 constant smSaltLen (line 14) | smSaltLen = 8 constant smKeyLen (line 15) | smKeyLen = blake2b.Size256 type SalamanderObfuscator (line 23) | type SalamanderObfuscator struct method Obfuscate (line 40) | func (o *SalamanderObfuscator) Obfuscate(in, out []byte) int { method Deobfuscate (line 55) | func (o *SalamanderObfuscator) Deobfuscate(in, out []byte) int { method key (line 67) | func (o *SalamanderObfuscator) key(salt []byte) [smKeyLen]byte { function NewSalamanderObfuscator (line 30) | func NewSalamanderObfuscator(psk []byte) (*SalamanderObfuscator, error) { FILE: transport/internet/finalmask/salamander/salamander_test.go constant smSaltLen (line 12) | smSaltLen = 8 function BenchmarkSalamanderObfuscator_Obfuscate (line 15) | func BenchmarkSalamanderObfuscator_Obfuscate(b *testing.B) { function BenchmarkSalamanderObfuscator_Deobfuscate (line 26) | func BenchmarkSalamanderObfuscator_Deobfuscate(b *testing.B) { function TestSalamanderObfuscator (line 37) | func TestSalamanderObfuscator(t *testing.T) { function TestSalamanderInPlace (line 52) | func TestSalamanderInPlace(t *testing.T) { function TestSalamanderBounce (line 73) | func TestSalamanderBounce(t *testing.T) { FILE: transport/internet/finalmask/sudoku/codec.go type codec (line 35) | type codec struct method shouldPad (line 73) | func (c *codec) shouldPad() bool { method currentTable (line 83) | func (c *codec) currentTable() *table { method randomPadding (line 90) | func (c *codec) randomPadding(t *table) byte { method encode (line 95) | func (c *codec) encode(in []byte) ([]byte, error) { function newCodec (line 42) | func newCodec(tables []*table, pMin, pMax int) *codec { function pickPaddingChance (line 54) | func pickPaddingChance(rng *rand.Rand, pMin, pMax int) int { function decodeBytes (line 135) | func decodeBytes(tables []*table, tableIndex *int, in []byte, hintBuf []... FILE: transport/internet/finalmask/sudoku/config.go method TCP (line 9) | func (c *Config) TCP() { method UDP (line 12) | func (c *Config) UDP() { method WrapConnClient (line 17) | func (c *Config) WrapConnClient(raw net.Conn) (net.Conn, error) { method WrapConnServer (line 21) | func (c *Config) WrapConnServer(raw net.Conn) (net.Conn, error) { function newPackedDirectionalConn (line 25) | func newPackedDirectionalConn(raw net.Conn, config *Config, readPacked b... method WrapPacketConnClient (line 45) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 52) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/sudoku/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 36) | func (x *Config) Reset() { method String (line 43) | func (x *Config) String() string { method ProtoMessage (line 47) | func (*Config) ProtoMessage() {} method ProtoReflect (line 49) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 62) | func (*Config) Descriptor() ([]byte, []int) { method GetPassword (line 66) | func (x *Config) GetPassword() string { method GetAscii (line 73) | func (x *Config) GetAscii() string { method GetCustomTable (line 80) | func (x *Config) GetCustomTable() string { method GetPaddingMin (line 87) | func (x *Config) GetPaddingMin() uint32 { method GetPaddingMax (line 94) | func (x *Config) GetPaddingMax() uint32 { method GetCustomTables (line 101) | func (x *Config) GetCustomTables() []string { constant file_transport_internet_finalmask_sudoku_config_proto_rawDesc (line 110) | file_transport_internet_finalmask_sudoku_config_proto_rawDesc = "" + function file_transport_internet_finalmask_sudoku_config_proto_rawDescGZIP (line 129) | func file_transport_internet_finalmask_sudoku_config_proto_rawDescGZIP()... function init (line 148) | func init() { file_transport_internet_finalmask_sudoku_config_proto_init... function file_transport_internet_finalmask_sudoku_config_proto_init (line 149) | func file_transport_internet_finalmask_sudoku_config_proto_init() { FILE: transport/internet/finalmask/sudoku/conn_tcp.go constant ioBufferSize (line 12) | ioBufferSize = 32 * 1024 type streamDecoder (line 16) | type streamDecoder interface type streamReader (line 21) | type streamReader struct method Read (line 38) | func (r *streamReader) Read(p []byte) (int, error) { function newStreamReader (line 29) | func newStreamReader(raw net.Conn, decode streamDecoder) io.Reader { type streamWriter (line 71) | type streamWriter struct method Write (line 84) | func (w *streamWriter) Write(p []byte) (int, error) { function newStreamWriter (line 77) | func newStreamWriter(raw net.Conn, encode func([]byte) ([]byte, error)) ... type wrappedConn (line 102) | type wrappedConn struct method Read (line 120) | func (c *wrappedConn) Read(p []byte) (int, error) { method Write (line 124) | func (c *wrappedConn) Write(p []byte) (int, error) { method TcpMaskConn (line 128) | func (c *wrappedConn) TcpMaskConn() {} method RawConn (line 130) | func (c *wrappedConn) RawConn() net.Conn { method Splice (line 134) | func (c *wrappedConn) Splice() bool { method CloseWrite (line 139) | func (c *wrappedConn) CloseWrite() error { type closeWriteConn (line 108) | type closeWriteConn interface function newWrappedConn (line 112) | func newWrappedConn(raw net.Conn, reader io.Reader, writer io.Writer) ne... function NewTCPConn (line 146) | func NewTCPConn(raw net.Conn, config *Config) (net.Conn, error) { function newPureReaderWriter (line 154) | func newPureReaderWriter(raw net.Conn, config *Config) (io.Reader, io.Wr... type hintStreamDecoder (line 165) | type hintStreamDecoder struct method decodeChunk (line 178) | func (d *hintStreamDecoder) decodeChunk(in []byte, pending []byte) ([]... method reset (line 184) | func (d *hintStreamDecoder) reset() {} function newHintStreamDecoder (line 171) | func newHintStreamDecoder(tables []*table) *hintStreamDecoder { function drainPending (line 186) | func drainPending(p []byte, pending *[]byte) (int, bool) { function writeAll (line 203) | func writeAll(conn net.Conn, b []byte) error { FILE: transport/internet/finalmask/sudoku/conn_tcp_packed.go type packedEncoder (line 9) | type packedEncoder struct method encode (line 29) | func (e *packedEncoder) encode(p []byte) ([]byte, error) { method maybePad (line 67) | func (e *packedEncoder) maybePad(out []byte, layout *byteLayout) []byte { function newPackedEncoder (line 15) | func newPackedEncoder(tables []*table, pMin, pMax int) *packedEncoder { type packedStreamDecoder (line 82) | type packedStreamDecoder struct method decodeChunk (line 89) | func (d *packedStreamDecoder) decodeChunk(in []byte, pending []byte) (... method reset (line 102) | func (d *packedStreamDecoder) reset() { function NewPackedTCPConn (line 107) | func NewPackedTCPConn(raw net.Conn, config *Config) (net.Conn, error) { function newPackedReaderWriter (line 115) | func newPackedReaderWriter(raw net.Conn, config *Config) (io.Reader, io.... function tablesToLayouts (line 129) | func tablesToLayouts(tables []*table) []*byteLayout { function decodePackedBytes (line 140) | func decodePackedBytes( FILE: transport/internet/finalmask/sudoku/conn_udp.go type udpConn (line 10) | type udpConn struct method Size (line 38) | func (c *udpConn) Size() int32 { method ReadFrom (line 42) | func (c *udpConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) { method WriteTo (line 68) | func (c *udpConn) WriteTo(p []byte, addr net.Addr) (n int, err error) { method Close (line 88) | func (c *udpConn) Close() error { method LocalAddr (line 92) | func (c *udpConn) LocalAddr() net.Addr { method SetDeadline (line 96) | func (c *udpConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 100) | func (c *udpConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 104) | func (c *udpConn) SetWriteDeadline(t time.Time) error { function NewUDPConn (line 22) | func NewUDPConn(raw net.PacketConn, config *Config) (net.PacketConn, err... FILE: transport/internet/finalmask/sudoku/sudoku_test.go type trafficMode (line 55) | type trafficMode struct type protocolCase (line 60) | type protocolCase struct type caseResult (line 66) | type caseResult struct type directionResult (line 80) | type directionResult struct type tcpRelay (line 89) | type tcpRelay struct method Close (line 1087) | func (r *tcpRelay) Close() { method Snapshots (line 1093) | func (r *tcpRelay) Snapshots() []*tcpCapture { type tcpCapture (line 99) | type tcpCapture struct method snapshot (line 1103) | func (c *tcpCapture) snapshot() ([]byte, []byte) { type udpRelay (line 105) | type udpRelay struct method Close (line 1177) | func (r *udpRelay) Close() { method Snapshots (line 1183) | func (r *udpRelay) Snapshots() ([][]byte, [][]byte) { type tlsDecoy (line 117) | type tlsDecoy struct method Port (line 1296) | func (d *tlsDecoy) Port() int { method Close (line 1300) | func (d *tlsDecoy) Close() { function TestSudokuE2ETemp (line 123) | func TestSudokuE2ETemp(t *testing.T) { function runVLESSRealityCase (line 222) | func runVLESSRealityCase(t *testing.T, bin string, mode trafficMode, pay... function runHysteria2Case (line 347) | func runHysteria2Case(t *testing.T, bin string, mode trafficMode, payloa... function runVLesseEncCase (line 469) | func runVLesseEncCase(t *testing.T, bin string, mode trafficMode, payloa... function runVLESSXHTTPCase (line 569) | func runVLESSXHTTPCase(t *testing.T, bin string, mode trafficMode, paylo... function analyzeTCPRelay (line 665) | func analyzeTCPRelay(t *testing.T, protocol string, mode trafficMode, ca... function analyzeUDPRelay (line 728) | func analyzeUDPRelay(t *testing.T, protocol string, mode trafficMode, c2... type byteMetrics (line 779) | type byteMetrics struct function metricFromBytes (line 785) | func metricFromBytes(b []byte) byteMetrics { function bitsInByte (line 803) | func bitsInByte(b byte) int { function analyzePureChunks (line 812) | func analyzePureChunks(tables []*table, chunks [][]byte) (map[int]int, i... function analyzePackedChunks (line 847) | func analyzePackedChunks(tables []*table, chunks [][]byte) (map[int]int,... function expectedRotation (line 889) | func expectedRotation(cfg *Config) int { function unionKeys (line 897) | func unionKeys(a, b map[int]int) map[int]struct{} { function flattenChunks (line 908) | func flattenChunks(chunks [][]byte) []byte { function cloneConfig (line 920) | func cloneConfig(cfg *Config) *Config { function defaultApps (line 928) | func defaultApps(cfg *core.Config) *core.Config { function buildE2EBinary (line 941) | func buildE2EBinary(t *testing.T) string { function repoRoot (line 962) | func repoRoot(t *testing.T) string { function runXrayPair (line 980) | func runXrayPair(t *testing.T, bin string, serverCfg, clientCfg *core.Co... function runXray (line 992) | func runXray(t *testing.T, bin string, cfg *core.Config) *exec.Cmd { function stopCmd (line 1008) | func stopCmd(cmd *exec.Cmd) { function startTCPRelay (line 1026) | func startTCPRelay(t *testing.T, listenPort int, target string) *tcpRelay { type captureWriter (line 1109) | type captureWriter struct method Write (line 1114) | func (w *captureWriter) Write(p []byte) (int, error) { function startUDPRelay (line 1125) | func startUDPRelay(t *testing.T, listenPort, targetPort int) *udpRelay { type xorEchoServer (line 1197) | type xorEchoServer struct method Address (line 1243) | func (s *xorEchoServer) Address() xnet.Address { method Port (line 1247) | func (s *xorEchoServer) Port() xnet.Port { method Close (line 1251) | func (s *xorEchoServer) Close() { function startXOREchoServer (line 1202) | func startXOREchoServer(t *testing.T) *xorEchoServer { function startTLSEchoDecoy (line 1256) | func startTLSEchoDecoy(t *testing.T, c *cert.Certificate) *tlsDecoy { function exerciseTCPClient (line 1305) | func exerciseTCPClient(t *testing.T, port int, payloadSize int) { function exerciseTCPClientErr (line 1312) | func exerciseTCPClientErr(t *testing.T, port int, payloadSize int) error { function firstChunkLen (line 1343) | func firstChunkLen(chunks [][]byte) int { function waitTCPConn (line 1350) | func waitTCPConn(t *testing.T, port int, timeout time.Duration) stdnet.C... function mustX25519Keypair (line 1365) | func mustX25519Keypair(t *testing.T) ([]byte, []byte) { function mustDecodeHex (line 1374) | func mustDecodeHex(t *testing.T, s string) []byte { function init (line 1383) | func init() { FILE: transport/internet/finalmask/sudoku/table.go type table (line 16) | type table struct type tableCacheKey (line 22) | type tableCacheKey struct type byteLayout (line 37) | type byteLayout struct method isHint (line 47) | func (l *byteLayout) isHint(b byte) bool { function getTable (line 55) | func getTable(config *Config) (*table, error) { function getTables (line 66) | func getTables(config *Config) ([]*table, error) { function normalizedCustomPatterns (line 107) | func normalizedCustomPatterns(config *Config, mode string) ([]string, er... function normalizedPadding (line 145) | func normalizedPadding(config *Config) (int, int) { function normalizeASCII (line 165) | func normalizeASCII(mode string) (string, error) { function normalizeCustomTable (line 176) | func normalizeCustomTable(pattern string) (string, error) { function resolveLayout (line 202) | func resolveLayout(mode, customTable string) (*byteLayout, error) { function asciiLayout (line 213) | func asciiLayout() *byteLayout { function entropyLayout (line 246) | func entropyLayout() *byteLayout { function customLayout (line 273) | func customLayout(pattern string) (*byteLayout, error) { function buildTable (line 377) | func buildTable(password string, layout *byteLayout) (*table, error) { function getBasePatterns (line 431) | func getBasePatterns() ([][][4]byte, error) { type grid (line 438) | type grid function buildBasePatterns (line 440) | func buildBasePatterns() ([][][4]byte, error) { function clueGroup (line 480) | func clueGroup(g grid, pos byte) byte { function generateAllGrids (line 485) | func generateAllGrids() []grid { function hintPositions (line 535) | func hintPositions() [][4]byte { function packKey (line 550) | func packKey(in [4]byte) uint32 { function sort4 (line 554) | func sort4(in [4]byte) [4]byte { function newSeededRand (line 573) | func newSeededRand() *rand.Rand { FILE: transport/internet/finalmask/tcp_test.go function mustSendRecvTcp (line 14) | func mustSendRecvTcp( type layerMaskTcp (line 44) | type layerMaskTcp struct function TestConnReadWrite (line 49) | func TestConnReadWrite(t *testing.T) { FILE: transport/internet/finalmask/udp_test.go function mustSendRecv (line 25) | func mustSendRecv( type layerMask (line 55) | type layerMask struct type countingConn (line 61) | type countingConn struct method Write (line 66) | func (c *countingConn) Write(p []byte) (int, error) { method Written (line 72) | func (c *countingConn) Written() int64 { function TestPacketConnReadWrite (line 76) | func TestPacketConnReadWrite(t *testing.T) { function TestSudokuBDD (line 218) | func TestSudokuBDD(t *testing.T) { FILE: transport/internet/finalmask/xdns/client.go constant numPadding (line 21) | numPadding = 3 constant numPaddingForPoll (line 22) | numPaddingForPoll = 8 constant initPollDelay (line 23) | initPollDelay = 500 * time.Millisecond constant maxPollDelay (line 24) | maxPollDelay = 10 * time.Second constant pollDelayMultiplier (line 25) | pollDelayMultiplier = 2.0 constant pollLimit (line 26) | pollLimit = 16 type packet (line 31) | type packet struct type xdnsConnClient (line 36) | type xdnsConnClient struct method recvLoop (line 75) | func (c *xdnsConnClient) recvLoop() { method sendLoop (line 140) | func (c *xdnsConnClient) sendLoop() { method ReadFrom (line 202) | func (c *xdnsConnClient) ReadFrom(p []byte) (n int, addr net.Addr, err... method WriteTo (line 215) | func (c *xdnsConnClient) WriteTo(p []byte, addr net.Addr) (n int, err ... method Close (line 241) | func (c *xdnsConnClient) Close() error { function NewConnClient (line 50) | func NewConnClient(c *Config, raw net.PacketConn) (net.PacketConn, error) { function encode (line 246) | func encode(p []byte, clientID []byte, domain Name) ([]byte, error) { function chunks (line 308) | func chunks(p []byte, n int) [][]byte { function nextPacket (line 321) | func nextPacket(r *bytes.Reader) ([]byte, error) { function dnsResponsePayload (line 335) | func dnsResponsePayload(resp *Message, domain Name) []byte { FILE: transport/internet/finalmask/xdns/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/xdns/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 31) | func (x *Config) Reset() { method String (line 38) | func (x *Config) String() string { method ProtoMessage (line 42) | func (*Config) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Config) Descriptor() ([]byte, []int) { method GetDomain (line 61) | func (x *Config) GetDomain() string { constant file_transport_internet_finalmask_xdns_config_proto_rawDesc (line 70) | file_transport_internet_finalmask_xdns_config_proto_rawDesc = "" + function file_transport_internet_finalmask_xdns_config_proto_rawDescGZIP (line 82) | func file_transport_internet_finalmask_xdns_config_proto_rawDescGZIP() [... function init (line 101) | func init() { file_transport_internet_finalmask_xdns_config_proto_init() } function file_transport_internet_finalmask_xdns_config_proto_init (line 102) | func file_transport_internet_finalmask_xdns_config_proto_init() { FILE: transport/internet/finalmask/xdns/dns.go constant compressionPointerLimit (line 15) | compressionPointerLimit = 10 constant RRTypeTXT (line 49) | RRTypeTXT = 16 constant RRTypeOPT (line 51) | RRTypeOPT = 41 constant ClassIN (line 54) | ClassIN = 1 constant RcodeNoError (line 57) | RcodeNoError = 0 constant RcodeFormatError (line 58) | RcodeFormatError = 1 constant RcodeNameError (line 59) | RcodeNameError = 3 constant RcodeNotImplemented (line 60) | RcodeNotImplemented = 4 constant ExtendedRcodeBadVers (line 62) | ExtendedRcodeBadVers = 16 type Name (line 69) | type Name method String (line 112) | func (name Name) String() string { method TrimSuffix (line 139) | func (name Name) TrimSuffix(suffix Name) (Name, bool) { function NewName (line 73) | func NewName(labels [][]byte) (Name, error) { function ParseName (line 99) | func ParseName(s string) (Name, error) { type Message (line 156) | type Message struct method Opcode (line 169) | func (message *Message) Opcode() uint16 { method Rcode (line 176) | func (message *Message) Rcode() uint16 { method WireFormat (line 519) | func (message *Message) WireFormat() ([]byte, error) { type Question (line 183) | type Question struct type RR (line 192) | type RR struct function readName (line 202) | func readName(r io.ReadSeeker) (Name, error) { function readQuestion (line 282) | func readQuestion(r io.ReadSeeker) (Question, error) { function readRR (line 303) | func readRR(r io.ReadSeeker) (RR, error) { function readMessage (line 336) | func readMessage(r io.ReadSeeker) (Message, error) { function MessageFromWireFormat (line 387) | func MessageFromWireFormat(buf []byte) (Message, error) { type messageBuilder (line 407) | type messageBuilder struct method Bytes (line 420) | func (builder *messageBuilder) Bytes() []byte { method WriteName (line 426) | func (builder *messageBuilder) WriteName(name Name) { method WriteQuestion (line 450) | func (builder *messageBuilder) WriteQuestion(question *Question) { method WriteRR (line 459) | func (builder *messageBuilder) WriteRR(rr *RR) error { method WriteMessage (line 478) | func (builder *messageBuilder) WriteMessage(message *Message) error { function newMessageBuilder (line 413) | func newMessageBuilder() *messageBuilder { function DecodeRDataTXT (line 533) | func DecodeRDataTXT(p []byte) ([]byte, error) { function EncodeRDataTXT (line 558) | func EncodeRDataTXT(p []byte) []byte { FILE: transport/internet/finalmask/xdns/dns_test.go function namesEqual (line 12) | func namesEqual(a, b Name) bool { function TestName (line 24) | func TestName(t *testing.T) { function TestParseName (line 122) | func TestParseName(t *testing.T) { function unescapeString (line 141) | func unescapeString(s string) ([][]byte, error) { function TestNameString (line 175) | func TestNameString(t *testing.T) { function TestNameTrimSuffix (line 207) | func TestNameTrimSuffix(t *testing.T) { function TestReadName (line 238) | func TestReadName(t *testing.T) { function mustParseName (line 334) | func mustParseName(s string) Name { function questionsEqual (line 342) | func questionsEqual(a, b *Question) bool { function rrsEqual (line 352) | func rrsEqual(a, b *RR) bool { function messagesEqual (line 365) | func messagesEqual(a, b *Message) bool { function TestMessageFromWireFormat (line 394) | func TestMessageFromWireFormat(t *testing.T) { function TestMessageWireFormatRoundTrip (line 464) | func TestMessageWireFormatRoundTrip(t *testing.T) { function TestDecodeRDataTXT (line 526) | func TestDecodeRDataTXT(t *testing.T) { function TestEncodeRDataTXT (line 545) | func TestEncodeRDataTXT(t *testing.T) { function TestRDataTXTRoundTrip (line 564) | func TestRDataTXTRoundTrip(t *testing.T) { FILE: transport/internet/finalmask/xdns/server.go constant idleTimeout (line 18) | idleTimeout = 10 * time.Second constant responseTTL (line 19) | responseTTL = 60 constant maxResponseDelay (line 20) | maxResponseDelay = 1 * time.Second function clientIDToAddr (line 28) | func clientIDToAddr(clientID [8]byte) *net.UDPAddr { type record (line 39) | type record struct type queue (line 46) | type queue struct type xdnsConnServer (line 52) | type xdnsConnServer struct method clean (line 88) | func (c *xdnsConnServer) clean() { method ensureQueue (line 118) | func (c *xdnsConnServer) ensureQueue(addr net.Addr) *queue { method stash (line 136) | func (c *xdnsConnServer) stash(queue *queue, p []byte) { method recvLoop (line 150) | func (c *xdnsConnServer) recvLoop() { method sendLoop (line 227) | func (c *xdnsConnServer) sendLoop() { method ReadFrom (line 331) | func (c *xdnsConnServer) ReadFrom(p []byte) (n int, addr net.Addr, err... method WriteTo (line 344) | func (c *xdnsConnServer) WriteTo(p []byte, addr net.Addr) (n int, err ... method Close (line 370) | func (c *xdnsConnServer) Close() error { function NewConnServer (line 65) | func NewConnServer(c *Config, raw net.PacketConn) (net.PacketConn, error) { function nextPacketServer (line 375) | func nextPacketServer(r *bytes.Reader) ([]byte, error) { function responseFor (line 402) | func responseFor(query *Message, domain Name) (*Message, []byte) { function computeMaxEncodedPayload (line 484) | func computeMaxEncodedPayload(limit int) int { FILE: transport/internet/finalmask/xicmp/client.go constant initPollDelay (line 22) | initPollDelay = 500 * time.Millisecond constant maxPollDelay (line 23) | maxPollDelay = 10 * time.Second constant pollDelayMultiplier (line 24) | pollDelayMultiplier = 2.0 constant pollLimit (line 25) | pollLimit = 16 constant windowSize (line 26) | windowSize = 1000 type packet (line 29) | type packet struct type seqStatus (line 34) | type seqStatus struct type xicmpConnClient (line 39) | type xicmpConnClient struct method encode (line 103) | func (c *xicmpConnClient) encode(p []byte) ([]byte, error) { method recvLoop (line 151) | func (c *xicmpConnClient) recvLoop() { method sendLoop (line 231) | func (c *xicmpConnClient) sendLoop() { method ReadFrom (line 292) | func (c *xicmpConnClient) ReadFrom(p []byte) (n int, addr net.Addr, er... method WriteTo (line 305) | func (c *xicmpConnClient) WriteTo(p []byte, addr net.Addr) (n int, err... method Close (line 331) | func (c *xicmpConnClient) Close() error { method LocalAddr (line 337) | func (c *xicmpConnClient) LocalAddr() net.Addr { method SetDeadline (line 344) | func (c *xicmpConnClient) SetDeadline(t time.Time) error { method SetReadDeadline (line 348) | func (c *xicmpConnClient) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 352) | func (c *xicmpConnClient) SetWriteDeadline(t time.Time) error { function NewConnClient (line 57) | func NewConnClient(c *Config, raw net.PacketConn, level int) (net.Packet... FILE: transport/internet/finalmask/xicmp/config.go method UDP (line 7) | func (c *Config) UDP() { method WrapPacketConnClient (line 10) | func (c *Config) WrapPacketConnClient(raw net.PacketConn, level int, lev... method WrapPacketConnServer (line 14) | func (c *Config) WrapPacketConnServer(raw net.PacketConn, level int, lev... FILE: transport/internet/finalmask/xicmp/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 32) | func (x *Config) Reset() { method String (line 39) | func (x *Config) String() string { method ProtoMessage (line 43) | func (*Config) ProtoMessage() {} method ProtoReflect (line 45) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 58) | func (*Config) Descriptor() ([]byte, []int) { method GetIp (line 62) | func (x *Config) GetIp() string { method GetId (line 69) | func (x *Config) GetId() int32 { constant file_transport_internet_finalmask_xicmp_config_proto_rawDesc (line 78) | file_transport_internet_finalmask_xicmp_config_proto_rawDesc = "" + function file_transport_internet_finalmask_xicmp_config_proto_rawDescGZIP (line 91) | func file_transport_internet_finalmask_xicmp_config_proto_rawDescGZIP() ... function init (line 110) | func init() { file_transport_internet_finalmask_xicmp_config_proto_init() } function file_transport_internet_finalmask_xicmp_config_proto_init (line 111) | func file_transport_internet_finalmask_xicmp_config_proto_init() { FILE: transport/internet/finalmask/xicmp/server.go constant idleTimeout (line 20) | idleTimeout = 10 * time.Second constant maxResponseDelay (line 21) | maxResponseDelay = 1 * time.Second type record (line 24) | type record struct type queue (line 32) | type queue struct type xicmpConnServer (line 37) | type xicmpConnServer struct method clean (line 92) | func (c *xicmpConnServer) clean() { method ensureQueue (line 121) | func (c *xicmpConnServer) ensureQueue(addr net.Addr) *queue { method encode (line 138) | func (c *xicmpConnServer) encode(p []byte, id int, seq int, needSeqByt... method randUntil (line 167) | func (c *xicmpConnServer) randUntil(b1 byte) byte { method recvLoop (line 177) | func (c *xicmpConnServer) recvLoop() { method sendLoop (line 261) | func (c *xicmpConnServer) sendLoop() { method ReadFrom (line 320) | func (c *xicmpConnServer) ReadFrom(p []byte) (n int, addr net.Addr, er... method WriteTo (line 333) | func (c *xicmpConnServer) WriteTo(p []byte, addr net.Addr) (n int, err... method Close (line 359) | func (c *xicmpConnServer) Close() error { method LocalAddr (line 365) | func (c *xicmpConnServer) LocalAddr() net.Addr { method SetDeadline (line 369) | func (c *xicmpConnServer) SetDeadline(t time.Time) error { method SetReadDeadline (line 373) | func (c *xicmpConnServer) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 377) | func (c *xicmpConnServer) SetWriteDeadline(t time.Time) error { function NewConnServer (line 53) | func NewConnServer(c *Config, raw net.PacketConn, level int) (net.Packet... FILE: transport/internet/finalmask/xicmp/xicmp_test.go function TestICMPEchoMarshal (line 13) | func TestICMPEchoMarshal(t *testing.T) { FILE: transport/internet/grpc/config.go function init (line 11) | func init() { method getServiceName (line 17) | func (c *Config) getServiceName() string { method getTunStreamName (line 36) | func (c *Config) getTunStreamName() string { method getTunMultiStreamName (line 46) | func (c *Config) getTunMultiStreamName() string { FILE: transport/internet/grpc/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 38) | func (x *Config) Reset() { method String (line 45) | func (x *Config) String() string { method ProtoMessage (line 49) | func (*Config) ProtoMessage() {} method ProtoReflect (line 51) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 64) | func (*Config) Descriptor() ([]byte, []int) { method GetAuthority (line 68) | func (x *Config) GetAuthority() string { method GetServiceName (line 75) | func (x *Config) GetServiceName() string { method GetMultiMode (line 82) | func (x *Config) GetMultiMode() bool { method GetIdleTimeout (line 89) | func (x *Config) GetIdleTimeout() int32 { method GetHealthCheckTimeout (line 96) | func (x *Config) GetHealthCheckTimeout() int32 { method GetPermitWithoutStream (line 103) | func (x *Config) GetPermitWithoutStream() bool { method GetInitialWindowsSize (line 110) | func (x *Config) GetInitialWindowsSize() int32 { method GetUserAgent (line 117) | func (x *Config) GetUserAgent() string { constant file_transport_internet_grpc_config_proto_rawDesc (line 126) | file_transport_internet_grpc_config_proto_rawDesc = "" + function file_transport_internet_grpc_config_proto_rawDescGZIP (line 146) | func file_transport_internet_grpc_config_proto_rawDescGZIP() []byte { function init (line 165) | func init() { file_transport_internet_grpc_config_proto_init() } function file_transport_internet_grpc_config_proto_init (line 166) | func file_transport_internet_grpc_config_proto_init() { FILE: transport/internet/grpc/config_test.go function TestConfig_GetServiceName (line 12) | func TestConfig_GetServiceName(t *testing.T) { function TestConfig_GetTunStreamName (line 52) | func TestConfig_GetTunStreamName(t *testing.T) { function TestConfig_GetTunMultiStreamName (line 87) | func TestConfig_GetTunMultiStreamName(t *testing.T) { function TestSetUserAgent (line 122) | func TestSetUserAgent(t *testing.T) { FILE: transport/internet/grpc/dial.go function Dial (line 27) | func Dial(ctx context.Context, dest net.Destination, streamSettings *int... function init (line 37) | func init() { type dialerConf (line 41) | type dialerConf struct function dialgRPC (line 51) | func dialgRPC(ctx context.Context, dest net.Destination, streamSettings ... function getGrpcClient (line 77) | func getGrpcClient(ctx context.Context, dest net.Destination, streamSett... function setUserAgent (line 206) | func setUserAgent(conn *grpc.ClientConn, ua string) { FILE: transport/internet/grpc/encoding/customSeviceName.go function ServerDesc (line 9) | func ServerDesc(name, tun, tunMulti string) grpc.ServiceDesc { method TunCustomName (line 32) | func (c *gRPCServiceClient) TunCustomName(ctx context.Context, name, tun... method TunMultiCustomName (line 41) | func (c *gRPCServiceClient) TunMultiCustomName(ctx context.Context, name... type GRPCServiceClientX (line 50) | type GRPCServiceClientX interface function RegisterGRPCServiceServerX (line 57) | func RegisterGRPCServiceServerX(s *grpc.Server, srv GRPCServiceServer, n... FILE: transport/internet/grpc/encoding/hunkconn.go type HunkConn (line 16) | type HunkConn interface type StreamCloser (line 24) | type StreamCloser interface type HunkReaderWriter (line 28) | type HunkReaderWriter struct method forceFetch (line 75) | func (h *HunkReaderWriter) forceFetch() error { method Read (line 91) | func (h *HunkReaderWriter) Read(buf []byte) (int, error) { method ReadMultiBuffer (line 107) | func (h *HunkReaderWriter) ReadMultiBuffer() (buf.MultiBuffer, error) { method Write (line 131) | func (h *HunkReaderWriter) Write(buf []byte) (int, error) { method Close (line 143) | func (h *HunkReaderWriter) Close() error { function NewHunkReadWriter (line 37) | func NewHunkReadWriter(hc HunkConn, cancel context.CancelFunc) *HunkRead... function NewHunkConn (line 41) | func NewHunkConn(hc HunkConn, cancel context.CancelFunc) net.Conn { FILE: transport/internet/grpc/encoding/multiconn.go type MultiHunkConn (line 17) | type MultiHunkConn interface type MultiHunkReaderWriter (line 25) | type MultiHunkReaderWriter struct method forceFetch (line 71) | func (h *MultiHunkReaderWriter) forceFetch() error { method ReadMultiBuffer (line 86) | func (h *MultiHunkReaderWriter) ReadMultiBuffer() (buf.MultiBuffer, er... method WriteMultiBuffer (line 115) | func (h *MultiHunkReaderWriter) WriteMultiBuffer(mb buf.MultiBuffer) e... method Close (line 136) | func (h *MultiHunkReaderWriter) Close() error { function NewMultiHunkReadWriter (line 33) | func NewMultiHunkReadWriter(hc MultiHunkConn, cancel context.CancelFunc)... function NewMultiHunkConn (line 37) | func NewMultiHunkConn(hc MultiHunkConn, cancel context.CancelFunc) net.C... FILE: transport/internet/grpc/encoding/stream.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Hunk (line 24) | type Hunk struct method Reset (line 31) | func (x *Hunk) Reset() { method String (line 38) | func (x *Hunk) String() string { method ProtoMessage (line 42) | func (*Hunk) ProtoMessage() {} method ProtoReflect (line 44) | func (x *Hunk) ProtoReflect() protoreflect.Message { method Descriptor (line 57) | func (*Hunk) Descriptor() ([]byte, []int) { method GetData (line 61) | func (x *Hunk) GetData() []byte { type MultiHunk (line 68) | type MultiHunk struct method Reset (line 75) | func (x *MultiHunk) Reset() { method String (line 82) | func (x *MultiHunk) String() string { method ProtoMessage (line 86) | func (*MultiHunk) ProtoMessage() {} method ProtoReflect (line 88) | func (x *MultiHunk) ProtoReflect() protoreflect.Message { method Descriptor (line 101) | func (*MultiHunk) Descriptor() ([]byte, []int) { method GetData (line 105) | func (x *MultiHunk) GetData() [][]byte { constant file_transport_internet_grpc_encoding_stream_proto_rawDesc (line 114) | file_transport_internet_grpc_encoding_stream_proto_rawDesc = "" + function file_transport_internet_grpc_encoding_stream_proto_rawDescGZIP (line 130) | func file_transport_internet_grpc_encoding_stream_proto_rawDescGZIP() []... function init (line 154) | func init() { file_transport_internet_grpc_encoding_stream_proto_init() } function file_transport_internet_grpc_encoding_stream_proto_init (line 155) | func file_transport_internet_grpc_encoding_stream_proto_init() { FILE: transport/internet/grpc/encoding/stream_grpc.pb.go constant _ (line 19) | _ = grpc.SupportPackageIsVersion9 constant GRPCService_Tun_FullMethodName (line 22) | GRPCService_Tun_FullMethodName = "/xray.transport.internet.grpc.enc... constant GRPCService_TunMulti_FullMethodName (line 23) | GRPCService_TunMulti_FullMethodName = "/xray.transport.internet.grpc.enc... type GRPCServiceClient (line 29) | type GRPCServiceClient interface type gRPCServiceClient (line 34) | type gRPCServiceClient struct method Tun (line 42) | func (c *gRPCServiceClient) Tun(ctx context.Context, opts ...grpc.Call... method TunMulti (line 55) | func (c *gRPCServiceClient) TunMulti(ctx context.Context, opts ...grpc... function NewGRPCServiceClient (line 38) | func NewGRPCServiceClient(cc grpc.ClientConnInterface) GRPCServiceClient { type GRPCServiceServer (line 71) | type GRPCServiceServer interface type UnimplementedGRPCServiceServer (line 82) | type UnimplementedGRPCServiceServer struct method Tun (line 84) | func (UnimplementedGRPCServiceServer) Tun(grpc.BidiStreamingServer[Hun... method TunMulti (line 87) | func (UnimplementedGRPCServiceServer) TunMulti(grpc.BidiStreamingServe... method mustEmbedUnimplementedGRPCServiceServer (line 90) | func (UnimplementedGRPCServiceServer) mustEmbedUnimplementedGRPCServic... method testEmbeddedByValue (line 91) | func (UnimplementedGRPCServiceServer) testEmbeddedByValue() ... type UnsafeGRPCServiceServer (line 96) | type UnsafeGRPCServiceServer interface function RegisterGRPCServiceServer (line 100) | func RegisterGRPCServiceServer(s grpc.ServiceRegistrar, srv GRPCServiceS... function _GRPCService_Tun_Handler (line 111) | func _GRPCService_Tun_Handler(srv interface{}, stream grpc.ServerStream)... function _GRPCService_TunMulti_Handler (line 118) | func _GRPCService_TunMulti_Handler(srv interface{}, stream grpc.ServerSt... FILE: transport/internet/grpc/grpc.go constant protocolName (line 3) | protocolName = "grpc" FILE: transport/internet/grpc/hub.go type Listener (line 20) | type Listener struct method Tun (line 30) | func (l Listener) Tun(server encoding.GRPCService_TunServer) error { method TunMulti (line 37) | func (l Listener) TunMulti(server encoding.GRPCService_TunMultiServer)... method Close (line 44) | func (l Listener) Close() error { method Addr (line 49) | func (l Listener) Addr() net.Addr { function Listen (line 53) | func Listen(ctx context.Context, address net.Address, port net.Port, set... function init (line 141) | func init() { FILE: transport/internet/happy_eyeballs.go type result (line 10) | type result struct function TcpRaceDial (line 16) | func TcpRaceDial(ctx context.Context, src net.Address, ips []net.IP, por... function sortIPs (line 100) | func sortIPs(ips []net.IP, prioritizeIPv6 bool, interleave uint32) []net... function tcpTryDial (line 158) | func tcpTryDial(ctx context.Context, src net.Address, sockopt *SocketCon... FILE: transport/internet/header.go type PacketHeader (line 11) | type PacketHeader interface function CreatePacketHeader (line 16) | func CreatePacketHeader(config interface{}) (PacketHeader, error) { type ConnectionAuthenticator (line 27) | type ConnectionAuthenticator interface function CreateConnectionAuthenticator (line 32) | func CreateConnectionAuthenticator(config interface{}) (ConnectionAuthen... FILE: transport/internet/headers/http/config.go function pickString (line 9) | func pickString(arr []string) string { method PickURI (line 21) | func (v *RequestConfig) PickURI() string { method PickHeaders (line 25) | func (v *RequestConfig) PickHeaders() []string { method GetVersionValue (line 39) | func (v *RequestConfig) GetVersionValue() string { method GetMethodValue (line 46) | func (v *RequestConfig) GetMethodValue() string { method GetFullVersion (line 53) | func (v *RequestConfig) GetFullVersion() string { method HasHeader (line 57) | func (v *ResponseConfig) HasHeader(header string) bool { method PickHeaders (line 67) | func (v *ResponseConfig) PickHeaders() []string { method GetVersionValue (line 81) | func (v *ResponseConfig) GetVersionValue() string { method GetFullVersion (line 88) | func (v *ResponseConfig) GetFullVersion() string { method GetStatusValue (line 92) | func (v *ResponseConfig) GetStatusValue() *Status { FILE: transport/internet/headers/http/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Header (line 24) | type Header struct method Reset (line 35) | func (x *Header) Reset() { method String (line 42) | func (x *Header) String() string { method ProtoMessage (line 46) | func (*Header) ProtoMessage() {} method ProtoReflect (line 48) | func (x *Header) ProtoReflect() protoreflect.Message { method Descriptor (line 61) | func (*Header) Descriptor() ([]byte, []int) { method GetName (line 65) | func (x *Header) GetName() string { method GetValue (line 72) | func (x *Header) GetValue() []string { type Version (line 80) | type Version struct method Reset (line 87) | func (x *Version) Reset() { method String (line 94) | func (x *Version) String() string { method ProtoMessage (line 98) | func (*Version) ProtoMessage() {} method ProtoReflect (line 100) | func (x *Version) ProtoReflect() protoreflect.Message { method Descriptor (line 113) | func (*Version) Descriptor() ([]byte, []int) { method GetValue (line 117) | func (x *Version) GetValue() string { type Method (line 125) | type Method struct method Reset (line 132) | func (x *Method) Reset() { method String (line 139) | func (x *Method) String() string { method ProtoMessage (line 143) | func (*Method) ProtoMessage() {} method ProtoReflect (line 145) | func (x *Method) ProtoReflect() protoreflect.Message { method Descriptor (line 158) | func (*Method) Descriptor() ([]byte, []int) { method GetValue (line 162) | func (x *Method) GetValue() string { type RequestConfig (line 169) | type RequestConfig struct method Reset (line 182) | func (x *RequestConfig) Reset() { method String (line 189) | func (x *RequestConfig) String() string { method ProtoMessage (line 193) | func (*RequestConfig) ProtoMessage() {} method ProtoReflect (line 195) | func (x *RequestConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 208) | func (*RequestConfig) Descriptor() ([]byte, []int) { method GetVersion (line 212) | func (x *RequestConfig) GetVersion() *Version { method GetMethod (line 219) | func (x *RequestConfig) GetMethod() *Method { method GetUri (line 226) | func (x *RequestConfig) GetUri() []string { method GetHeader (line 233) | func (x *RequestConfig) GetHeader() []*Header { type Status (line 240) | type Status struct method Reset (line 250) | func (x *Status) Reset() { method String (line 257) | func (x *Status) String() string { method ProtoMessage (line 261) | func (*Status) ProtoMessage() {} method ProtoReflect (line 263) | func (x *Status) ProtoReflect() protoreflect.Message { method Descriptor (line 276) | func (*Status) Descriptor() ([]byte, []int) { method GetCode (line 280) | func (x *Status) GetCode() string { method GetReason (line 287) | func (x *Status) GetReason() string { type ResponseConfig (line 294) | type ResponseConfig struct method Reset (line 303) | func (x *ResponseConfig) Reset() { method String (line 310) | func (x *ResponseConfig) String() string { method ProtoMessage (line 314) | func (*ResponseConfig) ProtoMessage() {} method ProtoReflect (line 316) | func (x *ResponseConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 329) | func (*ResponseConfig) Descriptor() ([]byte, []int) { method GetVersion (line 333) | func (x *ResponseConfig) GetVersion() *Version { method GetStatus (line 340) | func (x *ResponseConfig) GetStatus() *Status { method GetHeader (line 347) | func (x *ResponseConfig) GetHeader() []*Header { type Config (line 354) | type Config struct method Reset (line 366) | func (x *Config) Reset() { method String (line 373) | func (x *Config) String() string { method ProtoMessage (line 377) | func (*Config) ProtoMessage() {} method ProtoReflect (line 379) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 392) | func (*Config) Descriptor() ([]byte, []int) { method GetRequest (line 396) | func (x *Config) GetRequest() *RequestConfig { method GetResponse (line 403) | func (x *Config) GetResponse() *ResponseConfig { constant file_transport_internet_headers_http_config_proto_rawDesc (line 412) | file_transport_internet_headers_http_config_proto_rawDesc = "" + function file_transport_internet_headers_http_config_proto_rawDescGZIP (line 444) | func file_transport_internet_headers_http_config_proto_rawDescGZIP() []b... function init (line 477) | func init() { file_transport_internet_headers_http_config_proto_init() } function file_transport_internet_headers_http_config_proto_init (line 478) | func file_transport_internet_headers_http_config_proto_init() { FILE: transport/internet/headers/http/http.go constant CRLF (line 20) | CRLF = "\r\n" constant ENDING (line 23) | ENDING = CRLF + CRLF constant maxHeaderLength (line 26) | maxHeaderLength = 8192 type Reader (line 35) | type Reader interface type Writer (line 39) | type Writer interface type NoOpReader (line 43) | type NoOpReader struct method Read (line 45) | func (NoOpReader) Read(io.Reader) (*buf.Buffer, error) { type NoOpWriter (line 49) | type NoOpWriter struct method Write (line 51) | func (NoOpWriter) Write(io.Writer) error { type HeaderReader (line 55) | type HeaderReader struct method ExpectThisRequest (line 60) | func (h *HeaderReader) ExpectThisRequest(expectedHeader *RequestConfig... method Read (line 65) | func (h *HeaderReader) Read(reader io.Reader) (*buf.Buffer, error) { type HeaderWriter (line 139) | type HeaderWriter struct method Write (line 149) | func (w *HeaderWriter) Write(writer io.Writer) error { function NewHeaderWriter (line 143) | func NewHeaderWriter(header *buf.Buffer) *HeaderWriter { type Conn (line 159) | type Conn struct method Read (line 182) | func (c *Conn) Read(b []byte) (int, error) { method Write (line 206) | func (c *Conn) Write(b []byte) (int, error) { method Close (line 219) | func (c *Conn) Close() error { function NewConn (line 171) | func NewConn(conn net.Conn, reader Reader, writer Writer, errorWriter Wr... function formResponseHeader (line 238) | func formResponseHeader(config *ResponseConfig) *HeaderWriter { type Authenticator (line 259) | type Authenticator struct method GetClientWriter (line 263) | func (a Authenticator) GetClientWriter() *HeaderWriter { method GetServerWriter (line 280) | func (a Authenticator) GetServerWriter() *HeaderWriter { method Client (line 284) | func (a Authenticator) Client(conn net.Conn) net.Conn { method Server (line 300) | func (a Authenticator) Server(conn net.Conn) net.Conn { function NewAuthenticator (line 310) | func NewAuthenticator(ctx context.Context, config *Config) (Authenticato... function init (line 316) | func init() { FILE: transport/internet/headers/http/http_test.go function TestReaderWriter (line 18) | func TestReaderWriter(t *testing.T) { function TestRequestHeader (line 38) | func TestRequestHeader(t *testing.T) { function TestLongRequestHeader (line 61) | func TestLongRequestHeader(t *testing.T) { function TestConnection (line 75) | func TestConnection(t *testing.T) { function TestConnectionInvPath (line 148) | func TestConnectionInvPath(t *testing.T) { function TestConnectionInvReq (line 249) | func TestConnectionInvReq(t *testing.T) { FILE: transport/internet/headers/http/linkedreadRequest.go function readRequest (line 11) | func readRequest(b *bufio.Reader) (req *http.Request, err error) FILE: transport/internet/headers/noop/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { type ConnectionConfig (line 60) | type ConnectionConfig struct method Reset (line 66) | func (x *ConnectionConfig) Reset() { method String (line 73) | func (x *ConnectionConfig) String() string { method ProtoMessage (line 77) | func (*ConnectionConfig) ProtoMessage() {} method ProtoReflect (line 79) | func (x *ConnectionConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 92) | func (*ConnectionConfig) Descriptor() ([]byte, []int) { constant file_transport_internet_headers_noop_config_proto_rawDesc (line 98) | file_transport_internet_headers_noop_config_proto_rawDesc = "" + function file_transport_internet_headers_noop_config_proto_rawDescGZIP (line 110) | func file_transport_internet_headers_noop_config_proto_rawDescGZIP() []b... function init (line 130) | func init() { file_transport_internet_headers_noop_config_proto_init() } function file_transport_internet_headers_noop_config_proto_init (line 131) | func file_transport_internet_headers_noop_config_proto_init() { FILE: transport/internet/headers/noop/noop.go type NoOpHeader (line 10) | type NoOpHeader struct method Size (line 12) | func (NoOpHeader) Size() int32 { method Serialize (line 17) | func (NoOpHeader) Serialize([]byte) {} function NewNoOpHeader (line 19) | func NewNoOpHeader(context.Context, interface{}) (interface{}, error) { type NoOpConnectionHeader (line 23) | type NoOpConnectionHeader struct method Client (line 25) | func (NoOpConnectionHeader) Client(conn net.Conn) net.Conn { method Server (line 29) | func (NoOpConnectionHeader) Server(conn net.Conn) net.Conn { function NewNoOpConnectionHeader (line 33) | func NewNoOpConnectionHeader(context.Context, interface{}) (interface{},... function init (line 37) | func init() { FILE: transport/internet/httpupgrade/config.go method GetNormalizedPath (line 8) | func (c *Config) GetNormalizedPath() string { function init (line 19) | func init() { FILE: transport/internet/httpupgrade/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 35) | func (x *Config) Reset() { method String (line 42) | func (x *Config) String() string { method ProtoMessage (line 46) | func (*Config) ProtoMessage() {} method ProtoReflect (line 48) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 61) | func (*Config) Descriptor() ([]byte, []int) { method GetHost (line 65) | func (x *Config) GetHost() string { method GetPath (line 72) | func (x *Config) GetPath() string { method GetHeader (line 79) | func (x *Config) GetHeader() map[string]string { method GetAcceptProxyProtocol (line 86) | func (x *Config) GetAcceptProxyProtocol() bool { method GetEd (line 93) | func (x *Config) GetEd() uint32 { constant file_transport_internet_httpupgrade_config_proto_rawDesc (line 102) | file_transport_internet_httpupgrade_config_proto_rawDesc = "" + function file_transport_internet_httpupgrade_config_proto_rawDescGZIP (line 121) | func file_transport_internet_httpupgrade_config_proto_rawDescGZIP() []by... function init (line 142) | func init() { file_transport_internet_httpupgrade_config_proto_init() } function file_transport_internet_httpupgrade_config_proto_init (line 143) | func file_transport_internet_httpupgrade_config_proto_init() { FILE: transport/internet/httpupgrade/connection.go type connection (line 5) | type connection struct method RemoteAddr (line 17) | func (c *connection) RemoteAddr() net.Addr { function newConnection (line 10) | func newConnection(conn net.Conn, remoteAddr net.Addr) *connection { FILE: transport/internet/httpupgrade/dialer.go type ConnRF (line 19) | type ConnRF struct method Read (line 25) | func (c *ConnRF) Read(b []byte) (int, error) { function dialhttpUpgrade (line 46) | func dialhttpUpgrade(ctx context.Context, dest net.Destination, streamSe... function AddHeader (line 129) | func AddHeader(header http.Header, key, value string) { function Dial (line 133) | func Dial(ctx context.Context, dest net.Destination, streamSettings *int... function init (line 143) | func init() { FILE: transport/internet/httpupgrade/httpupgrade.go constant protocolName (line 3) | protocolName = "httpupgrade" FILE: transport/internet/httpupgrade/httpupgrade_test.go function Test_listenHTTPUpgradeAndDial (line 19) | func Test_listenHTTPUpgradeAndDial(t *testing.T) { function Test_listenHTTPUpgradeAndDialWithHeaders (line 75) | func Test_listenHTTPUpgradeAndDialWithHeaders(t *testing.T) { function TestDialWithRemoteAddr (line 134) | func TestDialWithRemoteAddr(t *testing.T) { function Test_listenHTTPUpgradeAndDial_TLS (line 177) | func Test_listenHTTPUpgradeAndDial_TLS(t *testing.T) { FILE: transport/internet/httpupgrade/hub.go type server (line 19) | type server struct method Close (line 26) | func (s *server) Close() error { method Addr (line 30) | func (s *server) Addr() net.Addr { method Handle (line 34) | func (s *server) Handle(conn net.Conn) { method upgrade (line 45) | func (s *server) upgrade(conn net.Conn) (stat.Connection, error) { method keepAccepting (line 105) | func (s *server) keepAccepting() { function ListenHTTPUpgrade (line 115) | func ListenHTTPUpgrade(ctx context.Context, address net.Address, port ne... function init (line 169) | func init() { FILE: transport/internet/hysteria/config.go constant closeErrCodeOK (line 12) | closeErrCodeOK = 0x100 constant closeErrCodeProtocolError (line 13) | closeErrCodeProtocolError = 0x101 constant MaxDatagramFrameSize (line 15) | MaxDatagramFrameSize = 1200 constant URLHost (line 17) | URLHost = "hysteria" constant URLPath (line 18) | URLPath = "/auth" constant RequestHeaderAuth (line 20) | RequestHeaderAuth = "Hysteria-Auth" constant ResponseHeaderUDPEnabled (line 21) | ResponseHeaderUDPEnabled = "Hysteria-UDP" constant CommonHeaderCCRX (line 22) | CommonHeaderCCRX = "Hysteria-CC-RX" constant CommonHeaderPadding (line 23) | CommonHeaderPadding = "Hysteria-Padding" constant StatusAuthOK (line 25) | StatusAuthOK = 233 constant udpMessageChanSize (line 27) | udpMessageChanSize = 1024 constant FrameTypeTCPRequest (line 29) | FrameTypeTCPRequest = 0x401 constant idleCleanupInterval (line 31) | idleCleanupInterval = 1 * time.Second type Status (line 39) | type Status constant StatusUnknown (line 42) | StatusUnknown Status = iota constant StatusActive (line 43) | StatusActive constant StatusInactive (line 44) | StatusInactive constant protocolName (line 47) | protocolName = "hysteria" function init (line 49) | func init() { FILE: transport/internet/hysteria/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 41) | func (x *Config) Reset() { method String (line 48) | func (x *Config) String() string { method ProtoMessage (line 52) | func (*Config) ProtoMessage() {} method ProtoReflect (line 54) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 67) | func (*Config) Descriptor() ([]byte, []int) { method GetVersion (line 71) | func (x *Config) GetVersion() int32 { method GetAuth (line 78) | func (x *Config) GetAuth() string { method GetUdpIdleTimeout (line 85) | func (x *Config) GetUdpIdleTimeout() int64 { method GetMasqType (line 92) | func (x *Config) GetMasqType() string { method GetMasqFile (line 99) | func (x *Config) GetMasqFile() string { method GetMasqUrl (line 106) | func (x *Config) GetMasqUrl() string { method GetMasqUrlRewriteHost (line 113) | func (x *Config) GetMasqUrlRewriteHost() bool { method GetMasqUrlInsecure (line 120) | func (x *Config) GetMasqUrlInsecure() bool { method GetMasqString (line 127) | func (x *Config) GetMasqString() string { method GetMasqStringHeaders (line 134) | func (x *Config) GetMasqStringHeaders() map[string]string { method GetMasqStringStatusCode (line 141) | func (x *Config) GetMasqStringStatusCode() int32 { constant file_transport_internet_hysteria_config_proto_rawDesc (line 150) | file_transport_internet_hysteria_config_proto_rawDesc = "" + function file_transport_internet_hysteria_config_proto_rawDescGZIP (line 177) | func file_transport_internet_hysteria_config_proto_rawDescGZIP() []byte { function init (line 198) | func init() { file_transport_internet_hysteria_config_proto_init() } function file_transport_internet_hysteria_config_proto_init (line 199) | func file_transport_internet_hysteria_config_proto_init() { FILE: transport/internet/hysteria/congestion/bbr/bandwidth.go constant infBandwidth (line 11) | infBandwidth = Bandwidth(math.MaxUint64) type Bandwidth (line 15) | type Bandwidth constant BitsPerSecond (line 19) | BitsPerSecond Bandwidth = 1 constant BytesPerSecond (line 21) | BytesPerSecond = 8 * BitsPerSecond function BandwidthFromDelta (line 25) | func BandwidthFromDelta(bytes congestion.ByteCount, delta time.Duration)... FILE: transport/internet/hysteria/congestion/bbr/bandwidth_sampler.go constant infRTT (line 12) | infRTT = time.Duration(math.MaxInt64) constant defaultConnectionStateMapQueueSize (line 13) | defaultConnectionStateMapQueueSize = 256 constant defaultCandidatesBufferSize (line 14) | defaultCandidatesBufferSize = 256 type roundTripCount (line 17) | type roundTripCount type sendTimeState (line 21) | type sendTimeState struct function newSendTimeState (line 42) | func newSendTimeState( type extraAckedEvent (line 59) | type extraAckedEvent struct function maxExtraAckedEventFunc (line 70) | func maxExtraAckedEventFunc(a, b extraAckedEvent) int { type bandwidthSample (line 80) | type bandwidthSample struct function newBandwidthSample (line 94) | func newBandwidthSample() *bandwidthSample { type maxAckHeightTracker (line 102) | type maxAckHeightTracker struct method Get (line 127) | func (m *maxAckHeightTracker) Get() congestion.ByteCount { method Update (line 131) | func (m *maxAckHeightTracker) Update( method SetFilterWindowLength (line 211) | func (m *maxAckHeightTracker) SetFilterWindowLength(length roundTripCo... method Reset (line 215) | func (m *maxAckHeightTracker) Reset(newHeight congestion.ByteCount, ne... method SetAckAggregationBandwidthThreshold (line 223) | func (m *maxAckHeightTracker) SetAckAggregationBandwidthThreshold(thre... method SetStartNewAggregationEpochAfterFullRound (line 227) | func (m *maxAckHeightTracker) SetStartNewAggregationEpochAfterFullRoun... method SetReduceExtraAckedOnBandwidthIncrease (line 231) | func (m *maxAckHeightTracker) SetReduceExtraAckedOnBandwidthIncrease(v... method AckAggregationBandwidthThreshold (line 235) | func (m *maxAckHeightTracker) AckAggregationBandwidthThreshold() float... method NumAckAggregationEpochs (line 239) | func (m *maxAckHeightTracker) NumAckAggregationEpochs() uint64 { function newMaxAckHeightTracker (line 119) | func newMaxAckHeightTracker(windowLength roundTripCount) *maxAckHeightTr... type ackPoint (line 244) | type ackPoint struct type recentAckPoints (line 250) | type recentAckPoints struct method Update (line 254) | func (r *recentAckPoints) Update(ackTime monotime.Time, totalBytesAcke... method Clear (line 265) | func (r *recentAckPoints) Clear() { method MostRecentPoint (line 270) | func (r *recentAckPoints) MostRecentPoint() *ackPoint { method LessRecentPoint (line 274) | func (r *recentAckPoints) LessRecentPoint() *ackPoint { type connectionStateOnSentPacket (line 286) | type connectionStateOnSentPacket struct function newConnectionStateOnSentPacket (line 308) | func newConnectionStateOnSentPacket( type congestionEventSample (line 413) | type congestionEventSample struct function newCongestionEventSample (line 435) | func newCongestionEventSample() *congestionEventSample { type bandwidthSampler (line 441) | type bandwidthSampler struct method MaxAckHeight (line 513) | func (b *bandwidthSampler) MaxAckHeight() congestion.ByteCount { method NumAckAggregationEpochs (line 517) | func (b *bandwidthSampler) NumAckAggregationEpochs() uint64 { method SetMaxAckHeightTrackerWindowLength (line 521) | func (b *bandwidthSampler) SetMaxAckHeightTrackerWindowLength(length r... method ResetMaxAckHeightTracker (line 525) | func (b *bandwidthSampler) ResetMaxAckHeightTracker(newHeight congesti... method SetStartNewAggregationEpochAfterFullRound (line 529) | func (b *bandwidthSampler) SetStartNewAggregationEpochAfterFullRound(v... method SetLimitMaxAckHeightTrackerBySendRate (line 533) | func (b *bandwidthSampler) SetLimitMaxAckHeightTrackerBySendRate(value... method SetReduceExtraAckedOnBandwidthIncrease (line 537) | func (b *bandwidthSampler) SetReduceExtraAckedOnBandwidthIncrease(valu... method EnableOverestimateAvoidance (line 541) | func (b *bandwidthSampler) EnableOverestimateAvoidance() { method IsOverestimateAvoidanceEnabled (line 550) | func (b *bandwidthSampler) IsOverestimateAvoidanceEnabled() bool { method OnPacketSent (line 554) | func (b *bandwidthSampler) OnPacketSent( method OnCongestionEvent (line 598) | func (b *bandwidthSampler) OnCongestionEvent( method OnPacketLost (line 677) | func (b *bandwidthSampler) OnPacketLost(packetNumber congestion.Packet... method OnPacketNeutered (line 685) | func (b *bandwidthSampler) OnPacketNeutered(packetNumber congestion.Pa... method OnAppLimited (line 691) | func (b *bandwidthSampler) OnAppLimited() { method RemoveObsoletePackets (line 696) | func (b *bandwidthSampler) RemoveObsoletePackets(leastUnacked congesti... method TotalBytesSent (line 705) | func (b *bandwidthSampler) TotalBytesSent() congestion.ByteCount { method TotalBytesLost (line 709) | func (b *bandwidthSampler) TotalBytesLost() congestion.ByteCount { method TotalBytesAcked (line 713) | func (b *bandwidthSampler) TotalBytesAcked() congestion.ByteCount { method TotalBytesNeutered (line 717) | func (b *bandwidthSampler) TotalBytesNeutered() congestion.ByteCount { method IsAppLimited (line 721) | func (b *bandwidthSampler) IsAppLimited() bool { method EndOfAppLimitedPhase (line 725) | func (b *bandwidthSampler) EndOfAppLimitedPhase() congestion.PacketNum... method max_ack_height (line 729) | func (b *bandwidthSampler) max_ack_height() congestion.ByteCount { method chooseA0Point (line 733) | func (b *bandwidthSampler) chooseA0Point(totalBytesAcked congestion.By... method onPacketAcknowledged (line 762) | func (b *bandwidthSampler) onPacketAcknowledged(ackTime monotime.Time,... method onAckEventEnd (line 834) | func (b *bandwidthSampler) onAckEventEnd( function newBandwidthSampler (line 499) | func newBandwidthSampler(maxAckHeightTrackerWindowLength roundTripCount)... function sentPacketToSendTimeState (line 861) | func sentPacketToSendTimeState(sentPacket *connectionStateOnSentPacket, ... function bytesFromBandwidthAndTimeDelta (line 868) | func bytesFromBandwidthAndTimeDelta(bandwidth Bandwidth, delta time.Dura... function timeDeltaFromBytesAndBandwidth (line 873) | func timeDeltaFromBytesAndBandwidth(bytes congestion.ByteCount, bandwidt... FILE: transport/internet/hysteria/congestion/bbr/bbr_sender.go constant minBps (line 27) | minBps = 65536 constant invalidPacketNumber (line 29) | invalidPacketNumber = -1 constant initialCongestionWindowPackets (line 30) | initialCongestionWindowPackets = 32 constant defaultMinimumCongestionWindow (line 35) | defaultMinimumCongestionWindow = 4 * congestion.ByteCount(congestion.Ini... constant defaultHighGain (line 38) | defaultHighGain = 2.885 constant derivedHighGain (line 40) | derivedHighGain = 2.773 constant derivedHighCWNDGain (line 42) | derivedHighCWNDGain = 2.0 constant debugEnv (line 44) | debugEnv = "HYSTERIA_BBR_DEBUG" constant gainCycleLength (line 52) | gainCycleLength = len(pacingGain) constant bandwidthWindowSize (line 54) | bandwidthWindowSize = gainCycleLength + 2 constant minRttExpiry (line 57) | minRttExpiry = 10 * time.Second constant probeRttTime (line 59) | probeRttTime = 200 * time.Millisecond constant startupGrowthTarget (line 63) | startupGrowthTarget = 1.25 constant roundTripsWithoutGrowthBeforeExitingStartup (line 64) | roundTripsWithoutGrowthBeforeExitingStartup = int64(3) constant defaultStartupFullLossCount (line 67) | defaultStartupFullLossCount = 8 constant quicBbr2DefaultLossThreshold (line 68) | quicBbr2DefaultLossThreshold = 0.02 constant maxBbrBurstPackets (line 69) | maxBbrBurstPackets = 10 type bbrMode (line 72) | type bbrMode constant bbrModeStartup (line 76) | bbrModeStartup = iota constant bbrModeDrain (line 79) | bbrModeDrain constant bbrModeProbeBw (line 81) | bbrModeProbeBw constant bbrModeProbeRtt (line 84) | bbrModeProbeRtt type bbrRecoveryState (line 88) | type bbrRecoveryState constant bbrRecoveryStateNotInRecovery (line 92) | bbrRecoveryStateNotInRecovery = iota constant bbrRecoveryStateConservation (line 94) | bbrRecoveryStateConservation constant bbrRecoveryStateGrowth (line 97) | bbrRecoveryStateGrowth type bbrSender (line 100) | type bbrSender struct method SetRTTStatsProvider (line 312) | func (b *bbrSender) SetRTTStatsProvider(provider congestion.RTTStatsPr... method TimeUntilSend (line 317) | func (b *bbrSender) TimeUntilSend(bytesInFlight congestion.ByteCount) ... method HasPacingBudget (line 322) | func (b *bbrSender) HasPacingBudget(now monotime.Time) bool { method OnPacketSent (line 327) | func (b *bbrSender) OnPacketSent( method CanSend (line 347) | func (b *bbrSender) CanSend(bytesInFlight congestion.ByteCount) bool { method MaybeExitSlowStart (line 352) | func (b *bbrSender) MaybeExitSlowStart() { method OnPacketAcked (line 357) | func (b *bbrSender) OnPacketAcked(number congestion.PacketNumber, acke... method OnPacketLost (line 362) | func (b *bbrSender) OnPacketLost(number congestion.PacketNumber, lostB... method OnRetransmissionTimeout (line 367) | func (b *bbrSender) OnRetransmissionTimeout(packetsRetransmitted bool) { method SetMaxDatagramSize (line 372) | func (b *bbrSender) SetMaxDatagramSize(s congestion.ByteCount) { method InSlowStart (line 385) | func (b *bbrSender) InSlowStart() bool { method InRecovery (line 390) | func (b *bbrSender) InRecovery() bool { method GetCongestionWindow (line 395) | func (b *bbrSender) GetCongestionWindow() congestion.ByteCount { method OnCongestionEvent (line 407) | func (b *bbrSender) OnCongestionEvent(number congestion.PacketNumber, ... method OnCongestionEventEx (line 411) | func (b *bbrSender) OnCongestionEventEx(priorInFlight congestion.ByteC... method PacingRate (line 513) | func (b *bbrSender) PacingRate() Bandwidth { method hasGoodBandwidthEstimateForResumption (line 522) | func (b *bbrSender) hasGoodBandwidthEstimateForResumption() bool { method hasNonAppLimitedSample (line 526) | func (b *bbrSender) hasNonAppLimitedSample() bool { method setHighGain (line 531) | func (b *bbrSender) setHighGain(highGain float64) { method setHighCwndGain (line 539) | func (b *bbrSender) setHighCwndGain(highCwndGain float64) { method setDrainGain (line 547) | func (b *bbrSender) setDrainGain(drainGain float64) { method bandwidthEstimate (line 552) | func (b *bbrSender) bandwidthEstimate() Bandwidth { method bandwidthForPacer (line 556) | func (b *bbrSender) bandwidthForPacer() congestion.ByteCount { method getMinRtt (line 569) | func (b *bbrSender) getMinRtt() time.Duration { method getTargetCongestionWindow (line 585) | func (b *bbrSender) getTargetCongestionWindow(gain float64) congestion... method probeRttCongestionWindow (line 598) | func (b *bbrSender) probeRttCongestionWindow() congestion.ByteCount { method maybeUpdateMinRtt (line 602) | func (b *bbrSender) maybeUpdateMinRtt(now monotime.Time, sampleMinRtt ... method enterStartupMode (line 614) | func (b *bbrSender) enterStartupMode(now monotime.Time) { method enterProbeBandwidthMode (line 626) | func (b *bbrSender) enterProbeBandwidthMode(now monotime.Time) { method updateRoundTripCounter (line 649) | func (b *bbrSender) updateRoundTripCounter(lastAckedPacket congestion.... method updateGainCyclePhase (line 659) | func (b *bbrSender) updateGainCyclePhase(now monotime.Time, priorInFli... method checkIfFullBandwidthReached (line 695) | func (b *bbrSender) checkIfFullBandwidthReached(lastPacketSendState *s... method maybeAppLimited (line 718) | func (b *bbrSender) maybeAppLimited(bytesInFlight congestion.ByteCount) { method maybeExitStartupOrDrain (line 726) | func (b *bbrSender) maybeExitStartupOrDrain(now monotime.Time) { method maybeEnterOrExitProbeRtt (line 743) | func (b *bbrSender) maybeEnterOrExitProbeRtt(now monotime.Time, isRoun... method updateRecoveryState (line 795) | func (b *bbrSender) updateRecoveryState(lastAckedPacket congestion.Pac... method calculatePacingRate (line 831) | func (b *bbrSender) calculatePacingRate(bytesLost congestion.ByteCount) { method calculateCongestionWindow (line 871) | func (b *bbrSender) calculateCongestionWindow(bytesAcked, excessAcked ... method calculateRecoveryWindow (line 904) | func (b *bbrSender) calculateRecoveryWindow(bytesAcked, bytesLost cong... method shouldExitStartupDueToLoss (line 936) | func (b *bbrSender) shouldExitStartupDueToLoss(lastPacketSendState *se... method debugPrint (line 952) | func (b *bbrSender) debugPrint(format string, a ...any) { function NewBbrSender (line 251) | func NewBbrSender( function newBbrSender (line 263) | func newBbrSender( function bdpFromRttAndBandwidth (line 958) | func bdpFromRttAndBandwidth(rtt time.Duration, bandwidth Bandwidth) cong... function GetInitialPacketSize (line 962) | func GetInitialPacketSize(addr net.Addr) congestion.ByteCount { function formatSpeed (line 972) | func formatSpeed(bw Bandwidth) string { FILE: transport/internet/hysteria/congestion/bbr/clock.go type Clock (line 6) | type Clock interface type DefaultClock (line 11) | type DefaultClock struct method Now (line 16) | func (DefaultClock) Now() monotime.Time { FILE: transport/internet/hysteria/congestion/bbr/packet_number_indexed_queue.go type entryWrapper (line 29) | type entryWrapper struct type packetNumberIndexedQueue (line 34) | type packetNumberIndexedQueue struct function newPacketNumberIndexedQueue (line 40) | func newPacketNumberIndexedQueue[T any](size int) *packetNumberIndexedQu... method Emplace (line 54) | func (p *packetNumberIndexedQueue[T]) Emplace(packetNumber congestion.Pa... method GetEntry (line 92) | func (p *packetNumberIndexedQueue[T]) GetEntry(packetNumber congestion.P... method Remove (line 103) | func (p *packetNumberIndexedQueue[T]) Remove(packetNumber congestion.Pac... method RemoveUpTo (line 124) | func (p *packetNumberIndexedQueue[T]) RemoveUpTo(packetNumber congestion... method IsEmpty (line 140) | func (p *packetNumberIndexedQueue[T]) IsEmpty() bool { method NumberOfPresentEntries (line 145) | func (p *packetNumberIndexedQueue[T]) NumberOfPresentEntries() int { method EntrySlotsUsed (line 151) | func (p *packetNumberIndexedQueue[T]) EntrySlotsUsed() int { method FirstPacket (line 156) | func (p *packetNumberIndexedQueue[T]) FirstPacket() (packetNumber conges... method LastPacket (line 163) | func (p *packetNumberIndexedQueue[T]) LastPacket() (packetNumber congest... method clearup (line 171) | func (p *packetNumberIndexedQueue[T]) clearup() { method getEntryWraper (line 181) | func (p *packetNumberIndexedQueue[T]) getEntryWraper(packetNumber conges... FILE: transport/internet/hysteria/congestion/bbr/ringbuffer.go type RingBuffer (line 5) | type RingBuffer struct method Init (line 12) | func (r *RingBuffer[T]) Init(size int) { method Len (line 17) | func (r *RingBuffer[T]) Len() int { method Empty (line 28) | func (r *RingBuffer[T]) Empty() bool { method PushBack (line 34) | func (r *RingBuffer[T]) PushBack(t T) { method PopFront (line 51) | func (r *RingBuffer[T]) PopFront() T { method Offset (line 69) | func (r *RingBuffer[T]) Offset(index int) *T { method Front (line 80) | func (r *RingBuffer[T]) Front() *T { method Back (line 90) | func (r *RingBuffer[T]) Back() *T { method grow (line 99) | func (r *RingBuffer[T]) grow() { method Clear (line 112) | func (r *RingBuffer[T]) Clear() { FILE: transport/internet/hysteria/congestion/bbr/windowed_filter.go type WindowedFilterValue (line 33) | type WindowedFilterValue interface type WindowedFilterTime (line 37) | type WindowedFilterTime interface type WindowedFilter (line 41) | type WindowedFilter struct type entry (line 48) | type entry struct function MaxFilter (line 55) | func MaxFilter[O constraints.Ordered](a, b O) int { function MinFilter (line 66) | func MinFilter[O constraints.Ordered](a, b O) int { function NewWindowedFilter (line 75) | func NewWindowedFilter[V WindowedFilterValue, T WindowedFilterTime](wind... method SetWindowLength (line 84) | func (f *WindowedFilter[V, T]) SetWindowLength(windowLength T) { method GetBest (line 88) | func (f *WindowedFilter[V, T]) GetBest() V { method GetSecondBest (line 92) | func (f *WindowedFilter[V, T]) GetSecondBest() V { method GetThirdBest (line 96) | func (f *WindowedFilter[V, T]) GetThirdBest() V { method Update (line 102) | func (f *WindowedFilter[V, T]) Update(newSample V, newTime T) { method Reset (line 154) | func (f *WindowedFilter[V, T]) Reset(newSample V, newTime T) { method Clear (line 160) | func (f *WindowedFilter[V, T]) Clear() { FILE: transport/internet/hysteria/congestion/brutal/brutal.go constant pktInfoSlotCount (line 16) | pktInfoSlotCount = 5 constant minSampleCount (line 17) | minSampleCount = 50 constant minAckRate (line 18) | minAckRate = 0.8 constant congestionWindowMultiplier (line 19) | congestionWindowMultiplier = 2 constant debugEnv (line 21) | debugEnv = "HYSTERIA_BRUTAL_DEBUG" constant debugPrintInterval (line 22) | debugPrintInterval = 2 type BrutalSender (line 27) | type BrutalSender struct method SetRTTStatsProvider (line 60) | func (b *BrutalSender) SetRTTStatsProvider(rttStats congestion.RTTStat... method TimeUntilSend (line 64) | func (b *BrutalSender) TimeUntilSend(bytesInFlight congestion.ByteCoun... method HasPacingBudget (line 68) | func (b *BrutalSender) HasPacingBudget(now monotime.Time) bool { method CanSend (line 72) | func (b *BrutalSender) CanSend(bytesInFlight congestion.ByteCount) bool { method GetCongestionWindow (line 76) | func (b *BrutalSender) GetCongestionWindow() congestion.ByteCount { method OnPacketSent (line 88) | func (b *BrutalSender) OnPacketSent(sentTime monotime.Time, bytesInFli... method OnPacketAcked (line 94) | func (b *BrutalSender) OnPacketAcked(number congestion.PacketNumber, a... method OnCongestionEvent (line 100) | func (b *BrutalSender) OnCongestionEvent(number congestion.PacketNumbe... method OnCongestionEventEx (line 106) | func (b *BrutalSender) OnCongestionEventEx(priorInFlight congestion.By... method SetMaxDatagramSize (line 121) | func (b *BrutalSender) SetMaxDatagramSize(size congestion.ByteCount) { method updateAckRate (line 129) | func (b *BrutalSender) updateAckRate(currentTimestamp int64) { method InSlowStart (line 166) | func (b *BrutalSender) InSlowStart() bool { method InRecovery (line 170) | func (b *BrutalSender) InRecovery() bool { method MaybeExitSlowStart (line 174) | func (b *BrutalSender) MaybeExitSlowStart() {} method OnRetransmissionTimeout (line 176) | func (b *BrutalSender) OnRetransmissionTimeout(packetsRetransmitted bo... method canPrintAckRate (line 178) | func (b *BrutalSender) canPrintAckRate(currentTimestamp int64) bool { method debugPrint (line 182) | func (b *BrutalSender) debugPrint(format string, a ...any) { type pktInfo (line 40) | type pktInfo struct function NewBrutalSender (line 46) | func NewBrutalSender(bps uint64) *BrutalSender { FILE: transport/internet/hysteria/congestion/common/pacer.go constant maxBurstPackets (line 11) | maxBurstPackets = 10 constant maxBurstPacingDelayMultiplier (line 12) | maxBurstPacingDelayMultiplier = 4 type Pacer (line 16) | type Pacer struct method SentPacket (line 32) | func (p *Pacer) SentPacket(sendTime monotime.Time, size congestion.Byt... method Budget (line 42) | func (p *Pacer) Budget(now monotime.Time) congestion.ByteCount { method maxBurstSize (line 53) | func (p *Pacer) maxBurstSize() congestion.ByteCount { method TimeUntilSend (line 62) | func (p *Pacer) TimeUntilSend() monotime.Time { method SetMaxDatagramSize (line 78) | func (p *Pacer) SetMaxDatagramSize(s congestion.ByteCount) { function NewPacer (line 23) | func NewPacer(getBandwidth func() congestion.ByteCount) *Pacer { FILE: transport/internet/hysteria/congestion/utils.go function UseBBR (line 9) | func UseBBR(conn *quic.Conn) { function UseBrutal (line 16) | func UseBrutal(conn *quic.Conn, tx uint64) { FILE: transport/internet/hysteria/conn.go type interConn (line 15) | type interConn struct method User (line 26) | func (i *interConn) User() *protocol.MemoryUser { method Read (line 30) | func (i *interConn) Read(b []byte) (int, error) { method Write (line 34) | func (i *interConn) Write(b []byte) (int, error) { method Close (line 54) | func (i *interConn) Close() error { method LocalAddr (line 59) | func (i *interConn) LocalAddr() net.Addr { method RemoteAddr (line 63) | func (i *interConn) RemoteAddr() net.Addr { method SetDeadline (line 67) | func (i *interConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 71) | func (i *interConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 75) | func (i *interConn) SetWriteDeadline(t time.Time) error { type InterUdpConn (line 79) | type InterUdpConn struct method User (line 96) | func (i *InterUdpConn) User() *protocol.MemoryUser { method SetLast (line 100) | func (i *InterUdpConn) SetLast() { method GetLast (line 107) | func (i *InterUdpConn) GetLast() time.Time { method Read (line 114) | func (i *InterUdpConn) Read(p []byte) (int, error) { method Write (line 128) | func (i *InterUdpConn) Write(p []byte) (int, error) { method Close (line 138) | func (i *InterUdpConn) Close() error { method LocalAddr (line 143) | func (i *InterUdpConn) LocalAddr() net.Addr { method RemoteAddr (line 147) | func (i *InterUdpConn) RemoteAddr() net.Addr { method SetDeadline (line 151) | func (i *InterUdpConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 155) | func (i *InterUdpConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 159) | func (i *InterUdpConn) SetWriteDeadline(t time.Time) error { FILE: transport/internet/hysteria/dialer.go type udpSessionManagerClient (line 31) | type udpSessionManagerClient struct method close (line 39) | func (m *udpSessionManagerClient) close(udpConn *InterUdpConn) { method run (line 47) | func (m *udpSessionManagerClient) run() { method udp (line 72) | func (m *udpSessionManagerClient) udp() (*InterUdpConn, error) { method feed (line 99) | func (m *udpSessionManagerClient) feed(id uint32, d []byte) { type client (line 114) | type client struct method status (line 129) | func (c *client) status() Status { method close (line 141) | func (c *client) close() { method dial (line 149) | func (c *client) dial() error { method clean (line 332) | func (c *client) clean() { method tcp (line 341) | func (c *client) tcp() (stat.Connection, error) { method udp (line 364) | func (c *client) udp() (stat.Connection, error) { method setCtx (line 380) | func (c *client) setCtx(ctx context.Context) { method udphopDialer (line 387) | func (c *client) udphopDialer(addr *net.UDPAddr) (net.PacketConn, erro... type clientManager (line 423) | type clientManager struct method clean (line 428) | func (m *clientManager) clean() { function Dial (line 439) | func Dial(ctx context.Context, dest net.Destination, streamSettings *int... function init (line 473) | func init() { function init (line 486) | func init() { FILE: transport/internet/hysteria/hub.go type udpSessionManagerServer (line 29) | type udpSessionManagerServer struct method close (line 40) | func (m *udpSessionManagerServer) close(udpConn *InterUdpConn) { method clean (line 48) | func (m *udpSessionManagerServer) clean() { method run (line 75) | func (m *udpSessionManagerServer) run() { method feed (line 100) | func (m *udpSessionManagerServer) feed(id uint32, d []byte) { type httpHandler (line 137) | type httpHandler struct method ServeHTTP (line 152) | func (h *httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { method StreamDispatcher (line 226) | func (h *httpHandler) StreamDispatcher(ft http3.FrameType, stream *qui... type Listener (line 250) | type Listener struct method handleClient (line 262) | func (l *Listener) handleClient(conn *quic.Conn) { method keepAccepting (line 282) | func (l *Listener) keepAccepting() { method Addr (line 293) | func (l *Listener) Addr() net.Addr { method Close (line 297) | func (l *Listener) Close() error { function Listen (line 303) | func Listen(ctx context.Context, address net.Address, port net.Port, str... function init (line 442) | func init() { FILE: transport/internet/hysteria/padding/padding.go constant paddingChars (line 8) | paddingChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123... type Padding (line 12) | type Padding struct method String (line 17) | func (p Padding) String() string { FILE: transport/internet/hysteria/udphop/addr.go type InvalidPortError (line 8) | type InvalidPortError struct method Error (line 12) | func (e InvalidPortError) Error() string { type UDPHopAddr (line 17) | type UDPHopAddr struct method Network (line 23) | func (a *UDPHopAddr) Network() string { method String (line 27) | func (a *UDPHopAddr) String() string { method addrs (line 32) | func (a *UDPHopAddr) addrs() ([]net.Addr, error) { FILE: transport/internet/hysteria/udphop/conn.go constant packetQueueSize (line 16) | packetQueueSize = 1024 constant udpBufferSize (line 17) | udpBufferSize = finalmask.UDPSize constant defaultHopInterval (line 19) | defaultHopInterval = 30 * time.Second type UdpHopPacketConn (line 22) | type UdpHopPacketConn struct method recvLoop (line 99) | func (u *UdpHopPacketConn) recvLoop(conn net.PacketConn) { method hopLoop (line 124) | func (u *UdpHopPacketConn) hopLoop() { method hop (line 138) | func (u *UdpHopPacketConn) hop() { method ReadFrom (line 174) | func (u *UdpHopPacketConn) ReadFrom(b []byte) (n int, addr net.Addr, e... method WriteTo (line 192) | func (u *UdpHopPacketConn) WriteTo(b []byte, addr net.Addr) (n int, er... method Close (line 203) | func (u *UdpHopPacketConn) Close() error { method LocalAddr (line 222) | func (u *UdpHopPacketConn) LocalAddr() net.Addr { method SetDeadline (line 228) | func (u *UdpHopPacketConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 237) | func (u *UdpHopPacketConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 246) | func (u *UdpHopPacketConn) SetWriteDeadline(t time.Time) error { method SetReadBuffer (line 257) | func (u *UdpHopPacketConn) SetReadBuffer(bytes int) error { method SetWriteBuffer (line 267) | func (u *UdpHopPacketConn) SetWriteBuffer(bytes int) error { method SyscallConn (line 277) | func (u *UdpHopPacketConn) SyscallConn() (syscall.RawConn, error) { type udpPacket (line 44) | type udpPacket struct function NewUDPHopPacketConn (line 53) | func NewUDPHopPacketConn(addr *UDPHopAddr, index int, intervalMin int64,... function trySetReadBuffer (line 287) | func trySetReadBuffer(pc net.PacketConn, bytes int) error { function trySetWriteBuffer (line 297) | func trySetWriteBuffer(pc net.PacketConn, bytes int) error { FILE: transport/internet/internet.go function IsValidHTTPHost (line 8) | func IsValidHTTPHost(request string, config string) bool { FILE: transport/internet/kcp/config.go method GetMTUValue (line 9) | func (c *Config) GetMTUValue() uint32 { method GetTTIValue (line 17) | func (c *Config) GetTTIValue() uint32 { method GetUplinkCapacityValue (line 25) | func (c *Config) GetUplinkCapacityValue() uint32 { method GetDownlinkCapacityValue (line 33) | func (c *Config) GetDownlinkCapacityValue() uint32 { method GetWriteBufferSize (line 41) | func (c *Config) GetWriteBufferSize() uint32 { method GetSendingInFlightSize (line 56) | func (c *Config) GetSendingInFlightSize() uint32 { method GetSendingBufferSize (line 64) | func (c *Config) GetSendingBufferSize() uint32 { method GetReceivingInFlightSize (line 68) | func (c *Config) GetReceivingInFlightSize() uint32 { function init (line 80) | func init() { FILE: transport/internet/kcp/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type MTU (line 26) | type MTU struct method Reset (line 33) | func (x *MTU) Reset() { method String (line 40) | func (x *MTU) String() string { method ProtoMessage (line 44) | func (*MTU) ProtoMessage() {} method ProtoReflect (line 46) | func (x *MTU) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*MTU) Descriptor() ([]byte, []int) { method GetValue (line 63) | func (x *MTU) GetValue() uint32 { type TTI (line 71) | type TTI struct method Reset (line 78) | func (x *TTI) Reset() { method String (line 85) | func (x *TTI) String() string { method ProtoMessage (line 89) | func (*TTI) ProtoMessage() {} method ProtoReflect (line 91) | func (x *TTI) ProtoReflect() protoreflect.Message { method Descriptor (line 104) | func (*TTI) Descriptor() ([]byte, []int) { method GetValue (line 108) | func (x *TTI) GetValue() uint32 { type UplinkCapacity (line 116) | type UplinkCapacity struct method Reset (line 123) | func (x *UplinkCapacity) Reset() { method String (line 130) | func (x *UplinkCapacity) String() string { method ProtoMessage (line 134) | func (*UplinkCapacity) ProtoMessage() {} method ProtoReflect (line 136) | func (x *UplinkCapacity) ProtoReflect() protoreflect.Message { method Descriptor (line 149) | func (*UplinkCapacity) Descriptor() ([]byte, []int) { method GetValue (line 153) | func (x *UplinkCapacity) GetValue() uint32 { type DownlinkCapacity (line 161) | type DownlinkCapacity struct method Reset (line 168) | func (x *DownlinkCapacity) Reset() { method String (line 175) | func (x *DownlinkCapacity) String() string { method ProtoMessage (line 179) | func (*DownlinkCapacity) ProtoMessage() {} method ProtoReflect (line 181) | func (x *DownlinkCapacity) ProtoReflect() protoreflect.Message { method Descriptor (line 194) | func (*DownlinkCapacity) Descriptor() ([]byte, []int) { method GetValue (line 198) | func (x *DownlinkCapacity) GetValue() uint32 { type WriteBuffer (line 205) | type WriteBuffer struct method Reset (line 213) | func (x *WriteBuffer) Reset() { method String (line 220) | func (x *WriteBuffer) String() string { method ProtoMessage (line 224) | func (*WriteBuffer) ProtoMessage() {} method ProtoReflect (line 226) | func (x *WriteBuffer) ProtoReflect() protoreflect.Message { method Descriptor (line 239) | func (*WriteBuffer) Descriptor() ([]byte, []int) { method GetSize (line 243) | func (x *WriteBuffer) GetSize() uint32 { type ReadBuffer (line 250) | type ReadBuffer struct method Reset (line 258) | func (x *ReadBuffer) Reset() { method String (line 265) | func (x *ReadBuffer) String() string { method ProtoMessage (line 269) | func (*ReadBuffer) ProtoMessage() {} method ProtoReflect (line 271) | func (x *ReadBuffer) ProtoReflect() protoreflect.Message { method Descriptor (line 284) | func (*ReadBuffer) Descriptor() ([]byte, []int) { method GetSize (line 288) | func (x *ReadBuffer) GetSize() uint32 { type ConnectionReuse (line 295) | type ConnectionReuse struct method Reset (line 302) | func (x *ConnectionReuse) Reset() { method String (line 309) | func (x *ConnectionReuse) String() string { method ProtoMessage (line 313) | func (*ConnectionReuse) ProtoMessage() {} method ProtoReflect (line 315) | func (x *ConnectionReuse) ProtoReflect() protoreflect.Message { method Descriptor (line 328) | func (*ConnectionReuse) Descriptor() ([]byte, []int) { method GetEnable (line 332) | func (x *ConnectionReuse) GetEnable() bool { type EncryptionSeed (line 342) | type EncryptionSeed struct method Reset (line 349) | func (x *EncryptionSeed) Reset() { method String (line 356) | func (x *EncryptionSeed) String() string { method ProtoMessage (line 360) | func (*EncryptionSeed) ProtoMessage() {} method ProtoReflect (line 362) | func (x *EncryptionSeed) ProtoReflect() protoreflect.Message { method Descriptor (line 375) | func (*EncryptionSeed) Descriptor() ([]byte, []int) { method GetSeed (line 379) | func (x *EncryptionSeed) GetSeed() string { type Config (line 386) | type Config struct method Reset (line 401) | func (x *Config) Reset() { method String (line 408) | func (x *Config) String() string { method ProtoMessage (line 412) | func (*Config) ProtoMessage() {} method ProtoReflect (line 414) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 427) | func (*Config) Descriptor() ([]byte, []int) { method GetMtu (line 431) | func (x *Config) GetMtu() *MTU { method GetTti (line 438) | func (x *Config) GetTti() *TTI { method GetUplinkCapacity (line 445) | func (x *Config) GetUplinkCapacity() *UplinkCapacity { method GetDownlinkCapacity (line 452) | func (x *Config) GetDownlinkCapacity() *DownlinkCapacity { method GetCongestion (line 459) | func (x *Config) GetCongestion() bool { method GetWriteBuffer (line 466) | func (x *Config) GetWriteBuffer() *WriteBuffer { method GetReadBuffer (line 473) | func (x *Config) GetReadBuffer() *ReadBuffer { method GetHeaderConfig (line 480) | func (x *Config) GetHeaderConfig() *serial.TypedMessage { method GetSeed (line 487) | func (x *Config) GetSeed() *EncryptionSeed { constant file_transport_internet_kcp_config_proto_rawDesc (line 496) | file_transport_internet_kcp_config_proto_rawDesc = "" + function file_transport_internet_kcp_config_proto_rawDescGZIP (line 538) | func file_transport_internet_kcp_config_proto_rawDescGZIP() []byte { function init (line 574) | func init() { file_transport_internet_kcp_config_proto_init() } function file_transport_internet_kcp_config_proto_init (line 575) | func file_transport_internet_kcp_config_proto_init() { FILE: transport/internet/kcp/connection.go type State (line 26) | type State method Is (line 29) | func (s State) Is(states ...State) bool { constant StateActive (line 39) | StateActive State = 0 constant StateReadyToClose (line 40) | StateReadyToClose State = 1 constant StatePeerClosed (line 41) | StatePeerClosed State = 2 constant StateTerminating (line 42) | StateTerminating State = 3 constant StatePeerTerminating (line 43) | StatePeerTerminating State = 4 constant StateTerminated (line 44) | StateTerminated State = 5 function nowMillisec (line 47) | func nowMillisec() int64 { type RoundTripInfo (line 52) | type RoundTripInfo struct method UpdatePeerRTO (line 61) | func (info *RoundTripInfo) UpdatePeerRTO(rto uint32, current uint32) { method Update (line 73) | func (info *RoundTripInfo) Update(rtt uint32, current uint32) { method Timeout (line 109) | func (info *RoundTripInfo) Timeout() uint32 { method SmoothedTime (line 116) | func (info *RoundTripInfo) SmoothedTime() uint32 { type Updater (line 123) | type Updater struct method WakeUp (line 142) | func (u *Updater) WakeUp() { method run (line 150) | func (u *Updater) run() { method Interval (line 164) | func (u *Updater) Interval() time.Duration { method SetInterval (line 168) | func (u *Updater) SetInterval(d time.Duration) { function NewUpdater (line 131) | func NewUpdater(interval uint32, shouldContinue func() bool, shouldTermi... type ConnMetadata (line 172) | type ConnMetadata struct type Connection (line 179) | type Connection struct method Elapsed (line 251) | func (c *Connection) Elapsed() uint32 { method ReadMultiBuffer (line 256) | func (c *Connection) ReadMultiBuffer() (buf.MultiBuffer, error) { method waitForDataInput (line 281) | func (c *Connection) waitForDataInput() error { method Read (line 314) | func (c *Connection) Read(b []byte) (int, error) { method waitForDataOutput (line 335) | func (c *Connection) waitForDataOutput() error { method Write (line 368) | func (c *Connection) Write(b []byte) (int, error) { method WriteMultiBuffer (line 377) | func (c *Connection) WriteMultiBuffer(mb buf.MultiBuffer) error { method writeMultiBufferInternal (line 386) | func (c *Connection) writeMultiBufferInternal(reader io.Reader) error { method SetState (line 429) | func (c *Connection) SetState(state State) { method Close (line 458) | func (c *Connection) Close() error { method LocalAddr (line 483) | func (c *Connection) LocalAddr() net.Addr { method RemoteAddr (line 491) | func (c *Connection) RemoteAddr() net.Addr { method SetDeadline (line 499) | func (c *Connection) SetDeadline(t time.Time) error { method SetReadDeadline (line 507) | func (c *Connection) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 516) | func (c *Connection) SetWriteDeadline(t time.Time) error { method updateTask (line 525) | func (c *Connection) updateTask() { method Terminate (line 529) | func (c *Connection) Terminate() { method HandleOption (line 544) | func (c *Connection) HandleOption(opt SegmentOption) { method OnPeerClosed (line 550) | func (c *Connection) OnPeerClosed() { method Input (line 560) | func (c *Connection) Input(segments []Segment) { method flush (line 607) | func (c *Connection) flush() { method State (line 646) | func (c *Connection) State() State { method Ping (line 650) | func (c *Connection) Ping(current uint32, cmd Command) { function NewConnection (line 207) | func NewConnection(meta ConnMetadata, writer io.Writer, closer io.Closer... FILE: transport/internet/kcp/connection_test.go type NoOpCloser (line 12) | type NoOpCloser method Close (line 14) | func (NoOpCloser) Close() error { function TestConnectionReadTimeout (line 18) | func TestConnectionReadTimeout(t *testing.T) { function TestConnectionInterface (line 31) | func TestConnectionInterface(t *testing.T) { FILE: transport/internet/kcp/dialer.go function fetchInput (line 22) | func fetchInput(_ context.Context, input io.Reader, reader PacketReader,... function DialKCP (line 50) | func DialKCP(ctx context.Context, dest net.Destination, streamSettings *... function init (line 120) | func init() { FILE: transport/internet/kcp/io.go type PacketReader (line 3) | type PacketReader interface type KCPPacketReader (line 7) | type KCPPacketReader struct method Read (line 9) | func (r *KCPPacketReader) Read(b []byte) []Segment { FILE: transport/internet/kcp/io_test.go function TestKCPPacketReader (line 9) | func TestKCPPacketReader(t *testing.T) { FILE: transport/internet/kcp/kcp.go constant protocolName (line 9) | protocolName = "mkcp" FILE: transport/internet/kcp/kcp_test.go function TestDialAndListen (line 20) | func TestDialAndListen(t *testing.T) { FILE: transport/internet/kcp/listener.go type ConnectionID (line 18) | type ConnectionID struct type Listener (line 25) | type Listener struct method handlePackets (line 63) | func (l *Listener) handlePackets() { method OnReceive (line 70) | func (l *Listener) OnReceive(payload *buf.Buffer, src net.Destination) { method Remove (line 124) | func (l *Listener) Remove(id ConnectionID) { method Close (line 131) | func (l *Listener) Close() error { method ActiveConnections (line 144) | func (l *Listener) ActiveConnections() int { method Addr (line 152) | func (l *Listener) Addr() net.Addr { function NewListener (line 35) | func NewListener(ctx context.Context, address net.Address, port net.Port... type Writer (line 156) | type Writer struct method Write (line 163) | func (w *Writer) Write(payload []byte) (int, error) { method Close (line 167) | func (w *Writer) Close() error { function ListenKCP (line 172) | func ListenKCP(ctx context.Context, address net.Address, port net.Port, ... function init (line 176) | func init() { FILE: transport/internet/kcp/output.go type SegmentWriter (line 11) | type SegmentWriter interface type SimpleSegmentWriter (line 15) | type SimpleSegmentWriter struct method Write (line 28) | func (w *SimpleSegmentWriter) Write(seg Segment) error { function NewSegmentWriter (line 21) | func NewSegmentWriter(writer io.Writer) SegmentWriter { type RetryableWriter (line 39) | type RetryableWriter struct method Write (line 49) | func (w *RetryableWriter) Write(seg Segment) error { function NewRetryableWriter (line 43) | func NewRetryableWriter(writer SegmentWriter) SegmentWriter { FILE: transport/internet/kcp/receiving.go type ReceivingWindow (line 9) | type ReceivingWindow struct method Set (line 19) | func (w *ReceivingWindow) Set(id uint32, value *DataSegment) bool { method Has (line 28) | func (w *ReceivingWindow) Has(id uint32) bool { method Remove (line 33) | func (w *ReceivingWindow) Remove(id uint32) *DataSegment { function NewReceivingWindow (line 13) | func NewReceivingWindow() *ReceivingWindow { type AckList (line 42) | type AckList struct method Add (line 65) | func (l *AckList) Add(number uint32, timestamp uint32) { method Clear (line 72) | func (l *AckList) Clear(una uint32) { method Flush (line 93) | func (l *AckList) Flush(current uint32, rto uint32) { function NewAckList (line 54) | func NewAckList(writer SegmentWriter, mss uint32) *AckList { type ReceivingWorker (line 134) | type ReceivingWorker struct method Release (line 154) | func (w *ReceivingWorker) Release() { method ProcessSendingNext (line 161) | func (w *ReceivingWorker) ProcessSendingNext(number uint32) { method ProcessSegment (line 168) | func (w *ReceivingWorker) ProcessSegment(seg *DataSegment) { method ReadMultiBuffer (line 185) | func (w *ReceivingWorker) ReadMultiBuffer() buf.MultiBuffer { method Read (line 209) | func (w *ReceivingWorker) Read(b []byte) int { method IsDataAvailable (line 221) | func (w *ReceivingWorker) IsDataAvailable() bool { method NextNumber (line 227) | func (w *ReceivingWorker) NextNumber() uint32 { method Flush (line 234) | func (w *ReceivingWorker) Flush(current uint32) { method Write (line 241) | func (w *ReceivingWorker) Write(seg Segment) error { method CloseRead (line 253) | func (*ReceivingWorker) CloseRead() { method UpdateNecessary (line 256) | func (w *ReceivingWorker) UpdateNecessary() bool { function NewReceivingWorker (line 144) | func NewReceivingWorker(kcp *Connection) *ReceivingWorker { FILE: transport/internet/kcp/segment.go type Command (line 10) | type Command constant CommandACK (line 14) | CommandACK Command = 0 constant CommandData (line 16) | CommandData Command = 1 constant CommandTerminate (line 18) | CommandTerminate Command = 2 constant CommandPing (line 20) | CommandPing Command = 3 type SegmentOption (line 23) | type SegmentOption constant SegmentOptionClose (line 26) | SegmentOptionClose SegmentOption = 1 type Segment (line 29) | type Segment interface constant DataSegmentOverhead (line 39) | DataSegmentOverhead = 18 type DataSegment (line 42) | type DataSegment struct method parse (line 58) | func (s *DataSegment) parse(conv uint16, cmd Command, opt SegmentOptio... method Conversation (line 86) | func (s *DataSegment) Conversation() uint16 { method Command (line 90) | func (*DataSegment) Command() Command { method Detach (line 94) | func (s *DataSegment) Detach() *buf.Buffer { method Data (line 100) | func (s *DataSegment) Data() *buf.Buffer { method Serialize (line 107) | func (s *DataSegment) Serialize(b []byte) { method ByteSize (line 118) | func (s *DataSegment) ByteSize() int32 { method Release (line 122) | func (s *DataSegment) Release() { function NewDataSegment (line 54) | func NewDataSegment() *DataSegment { type AckSegment (line 127) | type AckSegment struct method parse (line 152) | func (s *AckSegment) parse(conv uint16, cmd Command, opt SegmentOption... method Conversation (line 182) | func (s *AckSegment) Conversation() uint16 { method Command (line 186) | func (*AckSegment) Command() Command { method PutTimestamp (line 190) | func (s *AckSegment) PutTimestamp(timestamp uint32) { method PutNumber (line 196) | func (s *AckSegment) PutNumber(number uint32) { method IsFull (line 200) | func (s *AckSegment) IsFull() bool { method IsEmpty (line 204) | func (s *AckSegment) IsEmpty() bool { method ByteSize (line 208) | func (s *AckSegment) ByteSize() int32 { method Serialize (line 212) | func (s *AckSegment) Serialize(b []byte) { method Release (line 227) | func (s *AckSegment) Release() {} constant ackNumberLimit (line 138) | ackNumberLimit = 128 function NewAckSegment (line 140) | func NewAckSegment(limit int) *AckSegment { type CmdOnlySegment (line 229) | type CmdOnlySegment struct method parse (line 242) | func (s *CmdOnlySegment) parse(conv uint16, cmd Command, opt SegmentOp... method Conversation (line 263) | func (s *CmdOnlySegment) Conversation() uint16 { method Command (line 267) | func (s *CmdOnlySegment) Command() Command { method ByteSize (line 271) | func (*CmdOnlySegment) ByteSize() int32 { method Serialize (line 275) | func (s *CmdOnlySegment) Serialize(b []byte) { method Release (line 284) | func (*CmdOnlySegment) Release() {} function NewCmdOnlySegment (line 238) | func NewCmdOnlySegment() *CmdOnlySegment { function ReadSegment (line 286) | func ReadSegment(buf []byte) (Segment, []byte) { FILE: transport/internet/kcp/segment_test.go function TestBadSegment (line 11) | func TestBadSegment(t *testing.T) { function TestDataSegment (line 21) | func TestDataSegment(t *testing.T) { function Test1ByteDataSegment (line 44) | func Test1ByteDataSegment(t *testing.T) { function TestACKSegment (line 67) | func TestACKSegment(t *testing.T) { function TestCmdSegment (line 88) | func TestCmdSegment(t *testing.T) { FILE: transport/internet/kcp/sending.go type SendingWindow (line 10) | type SendingWindow struct method Release (line 26) | func (sw *SendingWindow) Release() { method Len (line 37) | func (sw *SendingWindow) Len() uint32 { method IsEmpty (line 41) | func (sw *SendingWindow) IsEmpty() bool { method Push (line 45) | func (sw *SendingWindow) Push(number uint32, b *buf.Buffer) { method FirstNumber (line 53) | func (sw *SendingWindow) FirstNumber() uint32 { method Clear (line 57) | func (sw *SendingWindow) Clear(una uint32) { method HandleFastAck (line 68) | func (sw *SendingWindow) HandleFastAck(number uint32, rto uint32) { method Visit (line 85) | func (sw *SendingWindow) Visit(visitor func(seg *DataSegment) bool) { method Flush (line 98) | func (sw *SendingWindow) Flush(current uint32, rto uint32, maxInFlight... method Remove (line 131) | func (sw *SendingWindow) Remove(number uint32) bool { function NewSendingWindow (line 17) | func NewSendingWindow(writer SegmentWriter, onPacketLoss func(uint32)) *... type SendingWorker (line 153) | type SendingWorker struct method Release (line 179) | func (w *SendingWorker) Release() { method ProcessReceivingNext (line 186) | func (w *SendingWorker) ProcessReceivingNext(nextNumber uint32) { method ProcessReceivingNextWithoutLock (line 193) | func (w *SendingWorker) ProcessReceivingNextWithoutLock(nextNumber uin... method FindFirstUnacknowledged (line 198) | func (w *SendingWorker) FindFirstUnacknowledged() { method processAck (line 210) | func (w *SendingWorker) processAck(number uint32) bool { method ProcessSegment (line 223) | func (w *SendingWorker) ProcessSegment(current uint32, seg *AckSegment... method Push (line 260) | func (w *SendingWorker) Push(b *buf.Buffer) bool { method Write (line 277) | func (w *SendingWorker) Write(seg Segment) error { method OnPacketLoss (line 290) | func (w *SendingWorker) OnPacketLoss(lossRate uint32) { method Flush (line 308) | func (w *SendingWorker) Flush(current uint32) { method CloseWrite (line 341) | func (w *SendingWorker) CloseWrite() { method IsEmpty (line 348) | func (w *SendingWorker) IsEmpty() bool { method UpdateNecessary (line 355) | func (w *SendingWorker) UpdateNecessary() bool { method FirstUnacknowledged (line 359) | func (w *SendingWorker) FirstUnacknowledged() uint32 { function NewSendingWorker (line 167) | func NewSendingWorker(kcp *Connection) *SendingWorker { FILE: transport/internet/memory_settings.go type MemoryStreamConfig (line 9) | type MemoryStreamConfig struct function ToMemoryStreamConfig (line 23) | func ToMemoryStreamConfig(s *StreamConfig) (*MemoryStreamConfig, error) { FILE: transport/internet/reality/config.go method GetREALITYConfig (line 16) | func (c *Config) GetREALITYConfig() *reality.Config { function KeyLogWriterFromConfig (line 61) | func KeyLogWriterFromConfig(c *Config) io.Writer { function ConfigFromStreamSettings (line 74) | func ConfigFromStreamSettings(settings *internet.MemoryStreamConfig) *Co... FILE: transport/internet/reality/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 51) | func (x *Config) Reset() { method String (line 58) | func (x *Config) String() string { method ProtoMessage (line 62) | func (*Config) ProtoMessage() {} method ProtoReflect (line 64) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 77) | func (*Config) Descriptor() ([]byte, []int) { method GetShow (line 81) | func (x *Config) GetShow() bool { method GetDest (line 88) | func (x *Config) GetDest() string { method GetType (line 95) | func (x *Config) GetType() string { method GetXver (line 102) | func (x *Config) GetXver() uint64 { method GetServerNames (line 109) | func (x *Config) GetServerNames() []string { method GetPrivateKey (line 116) | func (x *Config) GetPrivateKey() []byte { method GetMinClientVer (line 123) | func (x *Config) GetMinClientVer() []byte { method GetMaxClientVer (line 130) | func (x *Config) GetMaxClientVer() []byte { method GetMaxTimeDiff (line 137) | func (x *Config) GetMaxTimeDiff() uint64 { method GetShortIds (line 144) | func (x *Config) GetShortIds() [][]byte { method GetMldsa65Seed (line 151) | func (x *Config) GetMldsa65Seed() []byte { method GetLimitFallbackUpload (line 158) | func (x *Config) GetLimitFallbackUpload() *LimitFallback { method GetLimitFallbackDownload (line 165) | func (x *Config) GetLimitFallbackDownload() *LimitFallback { method GetFingerprint (line 172) | func (x *Config) GetFingerprint() string { method GetServerName (line 179) | func (x *Config) GetServerName() string { method GetPublicKey (line 186) | func (x *Config) GetPublicKey() []byte { method GetShortId (line 193) | func (x *Config) GetShortId() []byte { method GetMldsa65Verify (line 200) | func (x *Config) GetMldsa65Verify() []byte { method GetSpiderX (line 207) | func (x *Config) GetSpiderX() string { method GetSpiderY (line 214) | func (x *Config) GetSpiderY() []int64 { method GetMasterKeyLog (line 221) | func (x *Config) GetMasterKeyLog() string { type LimitFallback (line 228) | type LimitFallback struct method Reset (line 237) | func (x *LimitFallback) Reset() { method String (line 244) | func (x *LimitFallback) String() string { method ProtoMessage (line 248) | func (*LimitFallback) ProtoMessage() {} method ProtoReflect (line 250) | func (x *LimitFallback) ProtoReflect() protoreflect.Message { method Descriptor (line 263) | func (*LimitFallback) Descriptor() ([]byte, []int) { method GetAfterBytes (line 267) | func (x *LimitFallback) GetAfterBytes() uint64 { method GetBytesPerSec (line 274) | func (x *LimitFallback) GetBytesPerSec() uint64 { method GetBurstBytesPerSec (line 281) | func (x *LimitFallback) GetBurstBytesPerSec() uint64 { constant file_transport_internet_reality_config_proto_rawDesc (line 290) | file_transport_internet_reality_config_proto_rawDesc = "" + function file_transport_internet_reality_config_proto_rawDescGZIP (line 331) | func file_transport_internet_reality_config_proto_rawDescGZIP() []byte { function init (line 353) | func init() { file_transport_internet_reality_config_proto_init() } function file_transport_internet_reality_config_proto_init (line 354) | func file_transport_internet_reality_config_proto_init() { FILE: transport/internet/reality/reality.go type Conn (line 37) | type Conn struct method HandshakeAddress (line 41) | func (c *Conn) HandshakeAddress() net.Address { function Server (line 52) | func Server(c net.Conn, config *reality.Config) (net.Conn, error) { type UConn (line 57) | type UConn struct method HandshakeAddress (line 65) | func (c *UConn) HandshakeAddress() net.Address { method VerifyPeerCertificate (line 76) | func (c *UConn) VerifyPeerCertificate(rawCerts [][]byte, verifiedChain... function UClient (line 117) | func UClient(c net.Conn, config *Config, ctx context.Context, dest net.D... function getPathLocked (line 289) | func getPathLocked(paths map[string]struct{}) string { FILE: transport/internet/sockopt.go function isTCPSocket (line 3) | func isTCPSocket(network string) bool { function isUDPSocket (line 12) | func isUDPSocket(network string) bool { method ParseTFOValue (line 21) | func (v *SocketConfig) ParseTFOValue() int { FILE: transport/internet/sockopt_darwin.go constant TCP_FASTOPEN_SERVER (line 19) | TCP_FASTOPEN_SERVER = 0x01 constant TCP_FASTOPEN_CLIENT (line 21) | TCP_FASTOPEN_CLIENT = 0x02 constant sysTCP_KEEPINTVL (line 23) | sysTCP_KEEPINTVL = 0x101 constant PfOut (line 27) | PfOut = 2 constant IOCOut (line 28) | IOCOut = 0x40000000 constant IOCIn (line 29) | IOCIn = 0x80000000 constant IOCInOut (line 30) | IOCInOut = IOCIn | IOCOut constant IOCPARMMask (line 31) | IOCPARMMask = 0x1FFF constant LEN (line 32) | LEN = 4*16 + 4*4 + 4*1 constant DIOCNATLOOK (line 36) | DIOCNATLOOK = IOCInOut | ((LEN & IOCPARMMask) << 16) | ('D' << 8) | 23 function OriginalDst (line 40) | func OriginalDst(la, ra net.Addr) (net.IP, int, error) { function applyOutboundSocketOptions (line 103) | func applyOutboundSocketOptions(network string, address string, fd uintp... function applyInboundSocketOptions (line 194) | func applyInboundSocketOptions(network string, fd uintptr, config *Socke... function bindAddr (line 291) | func bindAddr(fd uintptr, address []byte, port uint32) error { function setReuseAddr (line 317) | func setReuseAddr(fd uintptr) error { function setReusePort (line 324) | func setReusePort(fd uintptr) error { FILE: transport/internet/sockopt_freebsd.go constant sysPFINOUT (line 15) | sysPFINOUT = 0x0 constant sysPFIN (line 16) | sysPFIN = 0x1 constant sysPFOUT (line 17) | sysPFOUT = 0x2 constant sysPFFWD (line 18) | sysPFFWD = 0x3 constant sysDIOCNATLOOK (line 19) | sysDIOCNATLOOK = 0xc04c4417 type pfiocNatlook (line 22) | type pfiocNatlook struct method rdPort (line 50) | func (nl *pfiocNatlook) rdPort() int { method setPort (line 54) | func (nl *pfiocNatlook) setPort(remote, local int) { constant sizeofPfiocNatlook (line 38) | sizeofPfiocNatlook = 0x4c constant soReUsePort (line 39) | soReUsePort = 0x00000200 constant soReUsePortLB (line 40) | soReUsePortLB = 0x00010000 function ioctl (line 43) | func ioctl(s uintptr, ioc int, b []byte) error { function OriginalDst (line 60) | func OriginalDst(la, ra net.Addr) (net.IP, int, error) { function applyOutboundSocketOptions (line 127) | func applyOutboundSocketOptions(network string, address string, fd uintp... function applyInboundSocketOptions (line 180) | func applyInboundSocketOptions(network string, fd uintptr, config *Socke... function bindAddr (line 225) | func bindAddr(fd uintptr, ip []byte, port uint32) error { function setReuseAddr (line 251) | func setReuseAddr(fd uintptr) error { function setReusePort (line 258) | func setReusePort(fd uintptr) error { FILE: transport/internet/sockopt_linux.go function bindAddr (line 15) | func bindAddr(fd uintptr, ip []byte, port uint32) error { function applyOutboundSocketOptions (line 43) | func applyOutboundSocketOptions(network string, address string, fd uintp... function applyInboundSocketOptions (line 142) | func applyInboundSocketOptions(network string, fd uintptr, config *Socke... function setReuseAddr (line 261) | func setReuseAddr(fd uintptr) error { function setReusePort (line 268) | func setReusePort(fd uintptr) error { FILE: transport/internet/sockopt_linux_test.go function TestSockOptMark (line 14) | func TestSockOptMark(t *testing.T) { FILE: transport/internet/sockopt_other.go function applyOutboundSocketOptions (line 6) | func applyOutboundSocketOptions(network string, address string, fd uintp... function applyInboundSocketOptions (line 10) | func applyInboundSocketOptions(network string, fd uintptr, config *Socke... function bindAddr (line 14) | func bindAddr(fd uintptr, ip []byte, port uint32) error { function setReuseAddr (line 18) | func setReuseAddr(fd uintptr) error { function setReusePort (line 22) | func setReusePort(fd uintptr) error { FILE: transport/internet/sockopt_test.go function TestTCPFastOpen (line 14) | func TestTCPFastOpen(t *testing.T) { FILE: transport/internet/sockopt_windows.go constant TCP_FASTOPEN (line 17) | TCP_FASTOPEN = 15 constant IP_UNICAST_IF (line 18) | IP_UNICAST_IF = 31 constant IPV6_UNICAST_IF (line 19) | IPV6_UNICAST_IF = 31 function setTFO (line 22) | func setTFO(fd syscall.Handle, tfo int) error { function applyOutboundSocketOptions (line 34) | func applyOutboundSocketOptions(network string, address string, fd uintp... function applyInboundSocketOptions (line 123) | func applyInboundSocketOptions(network string, fd uintptr, config *Socke... function bindAddr (line 184) | func bindAddr(fd uintptr, ip []byte, port uint32) error { function setReuseAddr (line 188) | func setReuseAddr(fd uintptr) error { function setReusePort (line 192) | func setReusePort(fd uintptr) error { FILE: transport/internet/splithttp/browser_client.go type BrowserDialerClient (line 15) | type BrowserDialerClient struct method IsClosed (line 19) | func (c *BrowserDialerClient) IsClosed() bool { method OpenStream (line 23) | func (c *BrowserDialerClient) OpenStream(ctx context.Context, url stri... method PostPacket (line 44) | func (c *BrowserDialerClient) PostPacket(ctx context.Context, url stri... FILE: transport/internet/splithttp/client.go type DialerClient (line 19) | type DialerClient interface type DefaultDialerClient (line 30) | type DefaultDialerClient struct method IsClosed (line 40) | func (c *DefaultDialerClient) IsClosed() bool { method OpenStream (line 44) | func (c *DefaultDialerClient) OpenStream(ctx context.Context, url stri... method PostPacket (line 92) | func (c *DefaultDialerClient) PostPacket(ctx context.Context, url stri... type WaitReadCloser (line 172) | type WaitReadCloser struct method Set (line 177) | func (w *WaitReadCloser) Set(rc io.ReadCloser) { method Read (line 187) | func (w *WaitReadCloser) Read(b []byte) (int, error) { method Close (line 196) | func (w *WaitReadCloser) Close() error { FILE: transport/internet/splithttp/common.go constant PlacementQueryInHeader (line 4) | PlacementQueryInHeader = "queryInHeader" constant PlacementCookie (line 5) | PlacementCookie = "cookie" constant PlacementHeader (line 6) | PlacementHeader = "header" constant PlacementQuery (line 7) | PlacementQuery = "query" constant PlacementPath (line 8) | PlacementPath = "path" constant PlacementBody (line 9) | PlacementBody = "body" constant PlacementAuto (line 10) | PlacementAuto = "auto" FILE: transport/internet/splithttp/config.go method GetNormalizedPath (line 16) | func (c *Config) GetNormalizedPath() string { method GetNormalizedQuery (line 31) | func (c *Config) GetNormalizedQuery() string { method GetRequestHeader (line 49) | func (c *Config) GetRequestHeader() http.Header { method GetRequestHeaderWithPayload (line 61) | func (c *Config) GetRequestHeaderWithPayload(payload []byte) http.Header { method GetRequestCookiesWithPayload (line 78) | func (c *Config) GetRequestCookiesWithPayload(payload []byte) []*http.Co... method WriteResponseHeader (line 95) | func (c *Config) WriteResponseHeader(writer http.ResponseWriter, request... method GetNormalizedUplinkHTTPMethod (line 128) | func (c *Config) GetNormalizedUplinkHTTPMethod() string { method GetNormalizedScMaxEachPostBytes (line 136) | func (c *Config) GetNormalizedScMaxEachPostBytes() RangeConfig { method GetNormalizedScMinPostsIntervalMs (line 147) | func (c *Config) GetNormalizedScMinPostsIntervalMs() RangeConfig { method GetNormalizedScMaxBufferedPosts (line 158) | func (c *Config) GetNormalizedScMaxBufferedPosts() int { method GetNormalizedScStreamUpServerSecs (line 166) | func (c *Config) GetNormalizedScStreamUpServerSecs() RangeConfig { method GetNormalizedUplinkChunkSize (line 177) | func (c *Config) GetNormalizedUplinkChunkSize() RangeConfig { method GetNormalizedServerMaxHeaderBytes (line 203) | func (c *Config) GetNormalizedServerMaxHeaderBytes() int { method GetNormalizedSessionPlacement (line 211) | func (c *Config) GetNormalizedSessionPlacement() string { method GetNormalizedSeqPlacement (line 218) | func (c *Config) GetNormalizedSeqPlacement() string { method GetNormalizedUplinkDataPlacement (line 225) | func (c *Config) GetNormalizedUplinkDataPlacement() string { method GetNormalizedSessionKey (line 232) | func (c *Config) GetNormalizedSessionKey() string { method GetNormalizedSeqKey (line 246) | func (c *Config) GetNormalizedSeqKey() string { method ApplyMetaToRequest (line 260) | func (c *Config) ApplyMetaToRequest(req *http.Request, sessionId string,... method FillStreamRequest (line 297) | func (c *Config) FillStreamRequest(request *http.Request, sessionId stri... method FillPacketRequest (line 327) | func (c *Config) FillPacketRequest(request *http.Request, sessionId stri... method ExtractMetaFromRequest (line 380) | func (c *Config) ExtractMetaFromRequest(req *http.Request, path string) ... method GetNormalizedMaxConcurrency (line 427) | func (m *XmuxConfig) GetNormalizedMaxConcurrency() RangeConfig { method GetNormalizedMaxConnections (line 438) | func (m *XmuxConfig) GetNormalizedMaxConnections() RangeConfig { method GetNormalizedCMaxReuseTimes (line 449) | func (m *XmuxConfig) GetNormalizedCMaxReuseTimes() RangeConfig { method GetNormalizedHMaxRequestTimes (line 460) | func (m *XmuxConfig) GetNormalizedHMaxRequestTimes() RangeConfig { method GetNormalizedHMaxReusableSecs (line 471) | func (m *XmuxConfig) GetNormalizedHMaxReusableSecs() RangeConfig { function init (line 482) | func init() { method rand (line 488) | func (c RangeConfig) rand() int32 { function appendToPath (line 492) | func appendToPath(path, value string) string { FILE: transport/internet/splithttp/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type RangeConfig (line 25) | type RangeConfig struct method Reset (line 33) | func (x *RangeConfig) Reset() { method String (line 40) | func (x *RangeConfig) String() string { method ProtoMessage (line 44) | func (*RangeConfig) ProtoMessage() {} method ProtoReflect (line 46) | func (x *RangeConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*RangeConfig) Descriptor() ([]byte, []int) { method GetFrom (line 63) | func (x *RangeConfig) GetFrom() int32 { method GetTo (line 70) | func (x *RangeConfig) GetTo() int32 { type XmuxConfig (line 77) | type XmuxConfig struct method Reset (line 89) | func (x *XmuxConfig) Reset() { method String (line 96) | func (x *XmuxConfig) String() string { method ProtoMessage (line 100) | func (*XmuxConfig) ProtoMessage() {} method ProtoReflect (line 102) | func (x *XmuxConfig) ProtoReflect() protoreflect.Message { method Descriptor (line 115) | func (*XmuxConfig) Descriptor() ([]byte, []int) { method GetMaxConcurrency (line 119) | func (x *XmuxConfig) GetMaxConcurrency() *RangeConfig { method GetMaxConnections (line 126) | func (x *XmuxConfig) GetMaxConnections() *RangeConfig { method GetCMaxReuseTimes (line 133) | func (x *XmuxConfig) GetCMaxReuseTimes() *RangeConfig { method GetHMaxRequestTimes (line 140) | func (x *XmuxConfig) GetHMaxRequestTimes() *RangeConfig { method GetHMaxReusableSecs (line 147) | func (x *XmuxConfig) GetHMaxReusableSecs() *RangeConfig { method GetHKeepAlivePeriod (line 154) | func (x *XmuxConfig) GetHKeepAlivePeriod() int64 { type Config (line 161) | type Config struct method Reset (line 194) | func (x *Config) Reset() { method String (line 201) | func (x *Config) String() string { method ProtoMessage (line 205) | func (*Config) ProtoMessage() {} method ProtoReflect (line 207) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 220) | func (*Config) Descriptor() ([]byte, []int) { method GetHost (line 224) | func (x *Config) GetHost() string { method GetPath (line 231) | func (x *Config) GetPath() string { method GetMode (line 238) | func (x *Config) GetMode() string { method GetHeaders (line 245) | func (x *Config) GetHeaders() map[string]string { method GetXPaddingBytes (line 252) | func (x *Config) GetXPaddingBytes() *RangeConfig { method GetNoGRPCHeader (line 259) | func (x *Config) GetNoGRPCHeader() bool { method GetNoSSEHeader (line 266) | func (x *Config) GetNoSSEHeader() bool { method GetScMaxEachPostBytes (line 273) | func (x *Config) GetScMaxEachPostBytes() *RangeConfig { method GetScMinPostsIntervalMs (line 280) | func (x *Config) GetScMinPostsIntervalMs() *RangeConfig { method GetScMaxBufferedPosts (line 287) | func (x *Config) GetScMaxBufferedPosts() int64 { method GetScStreamUpServerSecs (line 294) | func (x *Config) GetScStreamUpServerSecs() *RangeConfig { method GetXmux (line 301) | func (x *Config) GetXmux() *XmuxConfig { method GetDownloadSettings (line 308) | func (x *Config) GetDownloadSettings() *internet.StreamConfig { method GetXPaddingObfsMode (line 315) | func (x *Config) GetXPaddingObfsMode() bool { method GetXPaddingKey (line 322) | func (x *Config) GetXPaddingKey() string { method GetXPaddingHeader (line 329) | func (x *Config) GetXPaddingHeader() string { method GetXPaddingPlacement (line 336) | func (x *Config) GetXPaddingPlacement() string { method GetXPaddingMethod (line 343) | func (x *Config) GetXPaddingMethod() string { method GetUplinkHTTPMethod (line 350) | func (x *Config) GetUplinkHTTPMethod() string { method GetSessionPlacement (line 357) | func (x *Config) GetSessionPlacement() string { method GetSessionKey (line 364) | func (x *Config) GetSessionKey() string { method GetSeqPlacement (line 371) | func (x *Config) GetSeqPlacement() string { method GetSeqKey (line 378) | func (x *Config) GetSeqKey() string { method GetUplinkDataPlacement (line 385) | func (x *Config) GetUplinkDataPlacement() string { method GetUplinkDataKey (line 392) | func (x *Config) GetUplinkDataKey() string { method GetUplinkChunkSize (line 399) | func (x *Config) GetUplinkChunkSize() *RangeConfig { method GetServerMaxHeaderBytes (line 406) | func (x *Config) GetServerMaxHeaderBytes() int32 { constant file_transport_internet_splithttp_config_proto_rawDesc (line 415) | file_transport_internet_splithttp_config_proto_rawDesc = "" + function file_transport_internet_splithttp_config_proto_rawDescGZIP (line 470) | func file_transport_internet_splithttp_config_proto_rawDescGZIP() []byte { function init (line 506) | func init() { file_transport_internet_splithttp_config_proto_init() } function file_transport_internet_splithttp_config_proto_init (line 507) | func file_transport_internet_splithttp_config_proto_init() { FILE: transport/internet/splithttp/config_test.go function Test_GetNormalizedPath (line 9) | func Test_GetNormalizedPath(t *testing.T) { FILE: transport/internet/splithttp/connection.go type splitConn (line 9) | type splitConn struct method Write (line 17) | func (c *splitConn) Write(b []byte) (int, error) { method Read (line 21) | func (c *splitConn) Read(b []byte) (int, error) { method Close (line 25) | func (c *splitConn) Close() error { method LocalAddr (line 43) | func (c *splitConn) LocalAddr() net.Addr { method RemoteAddr (line 47) | func (c *splitConn) RemoteAddr() net.Addr { method SetDeadline (line 51) | func (c *splitConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 56) | func (c *splitConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 61) | func (c *splitConn) SetWriteDeadline(t time.Time) error { FILE: transport/internet/splithttp/dialer.go type dialerConf (line 37) | type dialerConf struct function getHTTPClient (line 47) | func getHTTPClient(ctx context.Context, dest net.Destination, streamSett... function decideHTTPVersion (line 82) | func decideHTTPVersion(tlsConfig *tls.Config, realityConfig *reality.Con... function createHTTPClient (line 101) | func createHTTPClient(dest net.Destination, streamSettings *internet.Mem... function init (line 344) | func init() { function Dial (line 348) | func Dial(ctx context.Context, dest net.Destination, streamSettings *int... type uploadWriter (line 593) | type uploadWriter struct method Write (line 598) | func (w uploadWriter) Write(b []byte) (int, error) { FILE: transport/internet/splithttp/h1_conn.go type H1Conn (line 8) | type H1Conn struct function NewH1Conn (line 14) | func NewH1Conn(conn net.Conn) *H1Conn { FILE: transport/internet/splithttp/hub.go type requestHandler (line 32) | type requestHandler struct method upsertSession (line 52) | func (h *requestHandler) upsertSession(sessionId string) *httpSession { method ServeHTTP (line 92) | func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request... type httpSession (line 43) | type httpSession struct type httpServerConn (line 389) | type httpServerConn struct method Write (line 396) | func (c *httpServerConn) Write(b []byte) (int, error) { method Close (line 409) | func (c *httpServerConn) Close() error { type Listener (line 415) | type Listener struct method Addr (line 577) | func (ln *Listener) Addr() net.Addr { method Close (line 588) | func (ln *Listener) Close() error { function ListenXH (line 426) | func ListenXH(ctx context.Context, address net.Address, port net.Port, s... function getTLSConfig (line 600) | func getTLSConfig(streamSettings *internet.MemoryStreamConfig) *gotls.Co... function init (line 607) | func init() { FILE: transport/internet/splithttp/mux.go type XmuxConn (line 14) | type XmuxConn interface type XmuxClient (line 18) | type XmuxClient struct type XmuxManager (line 26) | type XmuxManager struct method newXmuxClient (line 44) | func (m *XmuxManager) newXmuxClient() *XmuxClient { method GetXmuxClient (line 63) | func (m *XmuxManager) GetXmuxClient(ctx context.Context) *XmuxClient {... function NewXmuxManager (line 34) | func NewXmuxManager(xmuxConfig XmuxConfig, newConnFunc func() XmuxConn) ... FILE: transport/internet/splithttp/mux_test.go type fakeRoundTripper (line 10) | type fakeRoundTripper struct method IsClosed (line 12) | func (f *fakeRoundTripper) IsClosed() bool { function TestMaxConnections (line 16) | func TestMaxConnections(t *testing.T) { function TestCMaxReuseTimes (line 35) | func TestCMaxReuseTimes(t *testing.T) { function TestMaxConcurrency (line 54) | func TestMaxConcurrency(t *testing.T) { function TestDefault (line 75) | func TestDefault(t *testing.T) { FILE: transport/internet/splithttp/splithttp.go constant protocolName (line 3) | protocolName = "splithttp" FILE: transport/internet/splithttp/splithttp_test.go function Test_ListenXHAndDial (line 27) | func Test_ListenXHAndDial(t *testing.T) { function TestDialWithRemoteAddr (line 84) | func TestDialWithRemoteAddr(t *testing.T) { function Test_ListenXHAndDial_TLS (line 126) | func Test_ListenXHAndDial_TLS(t *testing.T) { function Test_ListenXHAndDial_H2C (line 183) | func Test_ListenXHAndDial_H2C(t *testing.T) { function Test_ListenXHAndDial_QUIC (line 224) | func Test_ListenXHAndDial_QUIC(t *testing.T) { function Test_ListenXHAndDial_Unix (line 308) | func Test_ListenXHAndDial_Unix(t *testing.T) { function Test_queryString (line 370) | func Test_queryString(t *testing.T) { function Test_maxUpload (line 416) | func Test_maxUpload(t *testing.T) { FILE: transport/internet/splithttp/upload_queue.go type Packet (line 15) | type Packet struct type uploadQueue (line 21) | type uploadQueue struct method Push (line 42) | func (h *uploadQueue) Push(p Packet) error { method Close (line 59) | func (h *uploadQueue) Close() error { method Read (line 85) | func (h *uploadQueue) Read(b []byte) (int, error) { function NewUploadQueue (line 32) | func NewUploadQueue(maxPackets int) *uploadQueue { type uploadHeap (line 146) | type uploadHeap method Len (line 148) | func (h uploadHeap) Len() int { return len(h) } method Less (line 149) | func (h uploadHeap) Less(i, j int) bool { return h[i].Seq < h[j].Seq } method Swap (line 150) | func (h uploadHeap) Swap(i, j int) { h[i], h[j] = h[j], h[i] } method Push (line 152) | func (h *uploadHeap) Push(x any) { method Pop (line 158) | func (h *uploadHeap) Pop() any { FILE: transport/internet/splithttp/upload_queue_test.go function Test_regression_readzero (line 10) | func Test_regression_readzero(t *testing.T) { FILE: transport/internet/splithttp/xpadding.go type PaddingMethod (line 13) | type PaddingMethod constant PaddingMethodRepeatX (line 16) | PaddingMethodRepeatX PaddingMethod = "repeat-x" constant PaddingMethodTokenish (line 17) | PaddingMethodTokenish PaddingMethod = "tokenish" constant charsetBase62 (line 20) | charsetBase62 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs... constant avgHuffmanBytesPerCharBase62 (line 23) | avgHuffmanBytesPerCharBase62 = 0.8 constant validationTolerance (line 25) | validationTolerance = 2 type XPaddingPlacement (line 27) | type XPaddingPlacement struct type XPaddingConfig (line 34) | type XPaddingConfig struct function randStringFromCharset (line 40) | func randStringFromCharset(n int, charset string) (string, bool) { function absInt (line 71) | func absInt(x int) int { function GenerateTokenishPaddingBase62 (line 78) | func GenerateTokenishPaddingBase62(targetHuffmanBytes int) string { function GeneratePadding (line 123) | func GeneratePadding(method PaddingMethod, length int) string { function ApplyPaddingToCookie (line 148) | func ApplyPaddingToCookie(req *http.Request, name, value string) { function ApplyPaddingToResponseCookie (line 159) | func ApplyPaddingToResponseCookie(writer http.ResponseWriter, name, valu... function ApplyPaddingToQuery (line 170) | func ApplyPaddingToQuery(u *url.URL, key, value string) { method GetNormalizedXPaddingBytes (line 179) | func (c *Config) GetNormalizedXPaddingBytes() RangeConfig { method ApplyXPaddingToHeader (line 190) | func (c *Config) ApplyXPaddingToHeader(h http.Header, config XPaddingCon... method ApplyXPaddingToRequest (line 210) | func (c *Config) ApplyXPaddingToRequest(req *http.Request, config XPaddi... method ApplyXPaddingToResponse (line 235) | func (c *Config) ApplyXPaddingToResponse(writer http.ResponseWriter, con... method ExtractXPaddingFromRequest (line 251) | func (c *Config) ExtractXPaddingFromRequest(req *http.Request, obfsMode ... method IsPaddingValid (line 307) | func (c *Config) IsPaddingValid(paddingValue string, from, to int32, met... FILE: transport/internet/stat/connection.go type Connection (line 9) | type Connection interface type CounterConnection (line 13) | type CounterConnection struct method Read (line 19) | func (c *CounterConnection) Read(b []byte) (int, error) { method Write (line 28) | func (c *CounterConnection) Write(b []byte) (int, error) { function TryUnwrapStatsConn (line 36) | func TryUnwrapStatsConn(conn net.Conn) net.Conn { FILE: transport/internet/system_dialer.go type SystemDialer (line 17) | type SystemDialer interface type DefaultSystemDialer (line 22) | type DefaultSystemDialer struct method Dial (line 50) | func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Addres... method DestIpAddress (line 147) | func (d *DefaultSystemDialer) DestIpAddress() net.IP { function resolveSrcAddr (line 28) | func resolveSrcAddr(network net.Network, src net.Address) net.Addr { function hasBindAddr (line 46) | func hasBindAddr(sockopt *SocketConfig) bool { type PacketConnWrapper (line 151) | type PacketConnWrapper struct method Read (line 156) | func (c *PacketConnWrapper) Read(p []byte) (int, error) { method Write (line 161) | func (c *PacketConnWrapper) Write(p []byte) (int, error) { method RemoteAddr (line 165) | func (c *PacketConnWrapper) RemoteAddr() net.Addr { type SystemDialerAdapter (line 169) | type SystemDialerAdapter interface type SimpleSystemDialer (line 173) | type SimpleSystemDialer struct method Dial (line 183) | func (v *SimpleSystemDialer) Dial(ctx context.Context, src net.Address... method DestIpAddress (line 187) | func (d *SimpleSystemDialer) DestIpAddress() net.IP { function WithAdapter (line 177) | func WithAdapter(dialer SystemDialerAdapter) SystemDialer { function UseAlternativeSystemDialer (line 195) | func UseAlternativeSystemDialer(dialer SystemDialer) { function RegisterDialerController (line 207) | func RegisterDialerController(ctl control.Func) error { type FakePacketConn (line 221) | type FakePacketConn struct method ReadFrom (line 225) | func (c *FakePacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err... method WriteTo (line 230) | func (c *FakePacketConn) WriteTo(p []byte, _ net.Addr) (n int, err err... method LocalAddr (line 234) | func (c *FakePacketConn) LocalAddr() net.Addr { method RemoteAddr (line 241) | func (c *FakePacketConn) RemoteAddr() net.Addr { FILE: transport/internet/system_listener.go type DefaultListener (line 20) | type DefaultListener struct method Listen (line 78) | func (dl *DefaultListener) Listen(ctx context.Context, addr net.Addr, ... method ListenPacket (line 177) | func (dl *DefaultListener) ListenPacket(ctx context.Context, addr net.... function getControlFunc (line 24) | func getControlFunc(ctx context.Context, sockopt *SocketConfig, controll... type UnixListenerWrapper (line 47) | type UnixListenerWrapper struct method Accept (line 52) | func (l *UnixListenerWrapper) Accept() (net.Conn, error) { method Close (line 60) | func (l *UnixListenerWrapper) Close() error { type UnixConnWrapper (line 68) | type UnixConnWrapper struct method RemoteAddr (line 72) | func (conn *UnixConnWrapper) RemoteAddr() net.Addr { function RegisterListenerController (line 189) | func RegisterListenerController(controller control.Func) error { FILE: transport/internet/system_listener_test.go function TestRegisterListenerController (line 14) | func TestRegisterListenerController(t *testing.T) { FILE: transport/internet/tagged/tagged.go type DialFunc (line 10) | type DialFunc FILE: transport/internet/tagged/taggedimpl/impl.go function DialTaggedOutbound (line 15) | func DialTaggedOutbound(ctx context.Context, dispatcher routing.Dispatch... function init (line 38) | func init() { FILE: transport/internet/tcp/config.go function init (line 8) | func init() { FILE: transport/internet/tcp/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 25) | type Config struct method Reset (line 33) | func (x *Config) Reset() { method String (line 40) | func (x *Config) String() string { method ProtoMessage (line 44) | func (*Config) ProtoMessage() {} method ProtoReflect (line 46) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 59) | func (*Config) Descriptor() ([]byte, []int) { method GetHeaderSettings (line 63) | func (x *Config) GetHeaderSettings() *serial.TypedMessage { method GetAcceptProxyProtocol (line 70) | func (x *Config) GetAcceptProxyProtocol() bool { constant file_transport_internet_tcp_config_proto_rawDesc (line 79) | file_transport_internet_tcp_config_proto_rawDesc = "" + function file_transport_internet_tcp_config_proto_rawDescGZIP (line 92) | func file_transport_internet_tcp_config_proto_rawDescGZIP() []byte { function init (line 113) | func init() { file_transport_internet_tcp_config_proto_init() } function file_transport_internet_tcp_config_proto_init (line 114) | func file_transport_internet_tcp_config_proto_init() { FILE: transport/internet/tcp/dialer.go function Dial (line 20) | func Dial(ctx context.Context, dest net.Destination, streamSettings *int... function init (line 119) | func init() { FILE: transport/internet/tcp/hub.go type Listener (line 20) | type Listener struct method keepAccepting (line 101) | func (v *Listener) keepAccepting() { method Addr (line 134) | func (v *Listener) Addr() net.Addr { method Close (line 139) | func (v *Listener) Close() error { function ListenTCP (line 30) | func ListenTCP(ctx context.Context, address net.Address, port net.Port, ... function init (line 143) | func init() { FILE: transport/internet/tcp/sockopt_darwin.go function GetOriginalDestination (line 14) | func GetOriginalDestination(conn stat.Connection) (net.Destination, erro... FILE: transport/internet/tcp/sockopt_freebsd.go function GetOriginalDestination (line 14) | func GetOriginalDestination(conn stat.Connection) (net.Destination, erro... FILE: transport/internet/tcp/sockopt_linux.go constant SO_ORIGINAL_DST (line 16) | SO_ORIGINAL_DST = 80 function GetOriginalDestination (line 18) | func GetOriginalDestination(conn stat.Connection) (net.Destination, erro... FILE: transport/internet/tcp/sockopt_linux_test.go function TestGetOriginalDestination (line 17) | func TestGetOriginalDestination(t *testing.T) { FILE: transport/internet/tcp/sockopt_other.go function GetOriginalDestination (line 11) | func GetOriginalDestination(conn stat.Connection) (net.Destination, erro... FILE: transport/internet/tcp/tcp.go constant protocolName (line 3) | protocolName = "tcp" FILE: transport/internet/tcp_hub.go function RegisterTransportListener (line 13) | func RegisterTransportListener(protocol string, listener ListenFunc) err... type ConnHandler (line 21) | type ConnHandler type ListenFunc (line 23) | type ListenFunc type Listener (line 25) | type Listener interface function ListenUnix (line 31) | func ListenUnix(ctx context.Context, address net.Address, settings *Memo... function ListenTCP (line 52) | func ListenTCP(ctx context.Context, address net.Address, port net.Port, ... function ListenSystem (line 84) | func ListenSystem(ctx context.Context, addr net.Addr, sockopt *SocketCon... function ListenSystemPacket (line 91) | func ListenSystemPacket(ctx context.Context, addr net.Addr, sockopt *Soc... FILE: transport/internet/tls/config.go function ParseCertificate (line 27) | func ParseCertificate(c *cert.Certificate) *Certificate { method loadSelfCertPool (line 38) | func (c *Config) loadSelfCertPool() (*x509.CertPool, error) { method BuildCertificates (line 49) | func (c *Config) BuildCertificates() []*tls.Certificate { function setupOcspTicker (line 96) | func setupOcspTicker(entry *Certificate, callback func(isReloaded, isOcs... function isCertificateExpired (line 133) | func isCertificateExpired(c *tls.Certificate) bool { function issueCertificate (line 144) | func issueCertificate(rawCA *Certificate, domain string) (*tls.Certifica... method getCustomCA (line 161) | func (c *Config) getCustomCA() []*Certificate { function getGetCertificateFunc (line 172) | func getGetCertificateFunc(c *tls.Config, ca []*Certificate) func(hello ... function getNewGetCertificateFunc (line 246) | func getNewGetCertificateFunc(certs []*tls.Certificate, rejectUnknownSNI... method parseServerName (line 276) | func (c *Config) parseServerName() string { type RandCarrier (line 352) | type RandCarrier struct method verifyPeerCert (line 283) | func (r *RandCarrier) verifyPeerCert(rawCerts [][]byte, verifiedChains... method Read (line 359) | func (r *RandCarrier) Read(p []byte) (n int, err error) { method GetTLSConfig (line 364) | func (c *Config) GetTLSConfig(opts ...Option) *tls.Config { type Option (line 484) | type Option function WithDestination (line 490) | func WithDestination(dest net.Destination) Option { function WithOverrideName (line 498) | func WithOverrideName(serverName string) Option { function WithNextProto (line 505) | func WithNextProto(protocol ...string) Option { function ConfigFromStreamSettings (line 514) | func ConfigFromStreamSettings(settings *internet.MemoryStreamConfig) *Co... function ParseCurveName (line 525) | func ParseCurveName(curveNames []string) []tls.CurveID { function IsFromMitm (line 547) | func IsFromMitm(str string) bool { type verifyResult (line 551) | type verifyResult constant certNotFound (line 554) | certNotFound verifyResult = iota constant foundLeaf (line 555) | foundLeaf constant foundCA (line 556) | foundCA function verifyChain (line 559) | func verifyChain(certs []*x509.Certificate, pinnedPeerCertSha256 [][]byt... FILE: transport/internet/tls/config.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Certificate_Usage (line 25) | type Certificate_Usage method Enum (line 47) | func (x Certificate_Usage) Enum() *Certificate_Usage { method String (line 53) | func (x Certificate_Usage) String() string { method Descriptor (line 57) | func (Certificate_Usage) Descriptor() protoreflect.EnumDescriptor { method Type (line 61) | func (Certificate_Usage) Type() protoreflect.EnumType { method Number (line 65) | func (x Certificate_Usage) Number() protoreflect.EnumNumber { method EnumDescriptor (line 70) | func (Certificate_Usage) EnumDescriptor() ([]byte, []int) { constant Certificate_ENCIPHERMENT (line 28) | Certificate_ENCIPHERMENT Certificate_Usage = 0 constant Certificate_AUTHORITY_VERIFY (line 29) | Certificate_AUTHORITY_VERIFY Certificate_Usage = 1 constant Certificate_AUTHORITY_ISSUE (line 30) | Certificate_AUTHORITY_ISSUE Certificate_Usage = 2 type Certificate (line 74) | type Certificate struct method Reset (line 93) | func (x *Certificate) Reset() { method String (line 100) | func (x *Certificate) String() string { method ProtoMessage (line 104) | func (*Certificate) ProtoMessage() {} method ProtoReflect (line 106) | func (x *Certificate) ProtoReflect() protoreflect.Message { method Descriptor (line 119) | func (*Certificate) Descriptor() ([]byte, []int) { method GetCertificate (line 123) | func (x *Certificate) GetCertificate() []byte { method GetKey (line 130) | func (x *Certificate) GetKey() []byte { method GetUsage (line 137) | func (x *Certificate) GetUsage() Certificate_Usage { method GetOcspStapling (line 144) | func (x *Certificate) GetOcspStapling() uint64 { method GetCertificatePath (line 151) | func (x *Certificate) GetCertificatePath() string { method GetKeyPath (line 158) | func (x *Certificate) GetKeyPath() string { method GetOneTimeLoading (line 165) | func (x *Certificate) GetOneTimeLoading() bool { method GetBuildChain (line 172) | func (x *Certificate) GetBuildChain() bool { type Config (line 179) | type Config struct method Reset (line 215) | func (x *Config) Reset() { method String (line 222) | func (x *Config) String() string { method ProtoMessage (line 226) | func (*Config) ProtoMessage() {} method ProtoReflect (line 228) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 241) | func (*Config) Descriptor() ([]byte, []int) { method GetAllowInsecure (line 245) | func (x *Config) GetAllowInsecure() bool { method GetCertificate (line 252) | func (x *Config) GetCertificate() []*Certificate { method GetServerName (line 259) | func (x *Config) GetServerName() string { method GetNextProtocol (line 266) | func (x *Config) GetNextProtocol() []string { method GetEnableSessionResumption (line 273) | func (x *Config) GetEnableSessionResumption() bool { method GetDisableSystemRoot (line 280) | func (x *Config) GetDisableSystemRoot() bool { method GetMinVersion (line 287) | func (x *Config) GetMinVersion() string { method GetMaxVersion (line 294) | func (x *Config) GetMaxVersion() string { method GetCipherSuites (line 301) | func (x *Config) GetCipherSuites() string { method GetFingerprint (line 308) | func (x *Config) GetFingerprint() string { method GetRejectUnknownSni (line 315) | func (x *Config) GetRejectUnknownSni() bool { method GetMasterKeyLog (line 322) | func (x *Config) GetMasterKeyLog() string { method GetCurvePreferences (line 329) | func (x *Config) GetCurvePreferences() []string { method GetVerifyPeerCertByName (line 336) | func (x *Config) GetVerifyPeerCertByName() []string { method GetEchServerKeys (line 343) | func (x *Config) GetEchServerKeys() []byte { method GetEchConfigList (line 350) | func (x *Config) GetEchConfigList() string { method GetEchForceQuery (line 357) | func (x *Config) GetEchForceQuery() string { method GetEchSocketSettings (line 364) | func (x *Config) GetEchSocketSettings() *internet.SocketConfig { method GetPinnedPeerCertSha256 (line 371) | func (x *Config) GetPinnedPeerCertSha256() [][]byte { constant file_transport_internet_tls_config_proto_rawDesc (line 380) | file_transport_internet_tls_config_proto_rawDesc = "" + function file_transport_internet_tls_config_proto_rawDescGZIP (line 427) | func file_transport_internet_tls_config_proto_rawDescGZIP() []byte { function init (line 453) | func init() { file_transport_internet_tls_config_proto_init() } function file_transport_internet_tls_config_proto_init (line 454) | func file_transport_internet_tls_config_proto_init() { FILE: transport/internet/tls/config_other.go type rootCertsCache (line 13) | type rootCertsCache struct method load (line 18) | func (c *rootCertsCache) load() (*x509.CertPool, error) { method getCertPool (line 36) | func (c *Config) getCertPool() (*x509.CertPool, error) { FILE: transport/internet/tls/config_test.go function TestCertificateIssuing (line 14) | func TestCertificateIssuing(t *testing.T) { function TestExpiredCertificate (line 38) | func TestExpiredCertificate(t *testing.T) { function TestInsecureCertificates (line 67) | func TestInsecureCertificates(t *testing.T) { function BenchmarkCertificateIssuing (line 76) | func BenchmarkCertificateIssuing(b *testing.B) { FILE: transport/internet/tls/config_windows.go method getCertPool (line 8) | func (c *Config) getCertPool() (*x509.CertPool, error) { FILE: transport/internet/tls/ech.go function ApplyECH (line 31) | func ApplyECH(c *Config, config *tls.Config) error { type ECHConfigCache (line 101) | type ECHConfigCache struct method Update (line 128) | func (c *ECHConfigCache) Update(domain string, server string, isLocked... type echConfigRecord (line 107) | type echConfigRecord struct function ECHCacheKey (line 121) | func ECHCacheKey(server, domain string, sockopt *internet.SocketConfig) ... function QueryRecord (line 160) | func QueryRecord(domain string, server string, forceQuery string, sockop... function dnsQuery (line 193) | func dnsQuery(server string, domain string, sockopt *internet.SocketConf... function ConvertToGoECHKeys (line 331) | func ConvertToGoECHKeys(data []byte) ([]tls.EncryptedClientHelloKey, err... FILE: transport/internet/tls/ech_test.go function TestECHDial (line 13) | func TestECHDial(t *testing.T) { function TestECHDialFail (line 59) | func TestECHDialFail(t *testing.T) { FILE: transport/internet/tls/grpc.go type grpcUtlsInfo (line 16) | type grpcUtlsInfo struct method AuthType (line 24) | func (t grpcUtlsInfo) AuthType() string { method GetSecurityValue (line 29) | func (t grpcUtlsInfo) GetSecurityValue() credentials.ChannelzSecurityV... type grpcUtls (line 41) | type grpcUtls struct method Info (line 46) | func (c grpcUtls) Info() credentials.ProtocolInfo { method ClientHandshake (line 54) | func (c *grpcUtls) ClientHandshake(ctx context.Context, authority stri... method ServerHandshake (line 91) | func (c *grpcUtls) ServerHandshake(net.Conn) (net.Conn, credentials.Au... method Clone (line 95) | func (c *grpcUtls) Clone() credentials.TransportCredentials { method OverrideServerName (line 99) | func (c *grpcUtls) OverrideServerName(serverNameOverride string) error { function NewGrpcUtls (line 105) | func NewGrpcUtls(c *gotls.Config, fingerprint *utls.ClientHelloID) crede... FILE: transport/internet/tls/pin.go function GenerateCertHash (line 10) | func GenerateCertHash[T *x509.Certificate | []byte](cert T) []byte { function GenerateCertHashHex (line 21) | func GenerateCertHashHex[T *x509.Certificate | []byte](cert T) string { FILE: transport/internet/tls/pin_test.go function TestCalculateCertHash (line 15) | func TestCalculateCertHash(t *testing.T) { function TestVerifyPeerLeafCert (line 102) | func TestVerifyPeerLeafCert(t *testing.T) { function TestVerifyPeerCACert (line 127) | func TestVerifyPeerCACert(t *testing.T) { FILE: transport/internet/tls/tls.go type Interface (line 16) | type Interface interface type Conn (line 27) | type Conn struct method Close (line 33) | func (c *Conn) Close() error { method WriteMultiBuffer (line 41) | func (c *Conn) WriteMultiBuffer(mb buf.MultiBuffer) error { method HandshakeContextServerName (line 48) | func (c *Conn) HandshakeContextServerName(ctx context.Context) string { method NegotiatedProtocol (line 55) | func (c *Conn) NegotiatedProtocol() string { constant tlsCloseTimeout (line 31) | tlsCloseTimeout = 250 * time.Millisecond function Client (line 61) | func Client(c net.Conn, config *tls.Config) net.Conn { function Server (line 67) | func Server(c net.Conn, config *tls.Config) net.Conn { type UConn (line 72) | type UConn struct method Close (line 78) | func (c *UConn) Close() error { method HandshakeContextServerName (line 86) | func (c *UConn) HandshakeContextServerName(ctx context.Context) string { method WebsocketHandshakeContext (line 95) | func (c *UConn) WebsocketHandshakeContext(ctx context.Context) error { method NegotiatedProtocol (line 126) | func (c *UConn) NegotiatedProtocol() string { function UClient (line 131) | func UClient(c net.Conn, config *tls.Config, fingerprint *utls.ClientHel... function GeneraticUClient (line 136) | func GeneraticUClient(c net.Conn, config *tls.Config) *utls.UConn { function copyConfig (line 140) | func copyConfig(c *tls.Config) *utls.Config { function init (line 156) | func init() { function GetFingerprint (line 180) | func GetFingerprint(name string) (fingerprint *utls.ClientHelloID) { FILE: transport/internet/udp/config.go function init (line 8) | func init() { FILE: transport/internet/udp/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 30) | func (x *Config) Reset() { method String (line 37) | func (x *Config) String() string { method ProtoMessage (line 41) | func (*Config) ProtoMessage() {} method ProtoReflect (line 43) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 56) | func (*Config) Descriptor() ([]byte, []int) { constant file_transport_internet_udp_config_proto_rawDesc (line 62) | file_transport_internet_udp_config_proto_rawDesc = "" + function file_transport_internet_udp_config_proto_rawDescGZIP (line 73) | func file_transport_internet_udp_config_proto_rawDescGZIP() []byte { function init (line 92) | func init() { file_transport_internet_udp_config_proto_init() } function file_transport_internet_udp_config_proto_init (line 93) | func file_transport_internet_udp_config_proto_init() { FILE: transport/internet/udp/dialer.go function init (line 15) | func init() { FILE: transport/internet/udp/dispatcher.go type ResponseCallback (line 21) | type ResponseCallback type connEntry (line 23) | type connEntry struct method Close (line 30) | func (c *connEntry) Close() error { method terminate (line 35) | func (c *connEntry) terminate() { type Dispatcher (line 45) | type Dispatcher struct method RemoveRay (line 61) | func (v *Dispatcher) RemoveRay() { method getInboundRay (line 71) | func (v *Dispatcher) getInboundRay(ctx context.Context, dest net.Desti... method Dispatch (line 108) | func (v *Dispatcher) Dispatch(ctx context.Context, destination net.Des... function NewDispatcher (line 54) | func NewDispatcher(dispatcher routing.Dispatcher, callback ResponseCallb... function handleInput (line 127) | func handleInput(ctx context.Context, conn *connEntry, dest net.Destinat... type dispatcherConn (line 165) | type dispatcherConn struct method callback (line 188) | func (c *dispatcherConn) callback(ctx context.Context, packet *udp.Pac... method ReadFrom (line 200) | func (c *dispatcherConn) ReadFrom(p []byte) (int, net.Addr, error) { method WriteTo (line 219) | func (c *dispatcherConn) WriteTo(p []byte, addr net.Addr) (int, error) { method Close (line 231) | func (c *dispatcherConn) Close() error { method LocalAddr (line 235) | func (c *dispatcherConn) LocalAddr() net.Addr { method SetDeadline (line 242) | func (c *dispatcherConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 246) | func (c *dispatcherConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 250) | func (c *dispatcherConn) SetWriteDeadline(t time.Time) error { function DialDispatcher (line 172) | func DialDispatcher(ctx context.Context, dispatcher routing.Dispatcher) ... FILE: transport/internet/udp/dispatcher_test.go type TestDispatcher (line 19) | type TestDispatcher struct method Dispatch (line 23) | func (d *TestDispatcher) Dispatch(ctx context.Context, dest net.Destin... method DispatchLink (line 27) | func (d *TestDispatcher) DispatchLink(ctx context.Context, destination... method Start (line 31) | func (d *TestDispatcher) Start() error { method Close (line 35) | func (d *TestDispatcher) Close() error { method Type (line 39) | func (*TestDispatcher) Type() interface{} { function TestSameDestinationDispatching (line 43) | func TestSameDestinationDispatching(t *testing.T) { FILE: transport/internet/udp/hub.go type HubOption (line 13) | type HubOption function HubCapacity (line 15) | func HubCapacity(capacity int) HubOption { function HubReceiveOriginalDestination (line 21) | func HubReceiveOriginalDestination(r bool) HubOption { type Hub (line 27) | type Hub struct method Close (line 88) | func (h *Hub) Close() error { method WriteTo (line 93) | func (h *Hub) WriteTo(payload []byte, dest net.Destination) (int, erro... method start (line 100) | func (h *Hub) start() { method Addr (line 159) | func (h *Hub) Addr() net.Addr { method Receive (line 163) | func (h *Hub) Receive() <-chan *udp.Packet { function ListenUDP (line 35) | func ListenUDP(ctx context.Context, address net.Address, port net.Port, ... FILE: transport/internet/udp/hub_darwin.go function RetrieveOriginalDest (line 17) | func RetrieveOriginalDest(oob []byte) net.Destination { function ReadUDPMsg (line 30) | func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int... FILE: transport/internet/udp/hub_freebsd.go function RetrieveOriginalDest (line 17) | func RetrieveOriginalDest(oob []byte) net.Destination { function ReadUDPMsg (line 30) | func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int... FILE: transport/internet/udp/hub_linux.go function RetrieveOriginalDest (line 13) | func RetrieveOriginalDest(oob []byte) net.Destination { function ReadUDPMsg (line 32) | func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int... FILE: transport/internet/udp/hub_other.go function RetrieveOriginalDest (line 10) | func RetrieveOriginalDest(oob []byte) net.Destination { function ReadUDPMsg (line 14) | func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int... FILE: transport/internet/udp/udp.go constant protocolName (line 3) | protocolName = "udp" FILE: transport/internet/websocket/config.go method GetNormalizedPath (line 11) | func (c *Config) GetNormalizedPath() string { method GetRequestHeader (line 22) | func (c *Config) GetRequestHeader() http.Header { function init (line 33) | func init() { FILE: transport/internet/websocket/config.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Config (line 24) | type Config struct method Reset (line 36) | func (x *Config) Reset() { method String (line 43) | func (x *Config) String() string { method ProtoMessage (line 47) | func (*Config) ProtoMessage() {} method ProtoReflect (line 49) | func (x *Config) ProtoReflect() protoreflect.Message { method Descriptor (line 62) | func (*Config) Descriptor() ([]byte, []int) { method GetHost (line 66) | func (x *Config) GetHost() string { method GetPath (line 73) | func (x *Config) GetPath() string { method GetHeader (line 80) | func (x *Config) GetHeader() map[string]string { method GetAcceptProxyProtocol (line 87) | func (x *Config) GetAcceptProxyProtocol() bool { method GetEd (line 94) | func (x *Config) GetEd() uint32 { method GetHeartbeatPeriod (line 101) | func (x *Config) GetHeartbeatPeriod() uint32 { constant file_transport_internet_websocket_config_proto_rawDesc (line 110) | file_transport_internet_websocket_config_proto_rawDesc = "" + function file_transport_internet_websocket_config_proto_rawDescGZIP (line 130) | func file_transport_internet_websocket_config_proto_rawDescGZIP() []byte { function init (line 151) | func init() { file_transport_internet_websocket_config_proto_init() } function file_transport_internet_websocket_config_proto_init (line 152) | func file_transport_internet_websocket_config_proto_init() { FILE: transport/internet/websocket/connection.go type connection (line 19) | type connection struct method Read (line 45) | func (c *connection) Read(b []byte) (int, error) { method getReader (line 61) | func (c *connection) getReader() (io.Reader, error) { method Write (line 75) | func (c *connection) Write(b []byte) (int, error) { method WriteMultiBuffer (line 82) | func (c *connection) WriteMultiBuffer(mb buf.MultiBuffer) error { method Close (line 89) | func (c *connection) Close() error { method LocalAddr (line 103) | func (c *connection) LocalAddr() net.Addr { method RemoteAddr (line 107) | func (c *connection) RemoteAddr() net.Addr { method SetDeadline (line 111) | func (c *connection) SetDeadline(t time.Time) error { method SetReadDeadline (line 118) | func (c *connection) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 122) | func (c *connection) SetWriteDeadline(t time.Time) error { function NewConnection (line 25) | func NewConnection(conn *websocket.Conn, remoteAddr net.Addr, extraReade... FILE: transport/internet/websocket/dialer.go function Dial (line 21) | func Dial(ctx context.Context, dest net.Destination, streamSettings *int... function init (line 42) | func init() { function dialWebSocket (line 46) | func dialWebSocket(ctx context.Context, dest net.Destination, streamSett... type delayDialConn (line 155) | type delayDialConn struct method Write (line 165) | func (d *delayDialConn) Write(b []byte) (int, error) { method Read (line 187) | func (d *delayDialConn) Read(b []byte) (int, error) { method Close (line 201) | func (d *delayDialConn) Close() error { FILE: transport/internet/websocket/hub.go type requestHandler (line 23) | type requestHandler struct method ServeHTTP (line 41) | func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request... type Listener (line 90) | type Listener struct method Addr (line 169) | func (ln *Listener) Addr() net.Addr { method Close (line 174) | func (ln *Listener) Close() error { function ListenWS (line 98) | func ListenWS(ctx context.Context, address net.Address, port net.Port, s... function init (line 178) | func init() { FILE: transport/internet/websocket/ws.go constant protocolName (line 8) | protocolName = "websocket" FILE: transport/internet/websocket/ws_test.go function Test_listenWSAndDial (line 19) | func Test_listenWSAndDial(t *testing.T) { function TestDialWithRemoteAddr (line 75) | func TestDialWithRemoteAddr(t *testing.T) { function Test_listenWSAndDial_TLS (line 118) | func Test_listenWSAndDial_TLS(t *testing.T) { FILE: transport/link.go type Link (line 6) | type Link struct FILE: transport/pipe/impl.go type state (line 15) | type state constant open (line 18) | open state = iota constant closed (line 19) | closed constant errord (line 20) | errord type pipeOption (line 23) | type pipeOption struct method isFull (line 28) | func (o *pipeOption) isFull(curSize int32) bool { type pipe (line 32) | type pipe struct method Len (line 48) | func (p *pipe) Len() int32 { method getState (line 56) | func (p *pipe) getState(forRead bool) error { method readMultiBufferInternal (line 78) | func (p *pipe) readMultiBufferInternal() (buf.MultiBuffer, error) { method ReadMultiBuffer (line 91) | func (p *pipe) ReadMultiBuffer() (buf.MultiBuffer, error) { method ReadMultiBufferTimeout (line 108) | func (p *pipe) ReadMultiBufferTimeout(d time.Duration) (buf.MultiBuffe... method writeMultiBufferInternal (line 128) | func (p *pipe) writeMultiBufferInternal(mb buf.MultiBuffer) error { method WriteMultiBuffer (line 144) | func (p *pipe) WriteMultiBuffer(mb buf.MultiBuffer) error { method Close (line 176) | func (p *pipe) Close() error { method Interrupt (line 190) | func (p *pipe) Interrupt() { FILE: transport/pipe/pipe.go type Option (line 12) | type Option function WithoutSizeLimit (line 15) | func WithoutSizeLimit() Option { function WithSizeLimit (line 22) | func WithSizeLimit(limit int32) Option { function DiscardOverflow (line 29) | func DiscardOverflow() Option { function OptionsFromContext (line 36) | func OptionsFromContext(ctx context.Context) []Option { function New (line 50) | func New(opts ...Option) (*Reader, *Writer) { FILE: transport/pipe/pipe_test.go function TestPipeReadWrite (line 17) | func TestPipeReadWrite(t *testing.T) { function TestPipeInterrupt (line 35) | func TestPipeInterrupt(t *testing.T) { function TestPipeClose (line 52) | func TestPipeClose(t *testing.T) { function TestPipeLimitZero (line 75) | func TestPipeLimitZero(t *testing.T) { function TestPipeWriteMultiThread (line 109) | func TestPipeWriteMultiThread(t *testing.T) { function TestInterfaces (line 131) | func TestInterfaces(t *testing.T) { function BenchmarkPipeReadWrite (line 140) | func BenchmarkPipeReadWrite(b *testing.B) { FILE: transport/pipe/reader.go type Reader (line 10) | type Reader struct method ReadMultiBuffer (line 15) | func (r *Reader) ReadMultiBuffer() (buf.MultiBuffer, error) { method ReadMultiBufferTimeout (line 20) | func (r *Reader) ReadMultiBufferTimeout(d time.Duration) (buf.MultiBuf... method Interrupt (line 25) | func (r *Reader) Interrupt() { method ReturnAnError (line 30) | func (r *Reader) ReturnAnError(err error) { method Recover (line 35) | func (r *Reader) Recover() (err error) { FILE: transport/pipe/writer.go type Writer (line 8) | type Writer struct method WriteMultiBuffer (line 13) | func (w *Writer) WriteMultiBuffer(mb buf.MultiBuffer) error { method Close (line 18) | func (w *Writer) Close() error { method Len (line 22) | func (w *Writer) Len() int32 { method Interrupt (line 27) | func (w *Writer) Interrupt() {