Documentation ¶
Index ¶
- Variables
- type Config
- type DNSThenOthersSniffResult
- type DefaultDispatcher
- func (*DefaultDispatcher) Close() error
- func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destination) (*transport.Link, error)
- func (d *DefaultDispatcher) DispatchLink(ctx context.Context, destination net.Destination, outbound *transport.Link) error
- func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, router routing.Router, pm policy.Manager, ...) error
- func (*DefaultDispatcher) Start() error
- func (*DefaultDispatcher) Type() interface{}
- type InboundInfo
- type Limiter
- func (l *Limiter) AddInboundLimiter(tag string, nodeInfo *panel.NodeInfo) error
- func (l *Limiter) AddUserSpeedLimit(tag string, userInfo *panel.UserInfo, limit uint64, expire int64) error
- func (l *Limiter) CheckSpeedAndDeviceLimit(tag string, email string, ip string) (speedLimiter *ratelimit.Bucket, SpeedLimit bool, Reject bool)
- func (l *Limiter) ClearOnlineUserIpAndSpeedLimiter(tag string)
- func (l *Limiter) DeleteInboundLimiter(tag string) error
- func (l *Limiter) ListOnlineUserIp(tag string) ([]UserIpList, error)
- func (l *Limiter) RateWriter(writer buf.Writer, limiter *ratelimit.Bucket) buf.Writer
- func (l *Limiter) UpdateInboundLimiter(tag string, deleted []panel.UserInfo) error
- func (l *Limiter) UpdateOnlineUserIP(tag string, userIpList []UserIpList)
- type Rule
- type SessionConfig
- type SizeStatWriter
- type SniffResult
- type Sniffer
- type SnifferIsProtoSubsetOf
- type SnifferResultComposite
- type UserIpList
- type UserLimitInfo
- type Writer
Constants ¶
This section is empty.
Variables ¶
View Source
var File_config_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Settings *SessionConfig `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` // contains filtered or unexported fields }
func (*Config) Descriptor
deprecated
func (*Config) GetSettings ¶
func (x *Config) GetSettings() *SessionConfig
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) ProtoReflect ¶
func (x *Config) ProtoReflect() protoreflect.Message
type DNSThenOthersSniffResult ¶
type DNSThenOthersSniffResult struct {
// contains filtered or unexported fields
}
func (DNSThenOthersSniffResult) Domain ¶
func (f DNSThenOthersSniffResult) Domain() string
func (DNSThenOthersSniffResult) IsProtoSubsetOf ¶
func (f DNSThenOthersSniffResult) IsProtoSubsetOf(protocolName string) bool
func (DNSThenOthersSniffResult) Protocol ¶
func (DNSThenOthersSniffResult) Protocol() string
type DefaultDispatcher ¶
type DefaultDispatcher struct { Limiter *Limiter RuleManager *Rule // contains filtered or unexported fields }
DefaultDispatcher is a default implementation of Dispatcher.
func (*DefaultDispatcher) Close ¶
func (*DefaultDispatcher) Close() error
Close implements common.Closable.
func (*DefaultDispatcher) Dispatch ¶
func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destination) (*transport.Link, error)
Dispatch implements routing.Dispatcher.
func (*DefaultDispatcher) DispatchLink ¶
func (d *DefaultDispatcher) DispatchLink(ctx context.Context, destination net.Destination, outbound *transport.Link) error
DispatchLink implements routing.Dispatcher.
func (*DefaultDispatcher) Init ¶
func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, router routing.Router, pm policy.Manager, sm stats.Manager, dns dns.Client) error
Init initializes DefaultDispatcher.
func (*DefaultDispatcher) Start ¶
func (*DefaultDispatcher) Start() error
Start implements common.Runnable.
func (*DefaultDispatcher) Type ¶
func (*DefaultDispatcher) Type() interface{}
Type implements common.HasType.
type InboundInfo ¶ added in v0.0.5
type Limiter ¶ added in v0.0.5
func NewLimiter ¶ added in v0.0.5
func NewLimiter() *Limiter
func (*Limiter) AddInboundLimiter ¶ added in v0.0.5
func (*Limiter) AddUserSpeedLimit ¶ added in v1.0.0
func (*Limiter) CheckSpeedAndDeviceLimit ¶ added in v0.0.6
func (*Limiter) ClearOnlineUserIpAndSpeedLimiter ¶ added in v0.0.6
func (*Limiter) DeleteInboundLimiter ¶ added in v0.0.5
func (*Limiter) ListOnlineUserIp ¶ added in v0.0.6
func (l *Limiter) ListOnlineUserIp(tag string) ([]UserIpList, error)
func (*Limiter) RateWriter ¶ added in v0.0.5
func (*Limiter) UpdateInboundLimiter ¶ added in v0.0.5
func (*Limiter) UpdateOnlineUserIP ¶ added in v0.0.5
func (l *Limiter) UpdateOnlineUserIP(tag string, userIpList []UserIpList)
type Rule ¶ added in v0.0.5
func (*Rule) UpdateRule ¶ added in v0.0.5
func (r *Rule) UpdateRule(tag string, newRuleList *panel.DetectRule) error
type SessionConfig ¶
type SessionConfig struct {
// contains filtered or unexported fields
}
func (*SessionConfig) Descriptor
deprecated
func (*SessionConfig) Descriptor() ([]byte, []int)
Deprecated: Use SessionConfig.ProtoReflect.Descriptor instead.
func (*SessionConfig) ProtoMessage ¶
func (*SessionConfig) ProtoMessage()
func (*SessionConfig) ProtoReflect ¶
func (x *SessionConfig) ProtoReflect() protoreflect.Message
func (*SessionConfig) Reset ¶
func (x *SessionConfig) Reset()
func (*SessionConfig) String ¶
func (x *SessionConfig) String() string
type SizeStatWriter ¶
func (*SizeStatWriter) Close ¶
func (w *SizeStatWriter) Close() error
func (*SizeStatWriter) Interrupt ¶
func (w *SizeStatWriter) Interrupt()
func (*SizeStatWriter) WriteMultiBuffer ¶
func (w *SizeStatWriter) WriteMultiBuffer(mb buf.MultiBuffer) error
type SniffResult ¶
func CompositeResult ¶
func CompositeResult(domainResult SniffResult, protocolResult SniffResult) SniffResult
type Sniffer ¶
type Sniffer struct {
// contains filtered or unexported fields
}
func NewSniffer ¶
func (*Sniffer) SniffMetadata ¶
func (s *Sniffer) SniffMetadata(c context.Context) (SniffResult, error)
type SnifferIsProtoSubsetOf ¶
type SnifferResultComposite ¶
type SnifferResultComposite interface {
ProtocolForDomainResult() string
}
type UserIpList ¶ added in v0.0.6
type UserLimitInfo ¶ added in v1.0.0
Click to show internal directories.
Click to hide internal directories.