func init() { netlib.RegisterFactory(int(protocol.CoreBuiltinPacketID_PACKET_SS_AUTH), netlib.PacketFactoryWrapper(func() interface{} { return &protocol.SSPacketAuth{} })) netlib.RegisteSessionFilterCreator(AuthenticationFilterName, func() netlib.SessionFilter { return &AuthenticationFilter{} }) }
func init() { netlib.RegisterFactory(int(protocol.CoreBuiltinPacketID_PACKET_SS_KEEPALIVE), netlib.PacketFactoryWrapper(func() interface{} { return &protocol.SSPacketKeepAlive{} })) netlib.RegisteSessionFilterCreator(KeepAliveFilterName, func() netlib.SessionFilter { return &KeepAliveFilter{} }) netlib.RegisterHandler(int(protocol.CoreBuiltinPacketID_PACKET_SS_KEEPALIVE), netlib.HandlerWrapper(func(s *netlib.Session, data interface{}) error { if p, ok := data.(*protocol.SSPacketKeepAlive); ok { if p.GetFlag() == 0 { p.Flag = proto.Int32(1) s.Send(p) } } return nil })) }
func init() { netlib.RegisteSessionFilterCreator(BlackListFilterName, func() netlib.SessionFilter { return &BlackListFilter{blacklist: list.New()} }) }
func init() { netlib.RegisteSessionFilterCreator(ConnectionThrottleFilterName, func() netlib.SessionFilter { return &ConnectionThrottleFilter{clients: container.NewSynchronizedMap(), AllowedInterval: DefaultAllowedInterval} }) }
func init() { netlib.RegisteSessionFilterCreator(SessionFilterTraceName, func() netlib.SessionFilter { tNow := time.Now() return &SessionFilterTrace{dumpTime: tNow, recvTime: tNow, sendTime: tNow} }) }
func init() { netlib.RegisteSessionFilterCreator(SessionFilterName, func() netlib.SessionFilter { return &SessionFilterTrace{} }) }