SYMBOL INDEX (1877 symbols across 165 files) FILE: app/cmd/client.go function init (line 51) | func init() { function initClientFlags (line 56) | func initClientFlags() { type clientConfig (line 60) | type clientConfig struct method fillServerAddr (line 182) | func (c *clientConfig) fillServerAddr(hyConfig *client.Config) error { method fillConnFactory (line 208) | func (c *clientConfig) fillConnFactory(hyConfig *client.Config) error { method fillAuth (line 262) | func (c *clientConfig) fillAuth(hyConfig *client.Config) error { method fillTLSConfig (line 267) | func (c *clientConfig) fillTLSConfig(hyConfig *client.Config) error { method fillQUICConfig (line 300) | func (c *clientConfig) fillQUICConfig(hyConfig *client.Config) error { method fillBandwidthConfig (line 313) | func (c *clientConfig) fillBandwidthConfig(hyConfig *client.Config) er... method fillFastOpen (line 331) | func (c *clientConfig) fillFastOpen(hyConfig *client.Config) error { method URI (line 346) | func (c *clientConfig) URI() string { method parseURI (line 387) | func (c *clientConfig) parseURI() bool { method Config (line 424) | func (c *clientConfig) Config() (*client.Config, error) { type clientConfigTransportUDP (line 80) | type clientConfigTransportUDP struct type clientConfigTransport (line 84) | type clientConfigTransport struct type clientConfigObfsSalamander (line 89) | type clientConfigObfsSalamander struct type clientConfigObfs (line 93) | type clientConfigObfs struct type clientConfigTLS (line 98) | type clientConfigTLS struct type clientConfigQUIC (line 105) | type clientConfigQUIC struct type clientConfigQUICSockopts (line 116) | type clientConfigQUICSockopts struct type clientConfigBandwidth (line 122) | type clientConfigBandwidth struct type socks5Config (line 127) | type socks5Config struct type httpConfig (line 134) | type httpConfig struct type tcpForwardingEntry (line 141) | type tcpForwardingEntry struct type udpForwardingEntry (line 146) | type udpForwardingEntry struct type tcpTProxyConfig (line 152) | type tcpTProxyConfig struct type udpTProxyConfig (line 156) | type udpTProxyConfig struct type tcpRedirectConfig (line 161) | type tcpRedirectConfig struct type tunConfig (line 165) | type tunConfig struct function runClient (line 444) | func runClient(cmd *cobra.Command, args []string) { type clientModeRunner (line 547) | type clientModeRunner struct method Add (line 557) | func (r *clientModeRunner) Add(name string, f func() error) { method Run (line 564) | func (r *clientModeRunner) Run() clientModeRunnerResult { type clientModeRunnerResult (line 551) | type clientModeRunnerResult struct function clientSOCKS5 (line 593) | func clientSOCKS5(config socks5Config, c client.Client) error { function clientHTTP (line 618) | func clientHTTP(config httpConfig, c client.Client) error { function clientTCPForwarding (line 646) | func clientTCPForwarding(entries []tcpForwardingEntry, c client.Client) ... function clientUDPForwarding (line 673) | func clientUDPForwarding(entries []udpForwardingEntry, c client.Client) ... function clientTCPTProxy (line 701) | func clientTCPTProxy(config tcpTProxyConfig, c client.Client) error { function clientUDPTProxy (line 717) | func clientUDPTProxy(config udpTProxyConfig, c client.Client) error { function clientTCPRedirect (line 734) | func clientTCPRedirect(config tcpRedirectConfig, c client.Client) error { function clientTUN (line 750) | func clientTUN(config tunConfig, c client.Client) error { function parseServerAddrString (line 838) | func parseServerAddrString(addrStr string) (host, port, hostPort string) { function isPortHoppingPort (line 848) | func isPortHoppingPort(port string) bool { function normalizeCertHash (line 854) | func normalizeCertHash(hash string) string { type adaptiveConnFactory (line 861) | type adaptiveConnFactory struct method New (line 866) | func (f *adaptiveConnFactory) New(addr net.Addr) (net.PacketConn, erro... function connectLog (line 878) | func connectLog(info *client.HandshakeInfo, count int) { type socks5Logger (line 885) | type socks5Logger struct method TCPRequest (line 887) | func (l *socks5Logger) TCPRequest(addr net.Addr, reqAddr string) { method TCPError (line 891) | func (l *socks5Logger) TCPError(addr net.Addr, reqAddr string, err err... method UDPRequest (line 899) | func (l *socks5Logger) UDPRequest(addr net.Addr) { method UDPError (line 903) | func (l *socks5Logger) UDPError(addr net.Addr, err error) { type httpLogger (line 911) | type httpLogger struct method ConnectRequest (line 913) | func (l *httpLogger) ConnectRequest(addr net.Addr, reqAddr string) { method ConnectError (line 917) | func (l *httpLogger) ConnectError(addr net.Addr, reqAddr string, err e... method HTTPRequest (line 925) | func (l *httpLogger) HTTPRequest(addr net.Addr, reqURL string) { method HTTPError (line 929) | func (l *httpLogger) HTTPError(addr net.Addr, reqURL string, err error) { type tcpLogger (line 937) | type tcpLogger struct method Connect (line 939) | func (l *tcpLogger) Connect(addr net.Addr) { method Error (line 943) | func (l *tcpLogger) Error(addr net.Addr, err error) { type udpLogger (line 951) | type udpLogger struct method Connect (line 953) | func (l *udpLogger) Connect(addr net.Addr) { method Error (line 957) | func (l *udpLogger) Error(addr net.Addr, err error) { type tcpTProxyLogger (line 965) | type tcpTProxyLogger struct method Connect (line 967) | func (l *tcpTProxyLogger) Connect(addr, reqAddr net.Addr) { method Error (line 971) | func (l *tcpTProxyLogger) Error(addr, reqAddr net.Addr, err error) { type udpTProxyLogger (line 979) | type udpTProxyLogger struct method Connect (line 981) | func (l *udpTProxyLogger) Connect(addr, reqAddr net.Addr) { method Error (line 985) | func (l *udpTProxyLogger) Error(addr, reqAddr net.Addr, err error) { type tcpRedirectLogger (line 993) | type tcpRedirectLogger struct method Connect (line 995) | func (l *tcpRedirectLogger) Connect(addr, reqAddr net.Addr) { method Error (line 999) | func (l *tcpRedirectLogger) Error(addr, reqAddr net.Addr, err error) { type tunLogger (line 1007) | type tunLogger struct method TCPRequest (line 1009) | func (l *tunLogger) TCPRequest(addr, reqAddr string) { method TCPError (line 1013) | func (l *tunLogger) TCPError(addr, reqAddr string, err error) { method UDPRequest (line 1021) | func (l *tunLogger) UDPRequest(addr string) { method UDPError (line 1025) | func (l *tunLogger) UDPError(addr string, err error) { FILE: app/cmd/client_test.go function TestClientConfig (line 13) | func TestClientConfig(t *testing.T) { function TestClientConfigURI (line 122) | func TestClientConfigURI(t *testing.T) { function stringRef (line 198) | func stringRef(s string) *string { function uint32Ref (line 202) | func uint32Ref(i uint32) *uint32 { FILE: app/cmd/errors.go type configError (line 7) | type configError struct method Error (line 12) | func (e configError) Error() string { method Unwrap (line 16) | func (e configError) Unwrap() error { FILE: app/cmd/ping.go function init (line 21) | func init() { function runPing (line 25) | func runPing(cmd *cobra.Command, args []string) { FILE: app/cmd/root.go constant appLogo (line 16) | appLogo = ` constant appDesc (line 21) | appDesc = "a powerful, lightning fast and censorship resistant proxy" constant appAuthors (line 22) | appAuthors = "Aperture Internet Laboratory " constant appLogLevelEnv (line 24) | appLogLevelEnv = "HYSTERIA_LOG_LEVEL" constant appLogFormatEnv (line 25) | appLogFormatEnv = "HYSTERIA_LOG_FORMAT" constant appDisableUpdateCheckEnv (line 26) | appDisableUpdateCheckEnv = "HYSTERIA_DISABLE_UPDATE_CHECK" constant appACMEDirEnv (line 27) | appACMEDirEnv = "HYSTERIA_ACME_DIR" function Execute (line 97) | func Execute() { function init (line 104) | func init() { function initFlags (line 111) | func initFlags() { function initConfig (line 118) | func initConfig() { function initLogger (line 131) | func initLogger() { function envOrDefaultString (line 159) | func envOrDefaultString(key, def string) string { function envOrDefaultBool (line 166) | func envOrDefaultBool(key string, def bool) bool { FILE: app/cmd/server.go constant defaultListenAddr (line 44) | defaultListenAddr = ":443" function init (line 53) | func init() { type serverConfig (line 57) | type serverConfig struct method fillConn (line 268) | func (c *serverConfig) fillConn(hyConfig *server.Config) error { method fillTLSConfig (line 297) | func (c *serverConfig) fillTLSConfig(hyConfig *server.Config) error { method fillQUICConfig (line 517) | func (c *serverConfig) fillQUICConfig(hyConfig *server.Config) error { method fillRequestHook (line 581) | func (c *serverConfig) fillRequestHook(hyConfig *server.Config) error { method fillOutboundConfig (line 604) | func (c *serverConfig) fillOutboundConfig(hyConfig *server.Config) err... method fillBandwidthConfig (line 717) | func (c *serverConfig) fillBandwidthConfig(hyConfig *server.Config) er... method fillIgnoreClientBandwidth (line 734) | func (c *serverConfig) fillIgnoreClientBandwidth(hyConfig *server.Conf... method fillDisableUDP (line 739) | func (c *serverConfig) fillDisableUDP(hyConfig *server.Config) error { method fillUDPIdleTimeout (line 744) | func (c *serverConfig) fillUDPIdleTimeout(hyConfig *server.Config) err... method fillAuthenticator (line 749) | func (c *serverConfig) fillAuthenticator(hyConfig *server.Config) error { method fillEventLogger (line 791) | func (c *serverConfig) fillEventLogger(hyConfig *server.Config) error { method fillTrafficLogger (line 796) | func (c *serverConfig) fillTrafficLogger(hyConfig *server.Config) error { method fillMasqHandler (line 824) | func (c *serverConfig) fillMasqHandler(hyConfig *server.Config) error { method Config (line 906) | func (c *serverConfig) Config() (*server.Config, error) { type v2boardConfig (line 78) | type v2boardConfig struct type serverConfigObfsSalamander (line 86) | type serverConfigObfsSalamander struct type serverConfigObfs (line 90) | type serverConfigObfs struct type serverConfigTLS (line 95) | type serverConfigTLS struct type serverConfigACME (line 101) | type serverConfigACME struct type serverConfigACMEHTTP (line 123) | type serverConfigACMEHTTP struct type serverConfigACMETLS (line 127) | type serverConfigACMETLS struct type serverConfigACMEDNS (line 131) | type serverConfigACMEDNS struct type serverConfigQUIC (line 136) | type serverConfigQUIC struct type serverConfigBandwidth (line 146) | type serverConfigBandwidth struct type serverConfigAuthHTTP (line 151) | type serverConfigAuthHTTP struct type serverConfigAuth (line 156) | type serverConfigAuth struct type serverConfigResolverTCP (line 164) | type serverConfigResolverTCP struct type serverConfigResolverUDP (line 169) | type serverConfigResolverUDP struct type serverConfigResolverTLS (line 174) | type serverConfigResolverTLS struct type serverConfigResolverHTTPS (line 181) | type serverConfigResolverHTTPS struct type serverConfigResolver (line 188) | type serverConfigResolver struct type serverConfigSniff (line 196) | type serverConfigSniff struct type serverConfigACL (line 204) | type serverConfigACL struct type serverConfigOutboundDirect (line 212) | type serverConfigOutboundDirect struct type serverConfigOutboundSOCKS5 (line 219) | type serverConfigOutboundSOCKS5 struct type serverConfigOutboundHTTP (line 225) | type serverConfigOutboundHTTP struct type serverConfigOutboundEntry (line 230) | type serverConfigOutboundEntry struct type serverConfigTrafficStats (line 238) | type serverConfigTrafficStats struct type serverConfigMasqueradeFile (line 243) | type serverConfigMasqueradeFile struct type serverConfigMasqueradeProxy (line 247) | type serverConfigMasqueradeProxy struct type serverConfigMasqueradeString (line 252) | type serverConfigMasqueradeString struct type serverConfigMasquerade (line 258) | type serverConfigMasquerade struct function genZeroSSLEAB (line 475) | func genZeroSSLEAB(email string) (*acme.EAB, error) { function serverConfigOutboundDirectToOutbound (line 530) | func serverConfigOutboundDirectToOutbound(c serverConfigOutboundDirect) ... function serverConfigOutboundSOCKS5ToOutbound (line 567) | func serverConfigOutboundSOCKS5ToOutbound(c serverConfigOutboundSOCKS5) ... function serverConfigOutboundHTTPToOutbound (line 574) | func serverConfigOutboundHTTPToOutbound(c serverConfigOutboundHTTP) (out... type ResponseNodeInfo (line 932) | type ResponseNodeInfo struct function runServer (line 945) | func runServer(cmd *cobra.Command, args []string) { function runTrafficStatsServer (line 1021) | func runTrafficStatsServer(listen string, handler http.Handler) { function runMasqTCPServer (line 1028) | func runMasqTCPServer(s *masq.MasqTCPServer, httpAddr, httpsAddr string) { function geoDownloadFunc (line 1048) | func geoDownloadFunc(filename, url string) { function geoDownloadErrFunc (line 1052) | func geoDownloadErrFunc(err error) { type serverLogger (line 1058) | type serverLogger struct method Connect (line 1060) | func (l *serverLogger) Connect(addr net.Addr, id string, tx uint64) { method Disconnect (line 1064) | func (l *serverLogger) Disconnect(addr net.Addr, id string, err error) { method TCPRequest (line 1068) | func (l *serverLogger) TCPRequest(addr net.Addr, id, reqAddr string) { method TCPError (line 1072) | func (l *serverLogger) TCPError(addr net.Addr, id, reqAddr string, err... method UDPRequest (line 1080) | func (l *serverLogger) UDPRequest(addr net.Addr, id string, sessionID ... method UDPError (line 1084) | func (l *serverLogger) UDPError(addr net.Addr, id string, sessionID ui... type masqHandlerLogWrapper (line 1092) | type masqHandlerLogWrapper struct method ServeHTTP (line 1097) | func (m *masqHandlerLogWrapper) ServeHTTP(w http.ResponseWriter, r *ht... function extractPortFromAddr (line 1107) | func extractPortFromAddr(addr string) int { FILE: app/cmd/server_test.go function TestServerConfig (line 13) | func TestServerConfig(t *testing.T) { FILE: app/cmd/share.go function init (line 25) | func init() { function initShareFlags (line 30) | func initShareFlags() { function runShare (line 35) | func runShare(cmd *cobra.Command, args []string) { FILE: app/cmd/speedtest.go function init (line 38) | func init() { function initSpeedtestFlags (line 43) | func initSpeedtestFlags() { function runSpeedtest (line 50) | func runSpeedtest(cmd *cobra.Command, args []string) { function runDownloadTest (line 97) | func runDownloadTest(c client.Client) { function runUploadTest (line 130) | func runUploadTest(c client.Client) { function formatSpeed (line 163) | func formatSpeed(bytes uint32, duration time.Duration, useBytes bool) st... FILE: app/cmd/update.go constant updateCheckInterval (line 14) | updateCheckInterval = 24 * time.Hour function init (line 25) | func init() { function runCheckUpdate (line 29) | func runCheckUpdate(cmd *cobra.Command, args []string) { function runCheckUpdateServer (line 54) | func runCheckUpdateServer() { function runCheckUpdateClient (line 60) | func runCheckUpdateClient(hyClient client.Client) { function checkUpdateRoutine (line 65) | func checkUpdateRoutine(checker *utils.UpdateChecker) { FILE: app/cmd/version.go function init (line 17) | func init() { function runVersion (line 21) | func runVersion(cmd *cobra.Command, args []string) { FILE: app/internal/forwarding/tcp.go type TCPTunnel (line 10) | type TCPTunnel struct method Serve (line 21) | func (t *TCPTunnel) Serve(listener net.Listener) error { method handle (line 31) | func (t *TCPTunnel) handle(conn net.Conn) { type TCPEventLogger (line 16) | type TCPEventLogger interface FILE: app/internal/forwarding/tcp_test.go function TestTCPTunnel (line 13) | func TestTCPTunnel(t *testing.T) { FILE: app/internal/forwarding/udp.go constant udpBufferSize (line 13) | udpBufferSize = 4096 constant defaultTimeout (line 15) | defaultTimeout = 60 * time.Second constant idleCleanupInterval (line 16) | idleCleanupInterval = 1 * time.Second type atomicTime (line 19) | type atomicTime struct method Set (line 29) | func (t *atomicTime) Set(new time.Time) { method Get (line 33) | func (t *atomicTime) Get() time.Time { function newAtomicTime (line 23) | func newAtomicTime(t time.Time) *atomicTime { type sessionEntry (line 37) | type sessionEntry struct method Feed (line 43) | func (e *sessionEntry) Feed(data []byte, addr string) error { method ReceiveLoop (line 48) | func (e *sessionEntry) ReceiveLoop(pc net.PacketConn, addr net.Addr) e... type UDPTunnel (line 62) | type UDPTunnel struct method Serve (line 77) | func (t *UDPTunnel) Serve(pc net.PacketConn) error { method idleCleanupLoop (line 95) | func (t *UDPTunnel) idleCleanupLoop(stopCh <-chan struct{}) { method cleanup (line 108) | func (t *UDPTunnel) cleanup(idleOnly bool) { method feed (line 129) | func (t *UDPTunnel) feed(pc net.PacketConn, addr net.Addr, data []byte) { type UDPEventLogger (line 72) | type UDPEventLogger interface FILE: app/internal/forwarding/udp_test.go function TestUDPTunnel (line 13) | func TestUDPTunnel(t *testing.T) { FILE: app/internal/http/server.go constant httpClientTimeout (line 19) | httpClientTimeout = 10 * time.Second type Server (line 23) | type Server struct method Serve (line 39) | func (s *Server) Serve(listener net.Listener) error { method dispatch (line 49) | func (s *Server) dispatch(conn net.Conn) { method handleConnect (line 137) | func (s *Server) handleConnect(conn net.Conn, req *http.Request) { method handleRequest (line 181) | func (s *Server) handleRequest(conn net.Conn, req *http.Request) bool { method initHTTPClient (line 231) | func (s *Server) initHTTPClient() { type EventLogger (line 32) | type EventLogger interface type cachedConn (line 120) | type cachedConn struct method Read (line 125) | func (c *cachedConn) Read(b []byte) (int, error) { function removeHopByHopHeaders (line 246) | func removeHopByHopHeaders(header http.Header) { function removeExtraHTTPHostPort (line 259) | func removeExtraHTTPHostPort(req *http.Request) { function sendSimpleResponse (line 272) | func sendSimpleResponse(conn net.Conn, req *http.Request, statusCode int... function sendProxyAuthRequired (line 290) | func sendProxyAuthRequired(conn net.Conn, req *http.Request, realm strin... FILE: app/internal/http/server_test.go constant testCertFile (line 17) | testCertFile = "test.crt" constant testKeyFile (line 18) | testKeyFile = "test.key" type mockHyClient (line 21) | type mockHyClient struct method TCP (line 23) | func (c *mockHyClient) TCP(addr string) (net.Conn, error) { method UDP (line 27) | func (c *mockHyClient) UDP() (client.HyUDPConn, error) { method Close (line 31) | func (c *mockHyClient) Close() error { function TestServer (line 35) | func TestServer(t *testing.T) { FILE: app/internal/http/server_test.py function test_http (line 9) | def test_http(it): function test_https (line 15) | def test_https(it): FILE: app/internal/proxymux/internal/mocks/mock_Conn.go type MockConn (line 14) | type MockConn struct method EXPECT (line 22) | func (_m *MockConn) EXPECT() *MockConn_Expecter { method Close (line 27) | func (_m *MockConn) Close() error { method LocalAddr (line 72) | func (_m *MockConn) LocalAddr() net.Addr { method Read (line 119) | func (_m *MockConn) Read(b []byte) (int, error) { method RemoteAddr (line 175) | func (_m *MockConn) RemoteAddr() net.Addr { method SetDeadline (line 222) | func (_m *MockConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 268) | func (_m *MockConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 314) | func (_m *MockConn) SetWriteDeadline(t time.Time) error { method Write (line 360) | func (_m *MockConn) Write(b []byte) (int, error) { type MockConn_Expecter (line 18) | type MockConn_Expecter struct method Close (line 50) | func (_e *MockConn_Expecter) Close() *MockConn_Close_Call { method LocalAddr (line 97) | func (_e *MockConn_Expecter) LocalAddr() *MockConn_LocalAddr_Call { method Read (line 153) | func (_e *MockConn_Expecter) Read(b interface{}) *MockConn_Read_Call { method RemoteAddr (line 200) | func (_e *MockConn_Expecter) RemoteAddr() *MockConn_RemoteAddr_Call { method SetDeadline (line 246) | func (_e *MockConn_Expecter) SetDeadline(t interface{}) *MockConn_SetD... method SetReadDeadline (line 292) | func (_e *MockConn_Expecter) SetReadDeadline(t interface{}) *MockConn_... method SetWriteDeadline (line 338) | func (_e *MockConn_Expecter) SetWriteDeadline(t interface{}) *MockConn... method Write (line 394) | func (_e *MockConn_Expecter) Write(b interface{}) *MockConn_Write_Call { type MockConn_Close_Call (line 45) | type MockConn_Close_Call struct method Run (line 54) | func (_c *MockConn_Close_Call) Run(run func()) *MockConn_Close_Call { method Return (line 61) | func (_c *MockConn_Close_Call) Return(_a0 error) *MockConn_Close_Call { method RunAndReturn (line 66) | func (_c *MockConn_Close_Call) RunAndReturn(run func() error) *MockCon... type MockConn_LocalAddr_Call (line 92) | type MockConn_LocalAddr_Call struct method Run (line 101) | func (_c *MockConn_LocalAddr_Call) Run(run func()) *MockConn_LocalAddr... method Return (line 108) | func (_c *MockConn_LocalAddr_Call) Return(_a0 net.Addr) *MockConn_Loca... method RunAndReturn (line 113) | func (_c *MockConn_LocalAddr_Call) RunAndReturn(run func() net.Addr) *... type MockConn_Read_Call (line 147) | type MockConn_Read_Call struct method Run (line 157) | func (_c *MockConn_Read_Call) Run(run func(b []byte)) *MockConn_Read_C... method Return (line 164) | func (_c *MockConn_Read_Call) Return(n int, err error) *MockConn_Read_... method RunAndReturn (line 169) | func (_c *MockConn_Read_Call) RunAndReturn(run func([]byte) (int, erro... type MockConn_RemoteAddr_Call (line 195) | type MockConn_RemoteAddr_Call struct method Run (line 204) | func (_c *MockConn_RemoteAddr_Call) Run(run func()) *MockConn_RemoteAd... method Return (line 211) | func (_c *MockConn_RemoteAddr_Call) Return(_a0 net.Addr) *MockConn_Rem... method RunAndReturn (line 216) | func (_c *MockConn_RemoteAddr_Call) RunAndReturn(run func() net.Addr) ... type MockConn_SetDeadline_Call (line 240) | type MockConn_SetDeadline_Call struct method Run (line 250) | func (_c *MockConn_SetDeadline_Call) Run(run func(t time.Time)) *MockC... method Return (line 257) | func (_c *MockConn_SetDeadline_Call) Return(_a0 error) *MockConn_SetDe... method RunAndReturn (line 262) | func (_c *MockConn_SetDeadline_Call) RunAndReturn(run func(time.Time) ... type MockConn_SetReadDeadline_Call (line 286) | type MockConn_SetReadDeadline_Call struct method Run (line 296) | func (_c *MockConn_SetReadDeadline_Call) Run(run func(t time.Time)) *M... method Return (line 303) | func (_c *MockConn_SetReadDeadline_Call) Return(_a0 error) *MockConn_S... method RunAndReturn (line 308) | func (_c *MockConn_SetReadDeadline_Call) RunAndReturn(run func(time.Ti... type MockConn_SetWriteDeadline_Call (line 332) | type MockConn_SetWriteDeadline_Call struct method Run (line 342) | func (_c *MockConn_SetWriteDeadline_Call) Run(run func(t time.Time)) *... method Return (line 349) | func (_c *MockConn_SetWriteDeadline_Call) Return(_a0 error) *MockConn_... method RunAndReturn (line 354) | func (_c *MockConn_SetWriteDeadline_Call) RunAndReturn(run func(time.T... type MockConn_Write_Call (line 388) | type MockConn_Write_Call struct method Run (line 398) | func (_c *MockConn_Write_Call) Run(run func(b []byte)) *MockConn_Write... method Return (line 405) | func (_c *MockConn_Write_Call) Return(n int, err error) *MockConn_Writ... method RunAndReturn (line 410) | func (_c *MockConn_Write_Call) RunAndReturn(run func([]byte) (int, err... function NewMockConn (line 417) | func NewMockConn(t interface { FILE: app/internal/proxymux/internal/mocks/mock_Listener.go type MockListener (line 12) | type MockListener struct method EXPECT (line 20) | func (_m *MockListener) EXPECT() *MockListener_Expecter { method Accept (line 25) | func (_m *MockListener) Accept() (net.Conn, error) { method Addr (line 82) | func (_m *MockListener) Addr() net.Addr { method Close (line 129) | func (_m *MockListener) Close() error { type MockListener_Expecter (line 16) | type MockListener_Expecter struct method Accept (line 60) | func (_e *MockListener_Expecter) Accept() *MockListener_Accept_Call { method Addr (line 107) | func (_e *MockListener_Expecter) Addr() *MockListener_Addr_Call { method Close (line 152) | func (_e *MockListener_Expecter) Close() *MockListener_Close_Call { type MockListener_Accept_Call (line 55) | type MockListener_Accept_Call struct method Run (line 64) | func (_c *MockListener_Accept_Call) Run(run func()) *MockListener_Acce... method Return (line 71) | func (_c *MockListener_Accept_Call) Return(_a0 net.Conn, _a1 error) *M... method RunAndReturn (line 76) | func (_c *MockListener_Accept_Call) RunAndReturn(run func() (net.Conn,... type MockListener_Addr_Call (line 102) | type MockListener_Addr_Call struct method Run (line 111) | func (_c *MockListener_Addr_Call) Run(run func()) *MockListener_Addr_C... method Return (line 118) | func (_c *MockListener_Addr_Call) Return(_a0 net.Addr) *MockListener_A... method RunAndReturn (line 123) | func (_c *MockListener_Addr_Call) RunAndReturn(run func() net.Addr) *M... type MockListener_Close_Call (line 147) | type MockListener_Close_Call struct method Run (line 156) | func (_c *MockListener_Close_Call) Run(run func()) *MockListener_Close... method Return (line 163) | func (_c *MockListener_Close_Call) Return(_a0 error) *MockListener_Clo... method RunAndReturn (line 168) | func (_c *MockListener_Close_Call) RunAndReturn(run func() error) *Moc... function NewMockListener (line 175) | func NewMockListener(t interface { FILE: app/internal/proxymux/manager.go type muxManager (line 10) | type muxManager struct method GetOrCreate (line 23) | func (m *muxManager) GetOrCreate(address string) (*muxListener, error) { method canonicalizeAddrPort (line 50) | func (m *muxManager) canonicalizeAddrPort(address string) (string, err... function init (line 17) | func init() { function ListenHTTP (line 58) | func ListenHTTP(address string) (net.Listener, error) { function ListenSOCKS (line 66) | func ListenSOCKS(address string) (net.Listener, error) { FILE: app/internal/proxymux/manager_test.go function TestListenSOCKS (line 11) | func TestListenSOCKS(t *testing.T) { function TestListenHTTP (line 40) | func TestListenHTTP(t *testing.T) { function TestRelease (line 69) | func TestRelease(t *testing.T) { method testAddressExists (line 104) | func (m *muxManager) testAddressExists(address string) bool { FILE: app/internal/proxymux/mux.go function newMuxListener (line 11) | func newMuxListener(listener net.Listener, deleteFunc func()) *muxListen... type muxListener (line 23) | type muxListener struct method acceptLoop (line 37) | func (l *muxListener) acceptLoop() { method mainLoop (line 56) | func (l *muxListener) mainLoop() { method dispatch (line 116) | func (l *muxListener) dispatch(conn net.Conn) { method checkIdle (line 145) | func (l *muxListener) checkIdle() bool { method getAndClearAcceptError (line 152) | func (l *muxListener) getAndClearAcceptError() error { method ListenHTTP (line 164) | func (l *muxListener) ListenHTTP() (net.Listener, error) { method ListenSOCKS (line 197) | func (l *muxListener) ListenSOCKS() (net.Listener, error) { function newSubListener (line 230) | func newSubListener(acceptErrorFunc func() error, addrFunc func() net.Ad... type subListener (line 239) | type subListener struct method Accept (line 251) | func (l *subListener) Accept() (net.Conn, error) { method Addr (line 268) | func (l *subListener) Addr() net.Addr { method Close (line 274) | func (l *subListener) Close() error { type connWithOneByte (line 286) | type connWithOneByte struct method Read (line 293) | func (c *connWithOneByte) Read(bs []byte) (int, error) { type OpErr (line 305) | type OpErr struct method Error (line 312) | func (m OpErr) Error() string { method Unwrap (line 316) | func (m OpErr) Unwrap() error { FILE: app/internal/proxymux/mux_test.go function testMockListener (line 18) | func testMockListener(t *testing.T, connChan <-chan net.Conn) net.Listen... function testMockConn (line 43) | func testMockConn(t *testing.T, b []byte) net.Conn { function TestMuxHTTP (line 60) | func TestMuxHTTP(t *testing.T) { function TestMuxSOCKS (line 108) | func TestMuxSOCKS(t *testing.T) { FILE: app/internal/redirect/getsockopt_linux.go function getsockopt (line 11) | func getsockopt(s, level, name uintptr, val unsafe.Pointer, vallen *uint... FILE: app/internal/redirect/getsockopt_linux_386.go constant sysGetsockopt (line 9) | sysGetsockopt = 15 function syscall_socketcall (line 15) | func syscall_socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int... function getsockopt (line 17) | func getsockopt(s, level, name uintptr, val unsafe.Pointer, vallen *uint... FILE: app/internal/redirect/tcp_linux.go constant soOriginalDst (line 15) | soOriginalDst = 80 constant soOriginalDstV6 (line 16) | soOriginalDstV6 = 80 type TCPRedirect (line 19) | type TCPRedirect struct method ListenAndServe (line 29) | func (r *TCPRedirect) ListenAndServe(laddr *net.TCPAddr) error { method handle (line 44) | func (r *TCPRedirect) handle(conn *net.TCPConn) { type TCPEventLogger (line 24) | type TCPEventLogger interface type sockAddr (line 82) | type sockAddr struct function getOriginalDst (line 88) | func getOriginalDst(fd uintptr) (*sockAddr, error) { function getDstAddr (line 102) | func getDstAddr(conn *net.TCPConn) (*net.TCPAddr, error) { FILE: app/internal/redirect/tcp_others.go type TCPRedirect (line 12) | type TCPRedirect struct method ListenAndServe (line 22) | func (r *TCPRedirect) ListenAndServe(laddr *net.TCPAddr) error { type TCPEventLogger (line 17) | type TCPEventLogger interface FILE: app/internal/sockopts/fd_control_unix_socket_test.py function serve (line 8) | def serve(path): function fd_to_socket (line 57) | def fd_to_socket(fd): FILE: app/internal/sockopts/sockopts.go type SocketOptions (line 8) | type SocketOptions struct method CheckSupported (line 21) | func (o *SocketOptions) CheckSupported() (err error) { method ListenUDP (line 42) | func (o *SocketOptions) ListenUDP() (uconn net.PacketConn, err error) { method applyToUDPConn (line 56) | func (o *SocketOptions) applyToUDPConn(c *net.UDPConn) error { type UnsupportedError (line 34) | type UnsupportedError struct method Error (line 38) | func (e *UnsupportedError) Error() string { FILE: app/internal/sockopts/sockopts_linux.go constant fdControlUnixTimeout (line 15) | fdControlUnixTimeout = 3 * time.Second function init (line 18) | func init() { function controlUDPConn (line 24) | func controlUDPConn(c *net.UDPConn, cb func(fd int) error) (err error) { function bindInterfaceImpl (line 42) | func bindInterfaceImpl(c *net.UDPConn, device string) error { function firewallMarkImpl (line 48) | func firewallMarkImpl(c *net.UDPConn, fwmark uint32) error { function fdControlUnixSocketImpl (line 54) | func fdControlUnixSocketImpl(c *net.UDPConn, path string) error { function castAssignInteger (line 94) | func castAssignInteger[F, T constraints.Integer](from F, to *T) { FILE: app/internal/sockopts/sockopts_linux_test.go function Test_fdControlUnixSocketImpl (line 16) | func Test_fdControlUnixSocketImpl(t *testing.T) { FILE: app/internal/socks5/server.go constant udpBufferSize (line 13) | udpBufferSize = 4096 type Server (line 16) | type Server struct method Serve (line 30) | func (s *Server) Serve(listener net.Listener) error { method dispatch (line 40) | func (s *Server) dispatch(conn net.Conn) { method negotiate (line 68) | func (s *Server) negotiate(conn net.Conn) (bool, error) { method handleTCP (line 121) | func (s *Server) handleTCP(conn net.Conn, req *socks5.Request) { method handleUDP (line 160) | func (s *Server) handleUDP(conn net.Conn, req *socks5.Request) { method udpServer (line 223) | func (s *Server) udpServer(udpConn *net.UDPConn, hyUDP client.HyUDPCon... type EventLogger (line 23) | type EventLogger interface function sendSimpleReply (line 278) | func sendSimpleReply(conn net.Conn, rep byte) error { function sendUDPReply (line 285) | func sendUDPReply(conn net.Conn, addr *net.UDPAddr) error { FILE: app/internal/socks5/server_test.go function TestServer (line 14) | func TestServer(t *testing.T) { FILE: app/internal/socks5/server_test.py function test_tcp (line 9) | def test_tcp(size, count, it, domain=False): function test_udp (line 28) | def test_udp(size, count, it, domain=False): FILE: app/internal/tproxy/tcp_linux.go type TCPTProxy (line 11) | type TCPTProxy struct method ListenAndServe (line 21) | func (r *TCPTProxy) ListenAndServe(laddr *net.TCPAddr) error { method handle (line 36) | func (r *TCPTProxy) handle(conn net.Conn) { type TCPEventLogger (line 16) | type TCPEventLogger interface FILE: app/internal/tproxy/tcp_others.go type TCPTProxy (line 12) | type TCPTProxy struct method ListenAndServe (line 22) | func (r *TCPTProxy) ListenAndServe(laddr *net.TCPAddr) error { type TCPEventLogger (line 17) | type TCPEventLogger interface FILE: app/internal/tproxy/udp_linux.go constant udpBufferSize (line 13) | udpBufferSize = 4096 constant defaultTimeout (line 14) | defaultTimeout = 60 * time.Second type UDPTProxy (line 17) | type UDPTProxy struct method ListenAndServe (line 28) | func (r *UDPTProxy) ListenAndServe(laddr *net.UDPAddr) error { method newPair (line 47) | func (r *UDPTProxy) newPair(srcAddr, dstAddr *net.UDPAddr, initPkt []b... method forwarding (line 94) | func (r *UDPTProxy) forwarding(conn *net.UDPConn, hyConn client.HyUDPC... method updateConnDeadline (line 134) | func (r *UDPTProxy) updateConnDeadline(conn *net.UDPConn) error { type UDPEventLogger (line 23) | type UDPEventLogger interface FILE: app/internal/tproxy/udp_others.go type UDPTProxy (line 13) | type UDPTProxy struct method ListenAndServe (line 24) | func (r *UDPTProxy) ListenAndServe(laddr *net.UDPAddr) error { type UDPEventLogger (line 19) | type UDPEventLogger interface FILE: app/internal/tun/log.go type singLogger (line 10) | type singLogger struct method Trace (line 23) | func (l *singLogger) Trace(args ...any) { method Debug (line 31) | func (l *singLogger) Debug(args ...any) { method Info (line 39) | func (l *singLogger) Info(args ...any) { method Warn (line 47) | func (l *singLogger) Warn(args ...any) { method Error (line 55) | func (l *singLogger) Error(args ...any) { method Fatal (line 63) | func (l *singLogger) Fatal(args ...any) { method Panic (line 71) | func (l *singLogger) Panic(args ...any) { function extractSingExceptions (line 15) | func extractSingExceptions(args []any) { FILE: app/internal/tun/server.go type Server (line 20) | type Server struct method Serve (line 51) | func (s *Server) Serve() error { type EventLogger (line 44) | type EventLogger interface type tunHandler (line 95) | type tunHandler struct method NewConnection (line 101) | func (t *tunHandler) NewConnection(ctx context.Context, conn net.Conn,... method NewPacketConnection (line 139) | func (t *tunHandler) NewPacketConnection(ctx context.Context, conn net... method NewError (line 208) | func (t *tunHandler) NewError(ctx context.Context, err error) { type interfaceFinder (line 212) | type interfaceFinder struct method InterfaceIndexByName (line 216) | func (f *interfaceFinder) InterfaceIndexByName(name string) (int, erro... method InterfaceNameByIndex (line 224) | func (f *interfaceFinder) InterfaceNameByIndex(index int) (string, err... FILE: app/internal/url/url.go type Error (line 27) | type Error struct method Unwrap (line 33) | func (e *Error) Unwrap() error { return e.Err } method Error (line 34) | func (e *Error) Error() string { return fmt.Sprintf("%s %q: %s", e.Op,... method Timeout (line 36) | func (e *Error) Timeout() bool { method Temporary (line 43) | func (e *Error) Temporary() bool { constant upperhex (line 50) | upperhex = "0123456789ABCDEF" function ishex (line 52) | func ishex(c byte) bool { function unhex (line 64) | func unhex(c byte) byte { type encoding (line 76) | type encoding constant encodePath (line 79) | encodePath encoding = 1 + iota constant encodePathSegment (line 80) | encodePathSegment constant encodeHost (line 81) | encodeHost constant encodeZone (line 82) | encodeZone constant encodeUserPassword (line 83) | encodeUserPassword constant encodeQueryComponent (line 84) | encodeQueryComponent constant encodeFragment (line 85) | encodeFragment type EscapeError (line 88) | type EscapeError method Error (line 90) | func (e EscapeError) Error() string { type InvalidHostError (line 94) | type InvalidHostError method Error (line 96) | func (e InvalidHostError) Error() string { function shouldEscape (line 105) | func shouldEscape(c byte, mode encoding) bool { function QueryUnescape (line 187) | func QueryUnescape(s string) (string, error) { function PathUnescape (line 198) | func PathUnescape(s string) (string, error) { function unescape (line 204) | func unescape(s string, mode encoding) (string, error) { function QueryEscape (line 279) | func QueryEscape(s string) string { function PathEscape (line 285) | func PathEscape(s string) string { function escape (line 289) | func escape(s string, mode encoding) string { type URL (line 366) | type URL struct method setPath (line 677) | func (u *URL) setPath(p string) error { method EscapedPath (line 701) | func (u *URL) EscapedPath() string { method setFragment (line 741) | func (u *URL) setFragment(f string) error { method EscapedFragment (line 764) | func (u *URL) EscapedFragment() string { method String (line 813) | func (u *URL) String() string { method Redacted (line 868) | func (u *URL) Redacted() string { method IsAbs (line 1063) | func (u *URL) IsAbs() bool { method Parse (line 1070) | func (u *URL) Parse(ref string) (*URL, error) { method ResolveReference (line 1084) | func (u *URL) ResolveReference(ref *URL) *URL { method Query (line 1119) | func (u *URL) Query() Values { method RequestURI (line 1126) | func (u *URL) RequestURI() string { method Hostname (line 1148) | func (u *URL) Hostname() string { method Port (line 1156) | func (u *URL) Port() string { method MarshalBinary (line 1182) | func (u *URL) MarshalBinary() (text []byte, err error) { method UnmarshalBinary (line 1186) | func (u *URL) UnmarshalBinary(text []byte) error { method JoinPath (line 1198) | func (u *URL) JoinPath(elem ...string) *URL { function User (line 382) | func User(username string) *Userinfo { function UserPassword (line 394) | func UserPassword(username, password string) *Userinfo { type Userinfo (line 402) | type Userinfo struct method Username (line 409) | func (u *Userinfo) Username() string { method Password (line 417) | func (u *Userinfo) Password() (string, bool) { method String (line 426) | func (u *Userinfo) String() string { function getScheme (line 440) | func getScheme(rawURL string) (scheme, path string, err error) { function Parse (line 470) | func Parse(rawURL string) (*URL, error) { function ParseRequestURI (line 491) | func ParseRequestURI(rawURL string) (*URL, error) { function parse (line 503) | func parse(rawURL string, viaRequest bool) (*URL, error) { function parseAuthority (line 583) | func parseAuthority(authority string) (user *Userinfo, host string, err ... function parseHost (line 620) | func parseHost(host string) (string, error) { function validEncoded (line 717) | func validEncoded(s string, mode encoding) bool { function validOptionalPort (line 776) | func validOptionalPort(port string) bool { type Values (line 884) | type Values method Get (line 890) | func (v Values) Get(key string) string { method Set (line 900) | func (v Values) Set(key, value string) { method Add (line 906) | func (v Values) Add(key, value string) { method Del (line 911) | func (v Values) Del(key string) { method Has (line 916) | func (v Values) Has(key string) bool { method Encode (line 970) | func (v Values) Encode() string { function ParseQuery (line 931) | func ParseQuery(query string) (Values, error) { function parseQuery (line 937) | func parseQuery(m Values, query string) (err error) { function resolvePath (line 997) | func resolvePath(base, ref string) string { function splitHostPort (line 1164) | func splitHostPort(hostPort string) (host, port string) { function validUserinfo (line 1228) | func validUserinfo(s string) bool { function stringContainsCTLByte (line 1251) | func stringContainsCTLByte(s string) bool { function JoinPath (line 1263) | func JoinPath(base string, elem ...string) (result string, err error) { FILE: app/internal/url/url_test.go function TestParse (line 8) | func TestParse(t *testing.T) { FILE: app/internal/utils/bpsconv.go constant Byte (line 11) | Byte = 1 constant Kilobyte (line 12) | Kilobyte = Byte * 1000 constant Megabyte (line 13) | Megabyte = Kilobyte * 1000 constant Gigabyte (line 14) | Gigabyte = Megabyte * 1000 constant Terabyte (line 15) | Terabyte = Gigabyte * 1000 function StringToBps (line 20) | func StringToBps(s string) (uint64, error) { function ConvBandwidth (line 59) | func ConvBandwidth(bw interface{}) (uint64, error) { FILE: app/internal/utils/bpsconv_test.go function TestStringToBps (line 5) | func TestStringToBps(t *testing.T) { FILE: app/internal/utils/certloader.go type LocalCertificateLoader (line 15) | type LocalCertificateLoader struct method InitializeCache (line 37) | func (l *LocalCertificateLoader) InitializeCache() error { method GetCertificate (line 50) | func (l *LocalCertificateLoader) GetCertificate(info *tls.ClientHelloI... method checkModTime (line 67) | func (l *LocalCertificateLoader) checkModTime() (certModTime, keyModTi... method makeCache (line 84) | func (l *LocalCertificateLoader) makeCache() (cache *localCertificateC... method getCertificateWithCache (line 109) | func (l *LocalCertificateLoader) getCertificateWithCache() (*tls.Certi... type SNIGuardFunc (line 24) | type SNIGuardFunc type localCertificateCache (line 31) | type localCertificateCache struct function getNameFromClientHello (line 159) | func getNameFromClientHello(hello *tls.ClientHelloInfo) string { function SNIGuardDNSSAN (line 184) | func SNIGuardDNSSAN(info *tls.ClientHelloInfo, cert *tls.Certificate) er... function SNIGuardStrict (line 191) | func SNIGuardStrict(info *tls.ClientHelloInfo, cert *tls.Certificate) er... FILE: app/internal/utils/certloader_test.go constant testListen (line 16) | testListen = "127.82.39.147:12947" constant testCAFile (line 17) | testCAFile = "./testcerts/ca" constant testCertFile (line 18) | testCertFile = "./testcerts/cert" constant testKeyFile (line 19) | testKeyFile = "./testcerts/key" function TestCertificateLoaderPathError (line 22) | func TestCertificateLoaderPathError(t *testing.T) { function TestCertificateLoaderFullChain (line 35) | func TestCertificateLoaderFullChain(t *testing.T) { function TestCertificateLoaderNoSAN (line 57) | func TestCertificateLoaderNoSAN(t *testing.T) { function TestCertificateLoaderReplaceCertificate (line 77) | func TestCertificateLoaderReplaceCertificate(t *testing.T) { function generateTestCertificate (line 103) | func generateTestCertificate(dnssan []string, certType string) error { function runTestTLSClient (line 123) | func runTestTLSClient(sni string) error { FILE: app/internal/utils/certloader_test_gencert.py function create_key (line 10) | def create_key(): function create_certificate (line 14) | def create_certificate(cert_type, subject, issuer, private_key, public_k... function main (line 58) | def main(): FILE: app/internal/utils/certloader_test_tlsclient.py function check_tls (line 7) | def check_tls(server, ca_cert, sni, alpn): function main (line 36) | def main(): FILE: app/internal/utils/geoloader.go constant geoipFilename (line 15) | geoipFilename = "geoip.dat" constant geoipURL (line 16) | geoipURL = "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-... constant geositeFilename (line 17) | geositeFilename = "geosite.dat" constant geositeURL (line 18) | geositeURL = "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-... constant geoDlTmpPattern (line 19) | geoDlTmpPattern = ".hysteria-geoloader.dlpart.*" constant geoDefaultUpdateInterval (line 21) | geoDefaultUpdateInterval = 7 * 24 * time.Hour type GeoLoader (line 29) | type GeoLoader struct method shouldDownload (line 41) | func (l *GeoLoader) shouldDownload(filename string) bool { method downloadAndCheck (line 58) | func (l *GeoLoader) downloadAndCheck(filename, url string, checkFunc f... method LoadGeoIP (line 98) | func (l *GeoLoader) LoadGeoIP() (map[string]*v2geo.GeoIP, error) { method LoadGeoSite (line 136) | func (l *GeoLoader) LoadGeoSite() (map[string]*v2geo.GeoSite, error) { FILE: app/internal/utils/qr.go function PrintQR (line 9) | func PrintQR(str string) { FILE: app/internal/utils/update.go constant updateCheckEndpoint (line 15) | updateCheckEndpoint = "https://api.hy2.io/v1/update" constant updateCheckTimeout (line 16) | updateCheckTimeout = 10 * time.Second type UpdateChecker (line 19) | type UpdateChecker struct method Check (line 72) | func (uc *UpdateChecker) Check() (*UpdateResponse, error) { function NewServerUpdateChecker (line 28) | func NewServerUpdateChecker(currentVersion, platform, architecture, chan... function NewClientUpdateChecker (line 46) | func NewClientUpdateChecker(currentVersion, platform, architecture, chan... type UpdateResponse (line 65) | type UpdateResponse struct FILE: app/internal/utils_test/mock.go type MockEchoHyClient (line 11) | type MockEchoHyClient struct method TCP (line 13) | func (c *MockEchoHyClient) TCP(addr string) (net.Conn, error) { method UDP (line 19) | func (c *MockEchoHyClient) UDP() (client.HyUDPConn, error) { method Close (line 25) | func (c *MockEchoHyClient) Close() error { type mockEchoTCPConn (line 29) | type mockEchoTCPConn struct method Read (line 33) | func (c *mockEchoTCPConn) Read(b []byte) (n int, err error) { method Write (line 42) | func (c *mockEchoTCPConn) Write(b []byte) (n int, err error) { method Close (line 47) | func (c *mockEchoTCPConn) Close() error { method LocalAddr (line 52) | func (c *mockEchoTCPConn) LocalAddr() net.Addr { method RemoteAddr (line 57) | func (c *mockEchoTCPConn) RemoteAddr() net.Addr { method SetDeadline (line 62) | func (c *mockEchoTCPConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 67) | func (c *mockEchoTCPConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 72) | func (c *mockEchoTCPConn) SetWriteDeadline(t time.Time) error { type mockEchoUDPPacket (line 77) | type mockEchoUDPPacket struct type mockEchoUDPConn (line 82) | type mockEchoUDPConn struct method Receive (line 86) | func (c *mockEchoUDPConn) Receive() ([]byte, string, error) { method Send (line 95) | func (c *mockEchoUDPConn) Send(bytes []byte, s string) error { method Close (line 103) | func (c *mockEchoUDPConn) Close() error { FILE: app/main.go function main (line 5) | func main() { FILE: app/misc/socks5_test.py function test_tcp (line 8) | def test_tcp() -> None: function test_udp (line 29) | def test_udp() -> None: FILE: app/pprof.go constant pprofListenAddr (line 12) | pprofListenAddr = ":6060" function init (line 15) | func init() { FILE: core/client/client.go constant closeErrCodeOK (line 21) | closeErrCodeOK = 0x100 constant closeErrCodeProtocolError (line 22) | closeErrCodeProtocolError = 0x101 type Client (line 25) | type Client interface type HyUDPConn (line 31) | type HyUDPConn interface type HandshakeInfo (line 37) | type HandshakeInfo struct function NewClient (line 42) | func NewClient(config *Config) (Client, *HandshakeInfo, error) { type clientImpl (line 56) | type clientImpl struct method connect (line 65) | func (c *clientImpl) connect() (*HandshakeInfo, error) { method openStream (line 163) | func (c *clientImpl) openStream() (quic.Stream, error) { method TCP (line 171) | func (c *clientImpl) TCP(addr string) (net.Conn, error) { method UDP (line 211) | func (c *clientImpl) UDP() (HyUDPConn, error) { method Close (line 218) | func (c *clientImpl) Close() error { function wrapIfConnectionClosed (line 229) | func wrapIfConnectionClosed(err error) error { type tcpConn (line 238) | type tcpConn struct method Read (line 245) | func (c *tcpConn) Read(b []byte) (n int, err error) { method Write (line 260) | func (c *tcpConn) Write(b []byte) (n int, err error) { method Close (line 264) | func (c *tcpConn) Close() error { method LocalAddr (line 268) | func (c *tcpConn) LocalAddr() net.Addr { method RemoteAddr (line 272) | func (c *tcpConn) RemoteAddr() net.Addr { method SetDeadline (line 276) | func (c *tcpConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 280) | func (c *tcpConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 284) | func (c *tcpConn) SetWriteDeadline(t time.Time) error { type udpIOImpl (line 288) | type udpIOImpl struct method ReceiveMessage (line 292) | func (io *udpIOImpl) ReceiveMessage() (*protocol.UDPMessage, error) { method SendMessage (line 308) | func (io *udpIOImpl) SendMessage(buf []byte, msg *protocol.UDPMessage)... FILE: core/client/config.go constant defaultStreamReceiveWindow (line 13) | defaultStreamReceiveWindow = 8388608 constant defaultConnReceiveWindow (line 14) | defaultConnReceiveWindow = defaultStreamReceiveWindow * 5 / 2 constant defaultMaxIdleTimeout (line 15) | defaultMaxIdleTimeout = 30 * time.Second constant defaultKeepAlivePeriod (line 16) | defaultKeepAlivePeriod = 10 * time.Second type Config (line 19) | type Config struct method verifyAndFill (line 33) | func (c *Config) verifyAndFill() error { type ConnFactory (line 79) | type ConnFactory interface type udpConnFactory (line 83) | type udpConnFactory struct method New (line 85) | func (f *udpConnFactory) New(addr net.Addr) (net.PacketConn, error) { type TLSConfig (line 90) | type TLSConfig struct type QUICConfig (line 98) | type QUICConfig struct type BandwidthConfig (line 109) | type BandwidthConfig struct FILE: core/client/mock_udpIO.go type mockUDPIO (line 11) | type mockUDPIO struct method EXPECT (line 19) | func (_m *mockUDPIO) EXPECT() *mockUDPIO_Expecter { method ReceiveMessage (line 24) | func (_m *mockUDPIO) ReceiveMessage() (*protocol.UDPMessage, error) { method SendMessage (line 81) | func (_m *mockUDPIO) SendMessage(_a0 []byte, _a1 *protocol.UDPMessage)... type mockUDPIO_Expecter (line 15) | type mockUDPIO_Expecter struct method ReceiveMessage (line 59) | func (_e *mockUDPIO_Expecter) ReceiveMessage() *mockUDPIO_ReceiveMessa... method SendMessage (line 106) | func (_e *mockUDPIO_Expecter) SendMessage(_a0 interface{}, _a1 interfa... type mockUDPIO_ReceiveMessage_Call (line 54) | type mockUDPIO_ReceiveMessage_Call struct method Run (line 63) | func (_c *mockUDPIO_ReceiveMessage_Call) Run(run func()) *mockUDPIO_Re... method Return (line 70) | func (_c *mockUDPIO_ReceiveMessage_Call) Return(_a0 *protocol.UDPMessa... method RunAndReturn (line 75) | func (_c *mockUDPIO_ReceiveMessage_Call) RunAndReturn(run func() (*pro... type mockUDPIO_SendMessage_Call (line 99) | type mockUDPIO_SendMessage_Call struct method Run (line 110) | func (_c *mockUDPIO_SendMessage_Call) Run(run func(_a0 []byte, _a1 *pr... method Return (line 117) | func (_c *mockUDPIO_SendMessage_Call) Return(_a0 error) *mockUDPIO_Sen... method RunAndReturn (line 122) | func (_c *mockUDPIO_SendMessage_Call) RunAndReturn(run func([]byte, *p... function newMockUDPIO (line 129) | func newMockUDPIO(t interface { FILE: core/client/reconnect.go type reconnectableClientImpl (line 12) | type reconnectableClientImpl struct method reconnect (line 38) | func (rc *reconnectableClientImpl) reconnect() error { method clientDo (line 63) | func (rc *reconnectableClientImpl) clientDo(f func(Client) (interface{... method TCP (line 92) | func (rc *reconnectableClientImpl) TCP(addr string) (net.Conn, error) { method UDP (line 102) | func (rc *reconnectableClientImpl) UDP() (HyUDPConn, error) { method Close (line 112) | func (rc *reconnectableClientImpl) Close() error { function NewReconnectableClient (line 25) | func NewReconnectableClient(configFunc func() (*Config, error), connecte... FILE: core/client/udp.go constant udpMessageChanSize (line 17) | udpMessageChanSize = 1024 type udpIO (line 20) | type udpIO interface type udpConn (line 25) | type udpConn struct method Receive (line 35) | func (u *udpConn) Receive() ([]byte, string, error) { method Send (line 52) | func (u *udpConn) Send(data []byte, addr string) error { method Close (line 80) | func (u *udpConn) Close() error { type udpSessionManager (line 85) | type udpSessionManager struct method run (line 105) | func (m *udpSessionManager) run() error { method closeCleanup (line 116) | func (m *udpSessionManager) closeCleanup() { method feed (line 126) | func (m *udpSessionManager) feed(msg *protocol.UDPMessage) { method NewUDP (line 145) | func (m *udpSessionManager) NewUDP() (HyUDPConn, error) { method close (line 173) | func (m *udpSessionManager) close(conn *udpConn) { method Count (line 181) | func (m *udpSessionManager) Count() int { function newUDPSessionManager (line 95) | func newUDPSessionManager(io udpIO) *udpSessionManager { FILE: core/client/udp_test.go function TestUDPSessionManager (line 17) | func TestUDPSessionManager(t *testing.T) { FILE: core/errors/errors.go type ConfigError (line 9) | type ConfigError struct method Error (line 14) | func (c ConfigError) Error() string { type ConnectError (line 19) | type ConnectError struct method Error (line 23) | func (c ConnectError) Error() string { method Unwrap (line 27) | func (c ConnectError) Unwrap() error { type AuthError (line 32) | type AuthError struct method Error (line 36) | func (a AuthError) Error() string { type DialError (line 42) | type DialError struct method Error (line 46) | func (c DialError) Error() string { type ClosedError (line 51) | type ClosedError struct method Error (line 55) | func (c ClosedError) Error() string { method Unwrap (line 63) | func (c ClosedError) Unwrap() error { type ProtocolError (line 69) | type ProtocolError struct method Error (line 73) | func (p ProtocolError) Error() string { FILE: core/internal/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: core/internal/congestion/bbr/bandwidth_sampler.go constant infRTT (line 11) | infRTT = time.Duration(math.MaxInt64) constant defaultConnectionStateMapQueueSize (line 12) | defaultConnectionStateMapQueueSize = 256 constant defaultCandidatesBufferSize (line 13) | defaultCandidatesBufferSize = 256 type roundTripCount (line 16) | type roundTripCount type sendTimeState (line 20) | type sendTimeState struct function newSendTimeState (line 41) | func newSendTimeState( type extraAckedEvent (line 58) | type extraAckedEvent struct function maxExtraAckedEventFunc (line 69) | func maxExtraAckedEventFunc(a, b extraAckedEvent) int { type bandwidthSample (line 79) | type bandwidthSample struct function newBandwidthSample (line 93) | func newBandwidthSample() *bandwidthSample { type maxAckHeightTracker (line 101) | type maxAckHeightTracker struct method Get (line 126) | func (m *maxAckHeightTracker) Get() congestion.ByteCount { method Update (line 130) | func (m *maxAckHeightTracker) Update( method SetFilterWindowLength (line 210) | func (m *maxAckHeightTracker) SetFilterWindowLength(length roundTripCo... method Reset (line 214) | func (m *maxAckHeightTracker) Reset(newHeight congestion.ByteCount, ne... method SetAckAggregationBandwidthThreshold (line 222) | func (m *maxAckHeightTracker) SetAckAggregationBandwidthThreshold(thre... method SetStartNewAggregationEpochAfterFullRound (line 226) | func (m *maxAckHeightTracker) SetStartNewAggregationEpochAfterFullRoun... method SetReduceExtraAckedOnBandwidthIncrease (line 230) | func (m *maxAckHeightTracker) SetReduceExtraAckedOnBandwidthIncrease(v... method AckAggregationBandwidthThreshold (line 234) | func (m *maxAckHeightTracker) AckAggregationBandwidthThreshold() float... method NumAckAggregationEpochs (line 238) | func (m *maxAckHeightTracker) NumAckAggregationEpochs() uint64 { function newMaxAckHeightTracker (line 118) | func newMaxAckHeightTracker(windowLength roundTripCount) *maxAckHeightTr... type ackPoint (line 243) | type ackPoint struct type recentAckPoints (line 249) | type recentAckPoints struct method Update (line 253) | func (r *recentAckPoints) Update(ackTime time.Time, totalBytesAcked co... method Clear (line 264) | func (r *recentAckPoints) Clear() { method MostRecentPoint (line 269) | func (r *recentAckPoints) MostRecentPoint() *ackPoint { method LessRecentPoint (line 273) | func (r *recentAckPoints) LessRecentPoint() *ackPoint { type connectionStateOnSentPacket (line 285) | type connectionStateOnSentPacket struct function newConnectionStateOnSentPacket (line 307) | func newConnectionStateOnSentPacket( type congestionEventSample (line 412) | type congestionEventSample struct function newCongestionEventSample (line 434) | func newCongestionEventSample() *congestionEventSample { type bandwidthSampler (line 440) | type bandwidthSampler struct method MaxAckHeight (line 512) | func (b *bandwidthSampler) MaxAckHeight() congestion.ByteCount { method NumAckAggregationEpochs (line 516) | func (b *bandwidthSampler) NumAckAggregationEpochs() uint64 { method SetMaxAckHeightTrackerWindowLength (line 520) | func (b *bandwidthSampler) SetMaxAckHeightTrackerWindowLength(length r... method ResetMaxAckHeightTracker (line 524) | func (b *bandwidthSampler) ResetMaxAckHeightTracker(newHeight congesti... method SetStartNewAggregationEpochAfterFullRound (line 528) | func (b *bandwidthSampler) SetStartNewAggregationEpochAfterFullRound(v... method SetLimitMaxAckHeightTrackerBySendRate (line 532) | func (b *bandwidthSampler) SetLimitMaxAckHeightTrackerBySendRate(value... method SetReduceExtraAckedOnBandwidthIncrease (line 536) | func (b *bandwidthSampler) SetReduceExtraAckedOnBandwidthIncrease(valu... method EnableOverestimateAvoidance (line 540) | func (b *bandwidthSampler) EnableOverestimateAvoidance() { method IsOverestimateAvoidanceEnabled (line 549) | func (b *bandwidthSampler) IsOverestimateAvoidanceEnabled() bool { method OnPacketSent (line 553) | func (b *bandwidthSampler) OnPacketSent( method OnCongestionEvent (line 597) | func (b *bandwidthSampler) OnCongestionEvent( method OnPacketLost (line 676) | func (b *bandwidthSampler) OnPacketLost(packetNumber congestion.Packet... method OnPacketNeutered (line 684) | func (b *bandwidthSampler) OnPacketNeutered(packetNumber congestion.Pa... method OnAppLimited (line 690) | func (b *bandwidthSampler) OnAppLimited() { method RemoveObsoletePackets (line 695) | func (b *bandwidthSampler) RemoveObsoletePackets(leastUnacked congesti... method TotalBytesSent (line 704) | func (b *bandwidthSampler) TotalBytesSent() congestion.ByteCount { method TotalBytesLost (line 708) | func (b *bandwidthSampler) TotalBytesLost() congestion.ByteCount { method TotalBytesAcked (line 712) | func (b *bandwidthSampler) TotalBytesAcked() congestion.ByteCount { method TotalBytesNeutered (line 716) | func (b *bandwidthSampler) TotalBytesNeutered() congestion.ByteCount { method IsAppLimited (line 720) | func (b *bandwidthSampler) IsAppLimited() bool { method EndOfAppLimitedPhase (line 724) | func (b *bandwidthSampler) EndOfAppLimitedPhase() congestion.PacketNum... method max_ack_height (line 728) | func (b *bandwidthSampler) max_ack_height() congestion.ByteCount { method chooseA0Point (line 732) | func (b *bandwidthSampler) chooseA0Point(totalBytesAcked congestion.By... method onPacketAcknowledged (line 761) | func (b *bandwidthSampler) onPacketAcknowledged(ackTime time.Time, pac... method onAckEventEnd (line 833) | func (b *bandwidthSampler) onAckEventEnd( function newBandwidthSampler (line 498) | func newBandwidthSampler(maxAckHeightTrackerWindowLength roundTripCount)... function sentPacketToSendTimeState (line 860) | func sentPacketToSendTimeState(sentPacket *connectionStateOnSentPacket, ... function bytesFromBandwidthAndTimeDelta (line 867) | func bytesFromBandwidthAndTimeDelta(bandwidth Bandwidth, delta time.Dura... function timeDeltaFromBytesAndBandwidth (line 872) | func timeDeltaFromBytesAndBandwidth(bytes congestion.ByteCount, bandwidt... FILE: core/internal/congestion/bbr/bbr_sender.go constant minBps (line 26) | minBps = 65536 constant invalidPacketNumber (line 28) | invalidPacketNumber = -1 constant initialCongestionWindowPackets (line 29) | initialCongestionWindowPackets = 32 constant defaultMinimumCongestionWindow (line 34) | defaultMinimumCongestionWindow = 4 * congestion.ByteCount(congestion.Ini... constant defaultHighGain (line 37) | defaultHighGain = 2.885 constant derivedHighGain (line 39) | derivedHighGain = 2.773 constant derivedHighCWNDGain (line 41) | derivedHighCWNDGain = 2.0 constant debugEnv (line 43) | debugEnv = "HYSTERIA_BBR_DEBUG" constant gainCycleLength (line 51) | gainCycleLength = len(pacingGain) constant bandwidthWindowSize (line 53) | bandwidthWindowSize = gainCycleLength + 2 constant minRttExpiry (line 56) | minRttExpiry = 10 * time.Second constant probeRttTime (line 58) | probeRttTime = 200 * time.Millisecond constant startupGrowthTarget (line 62) | startupGrowthTarget = 1.25 constant roundTripsWithoutGrowthBeforeExitingStartup (line 63) | roundTripsWithoutGrowthBeforeExitingStartup = int64(3) constant defaultStartupFullLossCount (line 66) | defaultStartupFullLossCount = 8 constant quicBbr2DefaultLossThreshold (line 67) | quicBbr2DefaultLossThreshold = 0.02 constant maxBbrBurstPackets (line 68) | maxBbrBurstPackets = 10 type bbrMode (line 71) | type bbrMode constant bbrModeStartup (line 75) | bbrModeStartup = iota constant bbrModeDrain (line 78) | bbrModeDrain constant bbrModeProbeBw (line 80) | bbrModeProbeBw constant bbrModeProbeRtt (line 83) | bbrModeProbeRtt type bbrRecoveryState (line 87) | type bbrRecoveryState constant bbrRecoveryStateNotInRecovery (line 91) | bbrRecoveryStateNotInRecovery = iota constant bbrRecoveryStateConservation (line 93) | bbrRecoveryStateConservation constant bbrRecoveryStateGrowth (line 96) | bbrRecoveryStateGrowth type bbrSender (line 99) | type bbrSender struct method SetRTTStatsProvider (line 311) | func (b *bbrSender) SetRTTStatsProvider(provider congestion.RTTStatsPr... method TimeUntilSend (line 316) | func (b *bbrSender) TimeUntilSend(bytesInFlight congestion.ByteCount) ... method HasPacingBudget (line 321) | func (b *bbrSender) HasPacingBudget(now time.Time) bool { method OnPacketSent (line 326) | func (b *bbrSender) OnPacketSent( method CanSend (line 346) | func (b *bbrSender) CanSend(bytesInFlight congestion.ByteCount) bool { method MaybeExitSlowStart (line 351) | func (b *bbrSender) MaybeExitSlowStart() { method OnPacketAcked (line 356) | func (b *bbrSender) OnPacketAcked(number congestion.PacketNumber, acke... method OnPacketLost (line 361) | func (b *bbrSender) OnPacketLost(number congestion.PacketNumber, lostB... method OnRetransmissionTimeout (line 366) | func (b *bbrSender) OnRetransmissionTimeout(packetsRetransmitted bool) { method SetMaxDatagramSize (line 371) | func (b *bbrSender) SetMaxDatagramSize(s congestion.ByteCount) { method InSlowStart (line 384) | func (b *bbrSender) InSlowStart() bool { method InRecovery (line 389) | func (b *bbrSender) InRecovery() bool { method GetCongestionWindow (line 394) | func (b *bbrSender) GetCongestionWindow() congestion.ByteCount { method OnCongestionEvent (line 406) | func (b *bbrSender) OnCongestionEvent(number congestion.PacketNumber, ... method OnCongestionEventEx (line 410) | func (b *bbrSender) OnCongestionEventEx(priorInFlight congestion.ByteC... method PacingRate (line 512) | func (b *bbrSender) PacingRate() Bandwidth { method hasGoodBandwidthEstimateForResumption (line 521) | func (b *bbrSender) hasGoodBandwidthEstimateForResumption() bool { method hasNonAppLimitedSample (line 525) | func (b *bbrSender) hasNonAppLimitedSample() bool { method setHighGain (line 530) | func (b *bbrSender) setHighGain(highGain float64) { method setHighCwndGain (line 538) | func (b *bbrSender) setHighCwndGain(highCwndGain float64) { method setDrainGain (line 546) | func (b *bbrSender) setDrainGain(drainGain float64) { method bandwidthEstimate (line 551) | func (b *bbrSender) bandwidthEstimate() Bandwidth { method bandwidthForPacer (line 555) | func (b *bbrSender) bandwidthForPacer() congestion.ByteCount { method getMinRtt (line 568) | func (b *bbrSender) getMinRtt() time.Duration { method getTargetCongestionWindow (line 584) | func (b *bbrSender) getTargetCongestionWindow(gain float64) congestion... method probeRttCongestionWindow (line 597) | func (b *bbrSender) probeRttCongestionWindow() congestion.ByteCount { method maybeUpdateMinRtt (line 601) | func (b *bbrSender) maybeUpdateMinRtt(now time.Time, sampleMinRtt time... method enterStartupMode (line 613) | func (b *bbrSender) enterStartupMode(now time.Time) { method enterProbeBandwidthMode (line 625) | func (b *bbrSender) enterProbeBandwidthMode(now time.Time) { method updateRoundTripCounter (line 648) | func (b *bbrSender) updateRoundTripCounter(lastAckedPacket congestion.... method updateGainCyclePhase (line 658) | func (b *bbrSender) updateGainCyclePhase(now time.Time, priorInFlight ... method checkIfFullBandwidthReached (line 694) | func (b *bbrSender) checkIfFullBandwidthReached(lastPacketSendState *s... method maybeAppLimited (line 717) | func (b *bbrSender) maybeAppLimited(bytesInFlight congestion.ByteCount) { method maybeExitStartupOrDrain (line 725) | func (b *bbrSender) maybeExitStartupOrDrain(now time.Time) { method maybeEnterOrExitProbeRtt (line 742) | func (b *bbrSender) maybeEnterOrExitProbeRtt(now time.Time, isRoundSta... method updateRecoveryState (line 794) | func (b *bbrSender) updateRecoveryState(lastAckedPacket congestion.Pac... method calculatePacingRate (line 830) | func (b *bbrSender) calculatePacingRate(bytesLost congestion.ByteCount) { method calculateCongestionWindow (line 870) | func (b *bbrSender) calculateCongestionWindow(bytesAcked, excessAcked ... method calculateRecoveryWindow (line 903) | func (b *bbrSender) calculateRecoveryWindow(bytesAcked, bytesLost cong... method shouldExitStartupDueToLoss (line 935) | func (b *bbrSender) shouldExitStartupDueToLoss(lastPacketSendState *se... method debugPrint (line 951) | func (b *bbrSender) debugPrint(format string, a ...any) { function NewBbrSender (line 250) | func NewBbrSender( function newBbrSender (line 262) | func newBbrSender( function bdpFromRttAndBandwidth (line 957) | func bdpFromRttAndBandwidth(rtt time.Duration, bandwidth Bandwidth) cong... function GetInitialPacketSize (line 961) | func GetInitialPacketSize(addr net.Addr) congestion.ByteCount { function formatSpeed (line 975) | func formatSpeed(bw Bandwidth) string { FILE: core/internal/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() time.Time { FILE: core/internal/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: core/internal/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: core/internal/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: core/internal/congestion/brutal/brutal.go constant pktInfoSlotCount (line 15) | pktInfoSlotCount = 5 constant minSampleCount (line 16) | minSampleCount = 50 constant minAckRate (line 17) | minAckRate = 0.8 constant congestionWindowMultiplier (line 18) | congestionWindowMultiplier = 2 constant debugEnv (line 20) | debugEnv = "HYSTERIA_BRUTAL_DEBUG" constant debugPrintInterval (line 21) | debugPrintInterval = 2 type BrutalSender (line 26) | type BrutalSender struct method SetRTTStatsProvider (line 59) | func (b *BrutalSender) SetRTTStatsProvider(rttStats congestion.RTTStat... method TimeUntilSend (line 63) | func (b *BrutalSender) TimeUntilSend(bytesInFlight congestion.ByteCoun... method HasPacingBudget (line 67) | func (b *BrutalSender) HasPacingBudget(now time.Time) bool { method CanSend (line 71) | func (b *BrutalSender) CanSend(bytesInFlight congestion.ByteCount) bool { method GetCongestionWindow (line 75) | func (b *BrutalSender) GetCongestionWindow() congestion.ByteCount { method OnPacketSent (line 87) | func (b *BrutalSender) OnPacketSent(sentTime time.Time, bytesInFlight ... method OnPacketAcked (line 93) | func (b *BrutalSender) OnPacketAcked(number congestion.PacketNumber, a... method OnCongestionEvent (line 99) | func (b *BrutalSender) OnCongestionEvent(number congestion.PacketNumbe... method OnCongestionEventEx (line 105) | func (b *BrutalSender) OnCongestionEventEx(priorInFlight congestion.By... method SetMaxDatagramSize (line 120) | func (b *BrutalSender) SetMaxDatagramSize(size congestion.ByteCount) { method updateAckRate (line 128) | func (b *BrutalSender) updateAckRate(currentTimestamp int64) { method InSlowStart (line 165) | func (b *BrutalSender) InSlowStart() bool { method InRecovery (line 169) | func (b *BrutalSender) InRecovery() bool { method MaybeExitSlowStart (line 173) | func (b *BrutalSender) MaybeExitSlowStart() {} method OnRetransmissionTimeout (line 175) | func (b *BrutalSender) OnRetransmissionTimeout(packetsRetransmitted bo... method canPrintAckRate (line 177) | func (b *BrutalSender) canPrintAckRate(currentTimestamp int64) bool { method debugPrint (line 181) | func (b *BrutalSender) debugPrint(format string, a ...any) { type pktInfo (line 39) | type pktInfo struct function NewBrutalSender (line 45) | func NewBrutalSender(bps uint64) *BrutalSender { FILE: core/internal/congestion/common/pacer.go constant maxBurstPackets (line 10) | maxBurstPackets = 10 constant maxBurstPacingDelayMultiplier (line 11) | maxBurstPacingDelayMultiplier = 4 type Pacer (line 15) | type Pacer struct method SentPacket (line 31) | func (p *Pacer) SentPacket(sendTime time.Time, size congestion.ByteCou... method Budget (line 41) | func (p *Pacer) Budget(now time.Time) congestion.ByteCount { method maxBurstSize (line 52) | func (p *Pacer) maxBurstSize() congestion.ByteCount { method TimeUntilSend (line 61) | func (p *Pacer) TimeUntilSend() time.Time { method SetMaxDatagramSize (line 77) | func (p *Pacer) SetMaxDatagramSize(s congestion.ByteCount) { function NewPacer (line 22) | func NewPacer(getBandwidth func() congestion.ByteCount) *Pacer { FILE: core/internal/congestion/utils.go function UseBBR (line 9) | func UseBBR(conn quic.Connection) { function UseBrutal (line 16) | func UseBrutal(conn quic.Connection, tx uint64) { FILE: core/internal/frag/frag.go function FragUDPMessage (line 7) | func FragUDPMessage(m *protocol.UDPMessage, maxSize int) []protocol.UDPM... type Defragger (line 37) | type Defragger struct method Feed (line 44) | func (d *Defragger) Feed(m *protocol.UDPMessage) *protocol.UDPMessage { FILE: core/internal/frag/frag_test.go function TestFragUDPMessage (line 10) | func TestFragUDPMessage(t *testing.T) { function TestDefragger (line 134) | func TestDefragger(t *testing.T) { FILE: core/internal/integration_tests/close_test.go function TestClientServerTCPClose (line 20) | func TestClientServerTCPClose(t *testing.T) { function TestClientServerUDPIdleTimeout (line 98) | func TestClientServerUDPIdleTimeout(t *testing.T) { function TestClientServerClientShutdown (line 181) | func TestClientServerClientShutdown(t *testing.T) { function TestClientServerServerShutdown (line 214) | func TestClientServerServerShutdown(t *testing.T) { FILE: core/internal/integration_tests/hook_test.go function TestClientServerHookTCP (line 16) | func TestClientServerHookTCP(t *testing.T) { function TestClientServerHookUDP (line 80) | func TestClientServerHookUDP(t *testing.T) { FILE: core/internal/integration_tests/masq_test.go function TestServerMasquerade (line 26) | func TestServerMasquerade(t *testing.T) { FILE: core/internal/integration_tests/mocks/mock_Authenticator.go type MockAuthenticator (line 12) | type MockAuthenticator struct method EXPECT (line 20) | func (_m *MockAuthenticator) EXPECT() *MockAuthenticator_Expecter { method Authenticate (line 25) | func (_m *MockAuthenticator) Authenticate(addr net.Addr, auth string, ... type MockAuthenticator_Expecter (line 16) | type MockAuthenticator_Expecter struct method Authenticate (line 61) | func (_e *MockAuthenticator_Expecter) Authenticate(addr interface{}, a... type MockAuthenticator_Authenticate_Call (line 53) | type MockAuthenticator_Authenticate_Call struct method Run (line 65) | func (_c *MockAuthenticator_Authenticate_Call) Run(run func(addr net.A... method Return (line 72) | func (_c *MockAuthenticator_Authenticate_Call) Return(ok bool, id stri... method RunAndReturn (line 77) | func (_c *MockAuthenticator_Authenticate_Call) RunAndReturn(run func(n... function NewMockAuthenticator (line 84) | func NewMockAuthenticator(t interface { FILE: core/internal/integration_tests/mocks/mock_Conn.go type MockConn (line 14) | type MockConn struct method EXPECT (line 22) | func (_m *MockConn) EXPECT() *MockConn_Expecter { method Close (line 27) | func (_m *MockConn) Close() error { method LocalAddr (line 72) | func (_m *MockConn) LocalAddr() net.Addr { method Read (line 119) | func (_m *MockConn) Read(b []byte) (int, error) { method RemoteAddr (line 175) | func (_m *MockConn) RemoteAddr() net.Addr { method SetDeadline (line 222) | func (_m *MockConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 268) | func (_m *MockConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 314) | func (_m *MockConn) SetWriteDeadline(t time.Time) error { method Write (line 360) | func (_m *MockConn) Write(b []byte) (int, error) { type MockConn_Expecter (line 18) | type MockConn_Expecter struct method Close (line 50) | func (_e *MockConn_Expecter) Close() *MockConn_Close_Call { method LocalAddr (line 97) | func (_e *MockConn_Expecter) LocalAddr() *MockConn_LocalAddr_Call { method Read (line 153) | func (_e *MockConn_Expecter) Read(b interface{}) *MockConn_Read_Call { method RemoteAddr (line 200) | func (_e *MockConn_Expecter) RemoteAddr() *MockConn_RemoteAddr_Call { method SetDeadline (line 246) | func (_e *MockConn_Expecter) SetDeadline(t interface{}) *MockConn_SetD... method SetReadDeadline (line 292) | func (_e *MockConn_Expecter) SetReadDeadline(t interface{}) *MockConn_... method SetWriteDeadline (line 338) | func (_e *MockConn_Expecter) SetWriteDeadline(t interface{}) *MockConn... method Write (line 394) | func (_e *MockConn_Expecter) Write(b interface{}) *MockConn_Write_Call { type MockConn_Close_Call (line 45) | type MockConn_Close_Call struct method Run (line 54) | func (_c *MockConn_Close_Call) Run(run func()) *MockConn_Close_Call { method Return (line 61) | func (_c *MockConn_Close_Call) Return(_a0 error) *MockConn_Close_Call { method RunAndReturn (line 66) | func (_c *MockConn_Close_Call) RunAndReturn(run func() error) *MockCon... type MockConn_LocalAddr_Call (line 92) | type MockConn_LocalAddr_Call struct method Run (line 101) | func (_c *MockConn_LocalAddr_Call) Run(run func()) *MockConn_LocalAddr... method Return (line 108) | func (_c *MockConn_LocalAddr_Call) Return(_a0 net.Addr) *MockConn_Loca... method RunAndReturn (line 113) | func (_c *MockConn_LocalAddr_Call) RunAndReturn(run func() net.Addr) *... type MockConn_Read_Call (line 147) | type MockConn_Read_Call struct method Run (line 157) | func (_c *MockConn_Read_Call) Run(run func(b []byte)) *MockConn_Read_C... method Return (line 164) | func (_c *MockConn_Read_Call) Return(n int, err error) *MockConn_Read_... method RunAndReturn (line 169) | func (_c *MockConn_Read_Call) RunAndReturn(run func([]byte) (int, erro... type MockConn_RemoteAddr_Call (line 195) | type MockConn_RemoteAddr_Call struct method Run (line 204) | func (_c *MockConn_RemoteAddr_Call) Run(run func()) *MockConn_RemoteAd... method Return (line 211) | func (_c *MockConn_RemoteAddr_Call) Return(_a0 net.Addr) *MockConn_Rem... method RunAndReturn (line 216) | func (_c *MockConn_RemoteAddr_Call) RunAndReturn(run func() net.Addr) ... type MockConn_SetDeadline_Call (line 240) | type MockConn_SetDeadline_Call struct method Run (line 250) | func (_c *MockConn_SetDeadline_Call) Run(run func(t time.Time)) *MockC... method Return (line 257) | func (_c *MockConn_SetDeadline_Call) Return(_a0 error) *MockConn_SetDe... method RunAndReturn (line 262) | func (_c *MockConn_SetDeadline_Call) RunAndReturn(run func(time.Time) ... type MockConn_SetReadDeadline_Call (line 286) | type MockConn_SetReadDeadline_Call struct method Run (line 296) | func (_c *MockConn_SetReadDeadline_Call) Run(run func(t time.Time)) *M... method Return (line 303) | func (_c *MockConn_SetReadDeadline_Call) Return(_a0 error) *MockConn_S... method RunAndReturn (line 308) | func (_c *MockConn_SetReadDeadline_Call) RunAndReturn(run func(time.Ti... type MockConn_SetWriteDeadline_Call (line 332) | type MockConn_SetWriteDeadline_Call struct method Run (line 342) | func (_c *MockConn_SetWriteDeadline_Call) Run(run func(t time.Time)) *... method Return (line 349) | func (_c *MockConn_SetWriteDeadline_Call) Return(_a0 error) *MockConn_... method RunAndReturn (line 354) | func (_c *MockConn_SetWriteDeadline_Call) RunAndReturn(run func(time.T... type MockConn_Write_Call (line 388) | type MockConn_Write_Call struct method Run (line 398) | func (_c *MockConn_Write_Call) Run(run func(b []byte)) *MockConn_Write... method Return (line 405) | func (_c *MockConn_Write_Call) Return(n int, err error) *MockConn_Writ... method RunAndReturn (line 410) | func (_c *MockConn_Write_Call) RunAndReturn(run func([]byte) (int, err... function NewMockConn (line 417) | func NewMockConn(t interface { FILE: core/internal/integration_tests/mocks/mock_EventLogger.go type MockEventLogger (line 12) | type MockEventLogger struct method EXPECT (line 20) | func (_m *MockEventLogger) EXPECT() *MockEventLogger_Expecter { method Connect (line 25) | func (_m *MockEventLogger) Connect(addr net.Addr, id string, tx uint64) { method Disconnect (line 60) | func (_m *MockEventLogger) Disconnect(addr net.Addr, id string, err er... method TCPError (line 95) | func (_m *MockEventLogger) TCPError(addr net.Addr, id string, reqAddr ... method TCPRequest (line 131) | func (_m *MockEventLogger) TCPRequest(addr net.Addr, id string, reqAdd... method UDPError (line 166) | func (_m *MockEventLogger) UDPError(addr net.Addr, id string, sessionI... method UDPRequest (line 202) | func (_m *MockEventLogger) UDPRequest(addr net.Addr, id string, sessio... type MockEventLogger_Expecter (line 16) | type MockEventLogger_Expecter struct method Connect (line 38) | func (_e *MockEventLogger_Expecter) Connect(addr interface{}, id inter... method Disconnect (line 73) | func (_e *MockEventLogger_Expecter) Disconnect(addr interface{}, id in... method TCPError (line 109) | func (_e *MockEventLogger_Expecter) TCPError(addr interface{}, id inte... method TCPRequest (line 144) | func (_e *MockEventLogger_Expecter) TCPRequest(addr interface{}, id in... method UDPError (line 180) | func (_e *MockEventLogger_Expecter) UDPError(addr interface{}, id inte... method UDPRequest (line 216) | func (_e *MockEventLogger_Expecter) UDPRequest(addr interface{}, id in... type MockEventLogger_Connect_Call (line 30) | type MockEventLogger_Connect_Call struct method Run (line 42) | func (_c *MockEventLogger_Connect_Call) Run(run func(addr net.Addr, id... method Return (line 49) | func (_c *MockEventLogger_Connect_Call) Return() *MockEventLogger_Conn... method RunAndReturn (line 54) | func (_c *MockEventLogger_Connect_Call) RunAndReturn(run func(net.Addr... type MockEventLogger_Disconnect_Call (line 65) | type MockEventLogger_Disconnect_Call struct method Run (line 77) | func (_c *MockEventLogger_Disconnect_Call) Run(run func(addr net.Addr,... method Return (line 84) | func (_c *MockEventLogger_Disconnect_Call) Return() *MockEventLogger_D... method RunAndReturn (line 89) | func (_c *MockEventLogger_Disconnect_Call) RunAndReturn(run func(net.A... type MockEventLogger_TCPError_Call (line 100) | type MockEventLogger_TCPError_Call struct method Run (line 113) | func (_c *MockEventLogger_TCPError_Call) Run(run func(addr net.Addr, i... method Return (line 120) | func (_c *MockEventLogger_TCPError_Call) Return() *MockEventLogger_TCP... method RunAndReturn (line 125) | func (_c *MockEventLogger_TCPError_Call) RunAndReturn(run func(net.Add... type MockEventLogger_TCPRequest_Call (line 136) | type MockEventLogger_TCPRequest_Call struct method Run (line 148) | func (_c *MockEventLogger_TCPRequest_Call) Run(run func(addr net.Addr,... method Return (line 155) | func (_c *MockEventLogger_TCPRequest_Call) Return() *MockEventLogger_T... method RunAndReturn (line 160) | func (_c *MockEventLogger_TCPRequest_Call) RunAndReturn(run func(net.A... type MockEventLogger_UDPError_Call (line 171) | type MockEventLogger_UDPError_Call struct method Run (line 184) | func (_c *MockEventLogger_UDPError_Call) Run(run func(addr net.Addr, i... method Return (line 191) | func (_c *MockEventLogger_UDPError_Call) Return() *MockEventLogger_UDP... method RunAndReturn (line 196) | func (_c *MockEventLogger_UDPError_Call) RunAndReturn(run func(net.Add... type MockEventLogger_UDPRequest_Call (line 207) | type MockEventLogger_UDPRequest_Call struct method Run (line 220) | func (_c *MockEventLogger_UDPRequest_Call) Run(run func(addr net.Addr,... method Return (line 227) | func (_c *MockEventLogger_UDPRequest_Call) Return() *MockEventLogger_U... method RunAndReturn (line 232) | func (_c *MockEventLogger_UDPRequest_Call) RunAndReturn(run func(net.A... function NewMockEventLogger (line 239) | func NewMockEventLogger(t interface { FILE: core/internal/integration_tests/mocks/mock_Outbound.go type MockOutbound (line 14) | type MockOutbound struct method EXPECT (line 22) | func (_m *MockOutbound) EXPECT() *MockOutbound_Expecter { method TCP (line 27) | func (_m *MockOutbound) TCP(reqAddr string) (net.Conn, error) { method UDP (line 85) | func (_m *MockOutbound) UDP(reqAddr string) (server.UDPConn, error) { type MockOutbound_Expecter (line 18) | type MockOutbound_Expecter struct method TCP (line 63) | func (_e *MockOutbound_Expecter) TCP(reqAddr interface{}) *MockOutboun... method UDP (line 121) | func (_e *MockOutbound_Expecter) UDP(reqAddr interface{}) *MockOutboun... type MockOutbound_TCP_Call (line 57) | type MockOutbound_TCP_Call struct method Run (line 67) | func (_c *MockOutbound_TCP_Call) Run(run func(reqAddr string)) *MockOu... method Return (line 74) | func (_c *MockOutbound_TCP_Call) Return(_a0 net.Conn, _a1 error) *Mock... method RunAndReturn (line 79) | func (_c *MockOutbound_TCP_Call) RunAndReturn(run func(string) (net.Co... type MockOutbound_UDP_Call (line 115) | type MockOutbound_UDP_Call struct method Run (line 125) | func (_c *MockOutbound_UDP_Call) Run(run func(reqAddr string)) *MockOu... method Return (line 132) | func (_c *MockOutbound_UDP_Call) Return(_a0 server.UDPConn, _a1 error)... method RunAndReturn (line 137) | func (_c *MockOutbound_UDP_Call) RunAndReturn(run func(string) (server... function NewMockOutbound (line 144) | func NewMockOutbound(t interface { FILE: core/internal/integration_tests/mocks/mock_RequestHook.go type MockRequestHook (line 11) | type MockRequestHook struct method EXPECT (line 19) | func (_m *MockRequestHook) EXPECT() *MockRequestHook_Expecter { method Check (line 24) | func (_m *MockRequestHook) Check(isUDP bool, reqAddr string) bool { method TCP (line 71) | func (_m *MockRequestHook) TCP(stream quic.Stream, reqAddr *string) ([... method UDP (line 130) | func (_m *MockRequestHook) UDP(data []byte, reqAddr *string) error { type MockRequestHook_Expecter (line 15) | type MockRequestHook_Expecter struct method Check (line 49) | func (_e *MockRequestHook_Expecter) Check(isUDP interface{}, reqAddr i... method TCP (line 108) | func (_e *MockRequestHook_Expecter) TCP(stream interface{}, reqAddr in... method UDP (line 155) | func (_e *MockRequestHook_Expecter) UDP(data interface{}, reqAddr inte... type MockRequestHook_Check_Call (line 42) | type MockRequestHook_Check_Call struct method Run (line 53) | func (_c *MockRequestHook_Check_Call) Run(run func(isUDP bool, reqAddr... method Return (line 60) | func (_c *MockRequestHook_Check_Call) Return(_a0 bool) *MockRequestHoo... method RunAndReturn (line 65) | func (_c *MockRequestHook_Check_Call) RunAndReturn(run func(bool, stri... type MockRequestHook_TCP_Call (line 101) | type MockRequestHook_TCP_Call struct method Run (line 112) | func (_c *MockRequestHook_TCP_Call) Run(run func(stream quic.Stream, r... method Return (line 119) | func (_c *MockRequestHook_TCP_Call) Return(_a0 []byte, _a1 error) *Moc... method RunAndReturn (line 124) | func (_c *MockRequestHook_TCP_Call) RunAndReturn(run func(quic.Stream,... type MockRequestHook_UDP_Call (line 148) | type MockRequestHook_UDP_Call struct method Run (line 159) | func (_c *MockRequestHook_UDP_Call) Run(run func(data []byte, reqAddr ... method Return (line 166) | func (_c *MockRequestHook_UDP_Call) Return(_a0 error) *MockRequestHook... method RunAndReturn (line 171) | func (_c *MockRequestHook_UDP_Call) RunAndReturn(run func([]byte, *str... function NewMockRequestHook (line 178) | func NewMockRequestHook(t interface { FILE: core/internal/integration_tests/mocks/mock_TrafficLogger.go type MockTrafficLogger (line 8) | type MockTrafficLogger struct method EXPECT (line 16) | func (_m *MockTrafficLogger) EXPECT() *MockTrafficLogger_Expecter { method LogOnlineState (line 21) | func (_m *MockTrafficLogger) LogOnlineState(id string, online bool) { method LogTraffic (line 55) | func (_m *MockTrafficLogger) LogTraffic(id string, tx uint64, rx uint6... type MockTrafficLogger_Expecter (line 12) | type MockTrafficLogger_Expecter struct method LogOnlineState (line 33) | func (_e *MockTrafficLogger_Expecter) LogOnlineState(id interface{}, o... method LogTraffic (line 81) | func (_e *MockTrafficLogger_Expecter) LogTraffic(id interface{}, tx in... type MockTrafficLogger_LogOnlineState_Call (line 26) | type MockTrafficLogger_LogOnlineState_Call struct method Run (line 37) | func (_c *MockTrafficLogger_LogOnlineState_Call) Run(run func(id strin... method Return (line 44) | func (_c *MockTrafficLogger_LogOnlineState_Call) Return() *MockTraffic... method RunAndReturn (line 49) | func (_c *MockTrafficLogger_LogOnlineState_Call) RunAndReturn(run func... type MockTrafficLogger_LogTraffic_Call (line 73) | type MockTrafficLogger_LogTraffic_Call struct method Run (line 85) | func (_c *MockTrafficLogger_LogTraffic_Call) Run(run func(id string, t... method Return (line 92) | func (_c *MockTrafficLogger_LogTraffic_Call) Return(ok bool) *MockTraf... method RunAndReturn (line 97) | func (_c *MockTrafficLogger_LogTraffic_Call) RunAndReturn(run func(str... function NewMockTrafficLogger (line 104) | func NewMockTrafficLogger(t interface { FILE: core/internal/integration_tests/mocks/mock_UDPConn.go type MockUDPConn (line 8) | type MockUDPConn struct method EXPECT (line 16) | func (_m *MockUDPConn) EXPECT() *MockUDPConn_Expecter { method Close (line 21) | func (_m *MockUDPConn) Close() error { method ReadFrom (line 66) | func (_m *MockUDPConn) ReadFrom(b []byte) (int, string, error) { method WriteTo (line 129) | func (_m *MockUDPConn) WriteTo(b []byte, addr string) (int, error) { type MockUDPConn_Expecter (line 12) | type MockUDPConn_Expecter struct method Close (line 44) | func (_e *MockUDPConn_Expecter) Close() *MockUDPConn_Close_Call { method ReadFrom (line 107) | func (_e *MockUDPConn_Expecter) ReadFrom(b interface{}) *MockUDPConn_R... method WriteTo (line 164) | func (_e *MockUDPConn_Expecter) WriteTo(b interface{}, addr interface{... type MockUDPConn_Close_Call (line 39) | type MockUDPConn_Close_Call struct method Run (line 48) | func (_c *MockUDPConn_Close_Call) Run(run func()) *MockUDPConn_Close_C... method Return (line 55) | func (_c *MockUDPConn_Close_Call) Return(_a0 error) *MockUDPConn_Close... method RunAndReturn (line 60) | func (_c *MockUDPConn_Close_Call) RunAndReturn(run func() error) *Mock... type MockUDPConn_ReadFrom_Call (line 101) | type MockUDPConn_ReadFrom_Call struct method Run (line 111) | func (_c *MockUDPConn_ReadFrom_Call) Run(run func(b []byte)) *MockUDPC... method Return (line 118) | func (_c *MockUDPConn_ReadFrom_Call) Return(_a0 int, _a1 string, _a2 e... method RunAndReturn (line 123) | func (_c *MockUDPConn_ReadFrom_Call) RunAndReturn(run func([]byte) (in... type MockUDPConn_WriteTo_Call (line 157) | type MockUDPConn_WriteTo_Call struct method Run (line 168) | func (_c *MockUDPConn_WriteTo_Call) Run(run func(b []byte, addr string... method Return (line 175) | func (_c *MockUDPConn_WriteTo_Call) Return(_a0 int, _a1 error) *MockUD... method RunAndReturn (line 180) | func (_c *MockUDPConn_WriteTo_Call) RunAndReturn(run func([]byte, stri... function NewMockUDPConn (line 187) | func NewMockUDPConn(t interface { FILE: core/internal/integration_tests/smoke_test.go function TestClientNoServer (line 21) | func TestClientNoServer(t *testing.T) { function TestClientServerBadAuth (line 33) | func TestClientServerBadAuth(t *testing.T) { function TestClientServerUDPDisabled (line 61) | func TestClientServerUDPDisabled(t *testing.T) { function TestClientServerTCPEcho (line 92) | func TestClientServerTCPEcho(t *testing.T) { function TestClientServerUDPEcho (line 139) | func TestClientServerUDPEcho(t *testing.T) { function TestClientServerHandshakeInfo (line 186) | func TestClientServerHandshakeInfo(t *testing.T) { FILE: core/internal/integration_tests/stress_test.go type tcpStressor (line 21) | type tcpStressor struct method Run (line 28) | func (s *tcpStressor) Run(t *testing.T) { type udpStressor (line 65) | type udpStressor struct method Run (line 74) | func (s *udpStressor) Run(t *testing.T) { function TestClientServerTCPStress (line 127) | func TestClientServerTCPStress(t *testing.T) { function TestClientServerUDPStress (line 171) | func TestClientServerUDPStress(t *testing.T) { FILE: core/internal/integration_tests/trafficlogger_test.go function TestClientServerTrafficLoggerTCP (line 19) | func TestClientServerTrafficLoggerTCP(t *testing.T) { function TestClientServerTrafficLoggerUDP (line 101) | func TestClientServerTrafficLoggerUDP(t *testing.T) { FILE: core/internal/integration_tests/utils_test.go constant testCertFile (line 14) | testCertFile = "test.crt" constant testKeyFile (line 15) | testKeyFile = "test.key" function serverTLSConfig (line 18) | func serverTLSConfig() server.TLSConfig { function serverConn (line 28) | func serverConn() (net.PacketConn, net.Addr, error) { type tcpEchoServer (line 39) | type tcpEchoServer struct method Serve (line 43) | func (s *tcpEchoServer) Serve() error { method Close (line 56) | func (s *tcpEchoServer) Close() error { type udpEchoServer (line 62) | type udpEchoServer struct method Serve (line 66) | func (s *udpEchoServer) Serve() error { method Close (line 80) | func (s *udpEchoServer) Close() error { FILE: core/internal/pmtud/avail.go constant DisablePathMTUDiscovery (line 6) | DisablePathMTUDiscovery = false FILE: core/internal/pmtud/unavail.go constant DisablePathMTUDiscovery (line 12) | DisablePathMTUDiscovery = true FILE: core/internal/protocol/http.go constant URLHost (line 9) | URLHost = "hysteria" constant URLPath (line 10) | URLPath = "/auth" constant RequestHeaderAuth (line 12) | RequestHeaderAuth = "Hysteria-Auth" constant ResponseHeaderUDPEnabled (line 13) | ResponseHeaderUDPEnabled = "Hysteria-UDP" constant CommonHeaderCCRX (line 14) | CommonHeaderCCRX = "Hysteria-CC-RX" constant CommonHeaderPadding (line 15) | CommonHeaderPadding = "Hysteria-Padding" constant StatusAuthOK (line 17) | StatusAuthOK = 233 type AuthRequest (line 21) | type AuthRequest struct type AuthResponse (line 27) | type AuthResponse struct function AuthRequestFromHeader (line 33) | func AuthRequestFromHeader(h http.Header) AuthRequest { function AuthRequestToHeader (line 41) | func AuthRequestToHeader(h http.Header, req AuthRequest) { function AuthResponseFromHeader (line 47) | func AuthResponseFromHeader(h http.Header) AuthResponse { function AuthResponseToHeader (line 60) | func AuthResponseToHeader(h http.Header, resp AuthResponse) { FILE: core/internal/protocol/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: core/internal/protocol/proxy.go constant FrameTypeTCPRequest (line 15) | FrameTypeTCPRequest = 0x401 constant MaxAddressLength (line 19) | MaxAddressLength = 2048 constant MaxMessageLength (line 20) | MaxMessageLength = 2048 constant MaxPaddingLength (line 21) | MaxPaddingLength = 4096 constant MaxUDPSize (line 23) | MaxUDPSize = 4096 constant maxVarInt1 (line 25) | maxVarInt1 = 63 constant maxVarInt2 (line 26) | maxVarInt2 = 16383 constant maxVarInt4 (line 27) | maxVarInt4 = 1073741823 constant maxVarInt8 (line 28) | maxVarInt8 = 4611686018427387903 function ReadTCPRequest (line 38) | func ReadTCPRequest(r io.Reader) (string, error) { function WriteTCPRequest (line 68) | func WriteTCPRequest(w io.Writer, addr string) error { function ReadTCPResponse (line 92) | func ReadTCPResponse(r io.Reader) (bool, string, error) { function WriteTCPResponse (line 130) | func WriteTCPResponse(w io.Writer, ok bool, msg string) error { type UDPMessage (line 159) | type UDPMessage struct method HeaderSize (line 168) | func (m *UDPMessage) HeaderSize() int { method Size (line 173) | func (m *UDPMessage) Size() int { method Serialize (line 177) | func (m *UDPMessage) Serialize(buf []byte) int { function ParseUDPMessage (line 192) | func ParseUDPMessage(msg []byte) (*UDPMessage, error) { function varintPut (line 226) | func varintPut(b []byte, i uint64) int { FILE: core/internal/protocol/proxy_test.go function TestUDPMessage (line 10) | func TestUDPMessage(t *testing.T) { function TestUDPMessageMalformed (line 93) | func TestUDPMessageMalformed(t *testing.T) { function TestReadTCPRequest (line 128) | func TestReadTCPRequest(t *testing.T) { function TestWriteTCPRequest (line 175) | func TestWriteTCPRequest(t *testing.T) { function TestReadTCPResponse (line 216) | func TestReadTCPResponse(t *testing.T) { function TestWriteTCPResponse (line 274) | func TestWriteTCPResponse(t *testing.T) { FILE: core/internal/utils/atomic.go type AtomicTime (line 8) | type AtomicTime struct method Set (line 18) | func (t *AtomicTime) Set(new time.Time) { method Get (line 22) | func (t *AtomicTime) Get() time.Time { function NewAtomicTime (line 12) | func NewAtomicTime(t time.Time) *AtomicTime { FILE: core/internal/utils/qstream.go type QStream (line 19) | type QStream struct method StreamID (line 23) | func (s *QStream) StreamID() quic.StreamID { method Read (line 27) | func (s *QStream) Read(p []byte) (n int, err error) { method CancelRead (line 31) | func (s *QStream) CancelRead(code quic.StreamErrorCode) { method SetReadDeadline (line 35) | func (s *QStream) SetReadDeadline(t time.Time) error { method Write (line 39) | func (s *QStream) Write(p []byte) (n int, err error) { method Close (line 43) | func (s *QStream) Close() error { method CancelWrite (line 48) | func (s *QStream) CancelWrite(code quic.StreamErrorCode) { method Context (line 52) | func (s *QStream) Context() context.Context { method SetWriteDeadline (line 56) | func (s *QStream) SetWriteDeadline(t time.Time) error { method SetDeadline (line 60) | func (s *QStream) SetDeadline(t time.Time) error { FILE: core/server/config.go constant defaultStreamReceiveWindow (line 15) | defaultStreamReceiveWindow = 8388608 constant defaultConnReceiveWindow (line 16) | defaultConnReceiveWindow = defaultStreamReceiveWindow * 5 / 2 constant defaultMaxIdleTimeout (line 17) | defaultMaxIdleTimeout = 30 * time.Second constant defaultMaxIncomingStreams (line 18) | defaultMaxIncomingStreams = 1024 constant defaultUDPIdleTimeout (line 19) | defaultUDPIdleTimeout = 60 * time.Second type Config (line 22) | type Config struct method fill (line 40) | func (c *Config) fill() error { type TLSConfig (line 99) | type TLSConfig struct type QUICConfig (line 105) | type QUICConfig struct type RequestHook (line 122) | type RequestHook interface type Outbound (line 132) | type Outbound interface type UDPConn (line 138) | type UDPConn interface type defaultOutbound (line 144) | type defaultOutbound struct method TCP (line 150) | func (o *defaultOutbound) TCP(reqAddr string) (net.Conn, error) { method UDP (line 154) | func (o *defaultOutbound) UDP(reqAddr string) (UDPConn, error) { type defaultUDPConn (line 162) | type defaultUDPConn struct method ReadFrom (line 166) | func (c *defaultUDPConn) ReadFrom(b []byte) (int, string, error) { method WriteTo (line 175) | func (c *defaultUDPConn) WriteTo(b []byte, addr string) (int, error) { type BandwidthConfig (line 184) | type BandwidthConfig struct type Authenticator (line 190) | type Authenticator interface type EventLogger (line 195) | type EventLogger interface type TrafficLogger (line 212) | type TrafficLogger interface FILE: core/server/copy.go function copyBufferLog (line 10) | func copyBufferLog(dst io.Writer, src io.Reader, log func(n uint64) bool... function copyTwoWayWithLogger (line 34) | func copyTwoWayWithLogger(id string, serverRw, remoteRw io.ReadWriter, l... function copyTwoWay (line 52) | func copyTwoWay(serverRw, remoteRw io.ReadWriter) error { FILE: core/server/mock_UDPConn.go type mockUDPConn (line 8) | type mockUDPConn struct method EXPECT (line 16) | func (_m *mockUDPConn) EXPECT() *mockUDPConn_Expecter { method Close (line 21) | func (_m *mockUDPConn) Close() error { method ReadFrom (line 66) | func (_m *mockUDPConn) ReadFrom(b []byte) (int, string, error) { method WriteTo (line 129) | func (_m *mockUDPConn) WriteTo(b []byte, addr string) (int, error) { type mockUDPConn_Expecter (line 12) | type mockUDPConn_Expecter struct method Close (line 44) | func (_e *mockUDPConn_Expecter) Close() *mockUDPConn_Close_Call { method ReadFrom (line 107) | func (_e *mockUDPConn_Expecter) ReadFrom(b interface{}) *mockUDPConn_R... method WriteTo (line 164) | func (_e *mockUDPConn_Expecter) WriteTo(b interface{}, addr interface{... type mockUDPConn_Close_Call (line 39) | type mockUDPConn_Close_Call struct method Run (line 48) | func (_c *mockUDPConn_Close_Call) Run(run func()) *mockUDPConn_Close_C... method Return (line 55) | func (_c *mockUDPConn_Close_Call) Return(_a0 error) *mockUDPConn_Close... method RunAndReturn (line 60) | func (_c *mockUDPConn_Close_Call) RunAndReturn(run func() error) *mock... type mockUDPConn_ReadFrom_Call (line 101) | type mockUDPConn_ReadFrom_Call struct method Run (line 111) | func (_c *mockUDPConn_ReadFrom_Call) Run(run func(b []byte)) *mockUDPC... method Return (line 118) | func (_c *mockUDPConn_ReadFrom_Call) Return(_a0 int, _a1 string, _a2 e... method RunAndReturn (line 123) | func (_c *mockUDPConn_ReadFrom_Call) RunAndReturn(run func([]byte) (in... type mockUDPConn_WriteTo_Call (line 157) | type mockUDPConn_WriteTo_Call struct method Run (line 168) | func (_c *mockUDPConn_WriteTo_Call) Run(run func(b []byte, addr string... method Return (line 175) | func (_c *mockUDPConn_WriteTo_Call) Return(_a0 int, _a1 error) *mockUD... method RunAndReturn (line 180) | func (_c *mockUDPConn_WriteTo_Call) RunAndReturn(run func([]byte, stri... function newMockUDPConn (line 187) | func newMockUDPConn(t interface { FILE: core/server/mock_udpEventLogger.go type mockUDPEventLogger (line 8) | type mockUDPEventLogger struct method EXPECT (line 16) | func (_m *mockUDPEventLogger) EXPECT() *mockUDPEventLogger_Expecter { method Close (line 21) | func (_m *mockUDPEventLogger) Close(sessionID uint32, err error) { method New (line 55) | func (_m *mockUDPEventLogger) New(sessionID uint32, reqAddr string) { type mockUDPEventLogger_Expecter (line 12) | type mockUDPEventLogger_Expecter struct method Close (line 33) | func (_e *mockUDPEventLogger_Expecter) Close(sessionID interface{}, er... method New (line 67) | func (_e *mockUDPEventLogger_Expecter) New(sessionID interface{}, reqA... type mockUDPEventLogger_Close_Call (line 26) | type mockUDPEventLogger_Close_Call struct method Run (line 37) | func (_c *mockUDPEventLogger_Close_Call) Run(run func(sessionID uint32... method Return (line 44) | func (_c *mockUDPEventLogger_Close_Call) Return() *mockUDPEventLogger_... method RunAndReturn (line 49) | func (_c *mockUDPEventLogger_Close_Call) RunAndReturn(run func(uint32,... type mockUDPEventLogger_New_Call (line 60) | type mockUDPEventLogger_New_Call struct method Run (line 71) | func (_c *mockUDPEventLogger_New_Call) Run(run func(sessionID uint32, ... method Return (line 78) | func (_c *mockUDPEventLogger_New_Call) Return() *mockUDPEventLogger_Ne... method RunAndReturn (line 83) | func (_c *mockUDPEventLogger_New_Call) RunAndReturn(run func(uint32, s... function newMockUDPEventLogger (line 90) | func newMockUDPEventLogger(t interface { FILE: core/server/mock_udpIO.go type mockUDPIO (line 11) | type mockUDPIO struct method EXPECT (line 19) | func (_m *mockUDPIO) EXPECT() *mockUDPIO_Expecter { method Hook (line 24) | func (_m *mockUDPIO) Hook(data []byte, reqAddr *string) error { method ReceiveMessage (line 71) | func (_m *mockUDPIO) ReceiveMessage() (*protocol.UDPMessage, error) { method SendMessage (line 128) | func (_m *mockUDPIO) SendMessage(_a0 []byte, _a1 *protocol.UDPMessage)... method UDP (line 175) | func (_m *mockUDPIO) UDP(reqAddr string) (UDPConn, error) { type mockUDPIO_Expecter (line 15) | type mockUDPIO_Expecter struct method Hook (line 49) | func (_e *mockUDPIO_Expecter) Hook(data interface{}, reqAddr interface... method ReceiveMessage (line 106) | func (_e *mockUDPIO_Expecter) ReceiveMessage() *mockUDPIO_ReceiveMessa... method SendMessage (line 153) | func (_e *mockUDPIO_Expecter) SendMessage(_a0 interface{}, _a1 interfa... method UDP (line 211) | func (_e *mockUDPIO_Expecter) UDP(reqAddr interface{}) *mockUDPIO_UDP_... type mockUDPIO_Hook_Call (line 42) | type mockUDPIO_Hook_Call struct method Run (line 53) | func (_c *mockUDPIO_Hook_Call) Run(run func(data []byte, reqAddr *stri... method Return (line 60) | func (_c *mockUDPIO_Hook_Call) Return(_a0 error) *mockUDPIO_Hook_Call { method RunAndReturn (line 65) | func (_c *mockUDPIO_Hook_Call) RunAndReturn(run func([]byte, *string) ... type mockUDPIO_ReceiveMessage_Call (line 101) | type mockUDPIO_ReceiveMessage_Call struct method Run (line 110) | func (_c *mockUDPIO_ReceiveMessage_Call) Run(run func()) *mockUDPIO_Re... method Return (line 117) | func (_c *mockUDPIO_ReceiveMessage_Call) Return(_a0 *protocol.UDPMessa... method RunAndReturn (line 122) | func (_c *mockUDPIO_ReceiveMessage_Call) RunAndReturn(run func() (*pro... type mockUDPIO_SendMessage_Call (line 146) | type mockUDPIO_SendMessage_Call struct method Run (line 157) | func (_c *mockUDPIO_SendMessage_Call) Run(run func(_a0 []byte, _a1 *pr... method Return (line 164) | func (_c *mockUDPIO_SendMessage_Call) Return(_a0 error) *mockUDPIO_Sen... method RunAndReturn (line 169) | func (_c *mockUDPIO_SendMessage_Call) RunAndReturn(run func([]byte, *p... type mockUDPIO_UDP_Call (line 205) | type mockUDPIO_UDP_Call struct method Run (line 215) | func (_c *mockUDPIO_UDP_Call) Run(run func(reqAddr string)) *mockUDPIO... method Return (line 222) | func (_c *mockUDPIO_UDP_Call) Return(_a0 UDPConn, _a1 error) *mockUDPI... method RunAndReturn (line 227) | func (_c *mockUDPIO_UDP_Call) RunAndReturn(run func(string) (UDPConn, ... function newMockUDPIO (line 234) | func newMockUDPIO(t interface { FILE: core/server/server.go constant closeErrCodeOK (line 18) | closeErrCodeOK = 0x100 constant closeErrCodeTrafficLimitReached (line 19) | closeErrCodeTrafficLimitReached = 0x107 type Server (line 22) | type Server interface function NewServer (line 27) | func NewServer(config *Config) (Server, error) { type serverImpl (line 56) | type serverImpl struct method Serve (line 61) | func (s *serverImpl) Serve() error { method Close (line 71) | func (s *serverImpl) Close() error { method handleClient (line 77) | func (s *serverImpl) handleClient(conn quic.Connection) { type h3sHandler (line 96) | type h3sHandler struct method ServeHTTP (line 114) | func (h *h3sHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { method ProxyStreamHijacker (line 190) | func (h *h3sHandler) ProxyStreamHijacker(ft http3.FrameType, id quic.C... method handleTCPRequest (line 207) | func (h *h3sHandler) handleTCPRequest(stream quic.Stream) { method masqHandler (line 274) | func (h *h3sHandler) masqHandler(w http.ResponseWriter, r *http.Reques... function newH3sHandler (line 107) | func newH3sHandler(config *Config, conn quic.Connection) *h3sHandler { type udpIOImpl (line 284) | type udpIOImpl struct method ReceiveMessage (line 292) | func (io *udpIOImpl) ReceiveMessage() (*protocol.UDPMessage, error) { method SendMessage (line 316) | func (io *udpIOImpl) SendMessage(buf []byte, msg *protocol.UDPMessage)... method Hook (line 333) | func (io *udpIOImpl) Hook(data []byte, reqAddr *string) error { method UDP (line 341) | func (io *udpIOImpl) UDP(reqAddr string) (UDPConn, error) { type udpEventLoggerImpl (line 345) | type udpEventLoggerImpl struct method New (line 351) | func (l *udpEventLoggerImpl) New(sessionID uint32, reqAddr string) { method Close (line 357) | func (l *udpEventLoggerImpl) Close(sessionID uint32, err error) { FILE: core/server/udp.go constant idleCleanupInterval (line 17) | idleCleanupInterval = 1 * time.Second type udpIO (line 20) | type udpIO interface type udpEventLogger (line 27) | type udpEventLogger interface type udpSessionEntry (line 32) | type udpSessionEntry struct method CloseWithErr (line 68) | func (e *udpSessionEntry) CloseWithErr(err error) { method Feed (line 92) | func (e *udpSessionEntry) Feed(msg *protocol.UDPMessage) (int, error) { method initConn (line 116) | func (e *udpSessionEntry) initConn(firstMsg *protocol.UDPMessage) error { method receiveLoop (line 152) | func (e *udpSessionEntry) receiveLoop() { function newUDPSessionEntry (line 48) | func newUDPSessionEntry( function sendMessageAutoFrag (line 189) | func sendMessageAutoFrag(io udpIO, buf []byte, msg *protocol.UDPMessage)... type udpSessionManager (line 213) | type udpSessionManager struct method Run (line 233) | func (m *udpSessionManager) Run() error { method idleCleanupLoop (line 248) | func (m *udpSessionManager) idleCleanupLoop(stopCh <-chan struct{}) { method cleanup (line 261) | func (m *udpSessionManager) cleanup(idleOnly bool) { method feed (line 281) | func (m *udpSessionManager) feed(msg *protocol.UDPMessage) { method Count (line 325) | func (m *udpSessionManager) Count() int { function newUDPSessionManager (line 222) | func newUDPSessionManager(io udpIO, eventLogger udpEventLogger, idleTime... FILE: core/server/udp_test.go function TestUDPSessionManager (line 15) | func TestUDPSessionManager(t *testing.T) { FILE: extras/auth/command.go type CommandAuthenticator (line 14) | type CommandAuthenticator struct method Authenticate (line 18) | func (a *CommandAuthenticator) Authenticate(addr net.Addr, auth string... FILE: extras/auth/http.go constant httpAuthTimeout (line 17) | httpAuthTimeout = 10 * time.Second type HTTPAuthenticator (line 24) | type HTTPAuthenticator struct method post (line 54) | func (a *HTTPAuthenticator) post(req *httpAuthRequest) (*httpAuthRespo... method Authenticate (line 79) | func (a *HTTPAuthenticator) Authenticate(addr net.Addr, auth string, t... function NewHTTPAuthenticator (line 29) | func NewHTTPAuthenticator(url string, insecure bool) *HTTPAuthenticator { type httpAuthRequest (line 43) | type httpAuthRequest struct type httpAuthResponse (line 49) | type httpAuthResponse struct FILE: extras/auth/http_test.go function TestHTTPAuthenticator (line 12) | func TestHTTPAuthenticator(t *testing.T) { FILE: extras/auth/http_test.py function auth (line 7) | def auth(): FILE: extras/auth/password.go type PasswordAuthenticator (line 12) | type PasswordAuthenticator struct method Authenticate (line 16) | func (a *PasswordAuthenticator) Authenticate(addr net.Addr, auth strin... FILE: extras/auth/password_test.go function TestPasswordAuthenticator (line 8) | func TestPasswordAuthenticator(t *testing.T) { FILE: extras/auth/userpass.go constant userPassSeparator (line 11) | userPassSeparator = ":" type UserPassAuthenticator (line 18) | type UserPassAuthenticator struct method Authenticate (line 22) | func (a *UserPassAuthenticator) Authenticate(addr net.Addr, auth strin... function splitUserPass (line 34) | func splitUserPass(auth string) (user, pass string, ok bool) { FILE: extras/auth/userpass_test.go function TestUserPassAuthenticator (line 8) | func TestUserPassAuthenticator(t *testing.T) { FILE: extras/auth/v2board.go type V2boardApiProvider (line 17) | type V2boardApiProvider struct method Authenticate (line 100) | func (v *V2boardApiProvider) Authenticate(addr net.Addr, auth string, ... type User (line 28) | type User struct type ResponseData (line 33) | type ResponseData struct function getUserList (line 37) | func getUserList(url string) ([]User, error) { function UpdateUsers (line 53) | func UpdateUsers(url string, interval time.Duration, trafficlogger serve... function processUserList (line 79) | func processUserList(userList []User, trafficlogger server.TrafficLogger) { FILE: extras/correctnet/correctnet.go function extractIPFamily (line 9) | func extractIPFamily(ip net.IP) (family string) { function tcpAddrNetwork (line 20) | func tcpAddrNetwork(addr *net.TCPAddr) (network string) { function udpAddrNetwork (line 27) | func udpAddrNetwork(addr *net.UDPAddr) (network string) { function ipAddrNetwork (line 34) | func ipAddrNetwork(addr *net.IPAddr) (network string) { function Listen (line 41) | func Listen(network, address string) (net.Listener, error) { function ListenTCP (line 52) | func ListenTCP(network string, laddr *net.TCPAddr) (*net.TCPListener, er... function ListenPacket (line 59) | func ListenPacket(network, address string) (listener net.PacketConn, err... function ListenUDP (line 78) | func ListenUDP(network string, laddr *net.UDPAddr) (*net.UDPConn, error) { function HTTPListenAndServe (line 85) | func HTTPListenAndServe(address string, handler http.Handler) error { FILE: extras/masq/server.go type MasqTCPServer (line 16) | type MasqTCPServer struct method ListenAndServeHTTP (line 24) | func (s *MasqTCPServer) ListenAndServeHTTP(addr string) error { method ListenAndServeHTTPS (line 39) | func (s *MasqTCPServer) ListenAndServeHTTPS(addr string) error { type altSvcHijackResponseWriter (line 59) | type altSvcHijackResponseWriter struct method WriteHeader (line 64) | func (w *altSvcHijackResponseWriter) WriteHeader(statusCode int) { type altSvcHijackResponseWriterHijacker (line 73) | type altSvcHijackResponseWriterHijacker struct method Hijack (line 77) | func (w *altSvcHijackResponseWriterHijacker) Hijack() (net.Conn, *bufi... function newAltSvcHijackResponseWriter (line 81) | func newAltSvcHijackResponseWriter(w http.ResponseWriter, port int) http... FILE: extras/obfs/conn.go constant udpBufferSize (line 10) | udpBufferSize = 2048 type Obfuscator (line 15) | type Obfuscator interface type obfsPacketConn (line 22) | type obfsPacketConn struct method ReadFrom (line 61) | func (c *obfsPacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err... method WriteTo (line 78) | func (c *obfsPacketConn) WriteTo(p []byte, addr net.Addr) (n int, err ... method Close (line 89) | func (c *obfsPacketConn) Close() error { method LocalAddr (line 93) | func (c *obfsPacketConn) LocalAddr() net.Addr { method SetDeadline (line 97) | func (c *obfsPacketConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 101) | func (c *obfsPacketConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 105) | func (c *obfsPacketConn) SetWriteDeadline(t time.Time) error { type obfsPacketConnUDP (line 35) | type obfsPacketConnUDP struct method SetReadBuffer (line 111) | func (c *obfsPacketConnUDP) SetReadBuffer(bytes int) error { method SetWriteBuffer (line 115) | func (c *obfsPacketConnUDP) SetWriteBuffer(bytes int) error { method SyscallConn (line 119) | func (c *obfsPacketConnUDP) SyscallConn() (syscall.RawConn, error) { function WrapPacketConn (line 44) | func WrapPacketConn(conn net.PacketConn, obfs Obfuscator) net.PacketConn { FILE: extras/obfs/salamander.go constant smPSKMinLen (line 13) | smPSKMinLen = 4 constant smSaltLen (line 14) | smSaltLen = 8 constant smKeyLen (line 15) | smKeyLen = blake2b.Size256 type SalamanderObfuscator (line 25) | type SalamanderObfuscator struct method Obfuscate (line 42) | func (o *SalamanderObfuscator) Obfuscate(in, out []byte) int { method Deobfuscate (line 57) | func (o *SalamanderObfuscator) Deobfuscate(in, out []byte) int { method key (line 69) | func (o *SalamanderObfuscator) key(salt []byte) [smKeyLen]byte { function NewSalamanderObfuscator (line 32) | func NewSalamanderObfuscator(psk []byte) (*SalamanderObfuscator, error) { FILE: extras/obfs/salamander_test.go function BenchmarkSalamanderObfuscator_Obfuscate (line 10) | func BenchmarkSalamanderObfuscator_Obfuscate(b *testing.B) { function BenchmarkSalamanderObfuscator_Deobfuscate (line 21) | func BenchmarkSalamanderObfuscator_Deobfuscate(b *testing.B) { function TestSalamanderObfuscator (line 32) | func TestSalamanderObfuscator(t *testing.T) { FILE: extras/outbounds/acl.go constant aclCacheSize (line 13) | aclCacheSize = 1024 type aclEngine (line 26) | type aclEngine struct method handle (line 79) | func (a *aclEngine) handle(reqAddr *AddrEx, proto acl.Protocol) Plugga... method TCP (line 103) | func (a *aclEngine) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 108) | func (a *aclEngine) UDP(reqAddr *AddrEx) (UDPConn, error) { type OutboundEntry (line 31) | type OutboundEntry struct function NewACLEngineFromString (line 36) | func NewACLEngineFromString(rules string, outbounds []OutboundEntry, geo... function NewACLEngineFromFile (line 49) | func NewACLEngineFromFile(filename string, outbounds []OutboundEntry, ge... function outboundsToMap (line 57) | func outboundsToMap(outbounds []OutboundEntry) map[string]PluggableOutbo... type aclRejectOutbound (line 113) | type aclRejectOutbound struct method TCP (line 115) | func (a *aclRejectOutbound) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 119) | func (a *aclRejectOutbound) UDP(reqAddr *AddrEx) (UDPConn, error) { FILE: extras/outbounds/acl/compile.go type Protocol (line 14) | type Protocol constant ProtocolBoth (line 17) | ProtocolBoth Protocol = iota constant ProtocolTCP (line 18) | ProtocolTCP constant ProtocolUDP (line 19) | ProtocolUDP type Outbound (line 22) | type Outbound interface type HostInfo (line 26) | type HostInfo struct method String (line 32) | func (h HostInfo) String() string { type CompiledRuleSet (line 36) | type CompiledRuleSet interface type compiledRule (line 40) | type compiledRule struct method Match (line 49) | func (r *compiledRule[O]) Match(host HostInfo, proto Protocol, port uint... type matchResult (line 59) | type matchResult struct type compiledRuleSetImpl (line 64) | type compiledRuleSetImpl struct method Match (line 69) | func (s *compiledRuleSetImpl[O]) Match(host HostInfo, proto Protocol, po... type CompilationError (line 88) | type CompilationError struct method Error (line 93) | func (e *CompilationError) Error() string { type GeoLoader (line 97) | type GeoLoader interface function Compile (line 107) | func Compile[O Outbound](rules []TextRule, outbounds map[string]O, function parseProtoPort (line 152) | func parseProtoPort(protoPort string) (Protocol, uint16, uint16, bool) { function compileHostMatcher (line 212) | func compileHostMatcher(addr string, geoLoader GeoLoader) (hostMatcher, ... function parseGeoSiteName (line 295) | func parseGeoSiteName(s string) (string, []string) { FILE: extras/outbounds/acl/compile_test.go type testGeoLoader (line 14) | type testGeoLoader struct method LoadGeoIP (line 16) | func (l *testGeoLoader) LoadGeoIP() (map[string]*v2geo.GeoIP, error) { method LoadGeoSite (line 20) | func (l *testGeoLoader) LoadGeoSite() (map[string]*v2geo.GeoSite, erro... function TestCompile (line 24) | func TestCompile(t *testing.T) { function Test_parseGeoSiteName (line 286) | func Test_parseGeoSiteName(t *testing.T) { FILE: extras/outbounds/acl/matchers.go constant domainMatchExact (line 11) | domainMatchExact = uint8(iota) constant domainMatchWildcard (line 12) | domainMatchWildcard constant domainMatchSuffix (line 13) | domainMatchSuffix type hostMatcher (line 16) | type hostMatcher interface type ipMatcher (line 20) | type ipMatcher struct method Match (line 24) | func (m *ipMatcher) Match(host HostInfo) bool { type cidrMatcher (line 28) | type cidrMatcher struct method Match (line 32) | func (m *cidrMatcher) Match(host HostInfo) bool { type domainMatcher (line 36) | type domainMatcher struct method Match (line 41) | func (m *domainMatcher) Match(host HostInfo) bool { function deepMatchRune (line 58) | func deepMatchRune(str, pattern []rune) bool { type allMatcher (line 75) | type allMatcher struct method Match (line 77) | func (m *allMatcher) Match(host HostInfo) bool { FILE: extras/outbounds/acl/matchers_test.go function Test_ipMatcher_Match (line 8) | func Test_ipMatcher_Match(t *testing.T) { function Test_cidrMatcher_Match (line 64) | func Test_cidrMatcher_Match(t *testing.T) { function Test_domainMatcher_Match (line 143) | func Test_domainMatcher_Match(t *testing.T) { FILE: extras/outbounds/acl/matchers_v2geo.go type geoipMatcher (line 16) | type geoipMatcher struct method matchIP (line 24) | func (m *geoipMatcher) matchIP(ip net.IP) bool { method Match (line 48) | func (m *geoipMatcher) Match(host HostInfo) bool { function newGeoIPMatcher (line 62) | func newGeoIPMatcher(list *v2geo.GeoIP) (*geoipMatcher, error) { type geositeDomainType (line 98) | type geositeDomainType constant geositeDomainPlain (line 101) | geositeDomainPlain geositeDomainType = iota constant geositeDomainRegex (line 102) | geositeDomainRegex constant geositeDomainRoot (line 103) | geositeDomainRoot constant geositeDomainFull (line 104) | geositeDomainFull type geositeDomain (line 107) | type geositeDomain struct type geositeMatcher (line 114) | type geositeMatcher struct method matchDomain (line 121) | func (m *geositeMatcher) matchDomain(domain geositeDomain, host HostIn... method Match (line 154) | func (m *geositeMatcher) Match(host HostInfo) bool { function newGeositeMatcher (line 163) | func newGeositeMatcher(list *v2geo.GeoSite, attrs []string) (*geositeMat... function domainAttributeToMap (line 205) | func domainAttributeToMap(attrs []*v2geo.Domain_Attribute) map[string]bo... FILE: extras/outbounds/acl/matchers_v2geo_test.go function Test_geoipMatcher_Match (line 11) | func Test_geoipMatcher_Match(t *testing.T) { function Test_geositeMatcher_Match (line 66) | func Test_geositeMatcher_Match(t *testing.T) { FILE: extras/outbounds/acl/parse.go type InvalidSyntaxError (line 11) | type InvalidSyntaxError struct method Error (line 16) | func (e *InvalidSyntaxError) Error() string { type TextRule (line 28) | type TextRule struct function parseLine (line 36) | func parseLine(line string, num int) *TextRule { function ParseTextRules (line 50) | func ParseTextRules(text string) ([]TextRule, error) { FILE: extras/outbounds/acl/parse_test.go function TestParseTextRules (line 8) | func TestParseTextRules(t *testing.T) { FILE: extras/outbounds/acl/v2geo/load.go function LoadGeoIP (line 12) | func LoadGeoIP(filename string) (map[string]*GeoIP, error) { function LoadGeoSite (line 30) | func LoadGeoSite(filename string) (map[string]*GeoSite, error) { FILE: extras/outbounds/acl/v2geo/load_test.go function TestLoadGeoIP (line 9) | func TestLoadGeoIP(t *testing.T) { function TestLoadGeoSite (line 27) | func TestLoadGeoSite(t *testing.T) { FILE: extras/outbounds/acl/v2geo/v2geo.pb.go constant _ (line 18) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 20) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) type Domain_Type (line 24) | type Domain_Type method Enum (line 53) | func (x Domain_Type) Enum() *Domain_Type { method String (line 59) | func (x Domain_Type) String() string { method Descriptor (line 63) | func (Domain_Type) Descriptor() protoreflect.EnumDescriptor { method Type (line 67) | func (Domain_Type) Type() protoreflect.EnumType { method Number (line 71) | func (x Domain_Type) Number() protoreflect.EnumNumber { method EnumDescriptor (line 76) | func (Domain_Type) EnumDescriptor() ([]byte, []int) { constant Domain_Plain (line 28) | Domain_Plain Domain_Type = 0 constant Domain_Regex (line 30) | Domain_Regex Domain_Type = 1 constant Domain_RootDomain (line 32) | Domain_RootDomain Domain_Type = 2 constant Domain_Full (line 34) | Domain_Full Domain_Type = 3 type Domain (line 81) | type Domain struct method Reset (line 94) | func (x *Domain) Reset() { method String (line 103) | func (x *Domain) String() string { method ProtoMessage (line 107) | func (*Domain) ProtoMessage() {} method ProtoReflect (line 109) | func (x *Domain) ProtoReflect() protoreflect.Message { method Descriptor (line 122) | func (*Domain) Descriptor() ([]byte, []int) { method GetType (line 126) | func (x *Domain) GetType() Domain_Type { method GetValue (line 133) | func (x *Domain) GetValue() string { method GetAttribute (line 140) | func (x *Domain) GetAttribute() []*Domain_Attribute { type CIDR (line 148) | type CIDR struct method Reset (line 159) | func (x *CIDR) Reset() { method String (line 168) | func (x *CIDR) String() string { method ProtoMessage (line 172) | func (*CIDR) ProtoMessage() {} method ProtoReflect (line 174) | func (x *CIDR) ProtoReflect() protoreflect.Message { method Descriptor (line 187) | func (*CIDR) Descriptor() ([]byte, []int) { method GetIp (line 191) | func (x *CIDR) GetIp() []byte { method GetPrefix (line 198) | func (x *CIDR) GetPrefix() uint32 { type GeoIP (line 205) | type GeoIP struct method Reset (line 218) | func (x *GeoIP) Reset() { method String (line 227) | func (x *GeoIP) String() string { method ProtoMessage (line 231) | func (*GeoIP) ProtoMessage() {} method ProtoReflect (line 233) | func (x *GeoIP) ProtoReflect() protoreflect.Message { method Descriptor (line 246) | func (*GeoIP) Descriptor() ([]byte, []int) { method GetCountryCode (line 250) | func (x *GeoIP) GetCountryCode() string { method GetCidr (line 257) | func (x *GeoIP) GetCidr() []*CIDR { method GetInverseMatch (line 264) | func (x *GeoIP) GetInverseMatch() bool { method GetResourceHash (line 271) | func (x *GeoIP) GetResourceHash() []byte { method GetCode (line 278) | func (x *GeoIP) GetCode() string { type GeoIPList (line 285) | type GeoIPList struct method Reset (line 293) | func (x *GeoIPList) Reset() { method String (line 302) | func (x *GeoIPList) String() string { method ProtoMessage (line 306) | func (*GeoIPList) ProtoMessage() {} method ProtoReflect (line 308) | func (x *GeoIPList) ProtoReflect() protoreflect.Message { method Descriptor (line 321) | func (*GeoIPList) Descriptor() ([]byte, []int) { method GetEntry (line 325) | func (x *GeoIPList) GetEntry() []*GeoIP { type GeoSite (line 332) | type GeoSite struct method Reset (line 344) | func (x *GeoSite) Reset() { method String (line 353) | func (x *GeoSite) String() string { method ProtoMessage (line 357) | func (*GeoSite) ProtoMessage() {} method ProtoReflect (line 359) | func (x *GeoSite) ProtoReflect() protoreflect.Message { method Descriptor (line 372) | func (*GeoSite) Descriptor() ([]byte, []int) { method GetCountryCode (line 376) | func (x *GeoSite) GetCountryCode() string { method GetDomain (line 383) | func (x *GeoSite) GetDomain() []*Domain { method GetResourceHash (line 390) | func (x *GeoSite) GetResourceHash() []byte { method GetCode (line 397) | func (x *GeoSite) GetCode() string { type GeoSiteList (line 404) | type GeoSiteList struct method Reset (line 412) | func (x *GeoSiteList) Reset() { method String (line 421) | func (x *GeoSiteList) String() string { method ProtoMessage (line 425) | func (*GeoSiteList) ProtoMessage() {} method ProtoReflect (line 427) | func (x *GeoSiteList) ProtoReflect() protoreflect.Message { method Descriptor (line 440) | func (*GeoSiteList) Descriptor() ([]byte, []int) { method GetEntry (line 444) | func (x *GeoSiteList) GetEntry() []*GeoSite { type Domain_Attribute (line 451) | type Domain_Attribute struct method Reset (line 464) | func (x *Domain_Attribute) Reset() { method String (line 473) | func (x *Domain_Attribute) String() string { method ProtoMessage (line 477) | func (*Domain_Attribute) ProtoMessage() {} method ProtoReflect (line 479) | func (x *Domain_Attribute) ProtoReflect() protoreflect.Message { method Descriptor (line 492) | func (*Domain_Attribute) Descriptor() ([]byte, []int) { method GetKey (line 496) | func (x *Domain_Attribute) GetKey() string { method GetTypedValue (line 503) | func (m *Domain_Attribute) GetTypedValue() isDomain_Attribute_TypedVal... method GetBoolValue (line 510) | func (x *Domain_Attribute) GetBoolValue() bool { method GetIntValue (line 517) | func (x *Domain_Attribute) GetIntValue() int64 { type isDomain_Attribute_TypedValue (line 524) | type isDomain_Attribute_TypedValue interface type Domain_Attribute_BoolValue (line 528) | type Domain_Attribute_BoolValue struct method isDomain_Attribute_TypedValue (line 536) | func (*Domain_Attribute_BoolValue) isDomain_Attribute_TypedValue() {} type Domain_Attribute_IntValue (line 532) | type Domain_Attribute_IntValue struct method isDomain_Attribute_TypedValue (line 538) | func (*Domain_Attribute_IntValue) isDomain_Attribute_TypedValue() {} function file_v2geo_proto_rawDescGZIP (line 598) | func file_v2geo_proto_rawDescGZIP() []byte { function init (line 631) | func init() { file_v2geo_proto_init() } function file_v2geo_proto_init (line 632) | func file_v2geo_proto_init() { FILE: extras/outbounds/acl_test.go function TestACLEngine (line 10) | func TestACLEngine(t *testing.T) { FILE: extras/outbounds/dns_https.go type dohResolver (line 14) | type dohResolver struct method resolve (line 38) | func (r *dohResolver) resolve(reqAddr *AddrEx) { method TCP (line 76) | func (r *dohResolver) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 81) | func (r *dohResolver) UDP(reqAddr *AddrEx) (UDPConn, error) { function NewDoHResolver (line 19) | func NewDoHResolver(host string, timeout time.Duration, sni string, inse... FILE: extras/outbounds/dns_standard.go constant resolverDefaultTimeout (line 12) | resolverDefaultTimeout = 2 * time.Second constant standardResolverRetryTimes (line 13) | standardResolverRetryTimes = 2 type standardResolver (line 19) | type standardResolver struct method skipCNAMEChain (line 90) | func (r *standardResolver) skipCNAMEChain(answers []dns.RR) string { method lookup4 (line 111) | func (r *standardResolver) lookup4(host string) (net.IP, error) { method lookup6 (line 141) | func (r *standardResolver) lookup6(host string) (net.IP, error) { method resolve (line 169) | func (r *standardResolver) resolve(reqAddr *AddrEx) { method TCP (line 213) | func (r *standardResolver) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 218) | func (r *standardResolver) UDP(reqAddr *AddrEx) (UDPConn, error) { function NewStandardResolverUDP (line 25) | func NewStandardResolverUDP(addr string, timeout time.Duration, next Plu... function NewStandardResolverTCP (line 35) | func NewStandardResolverTCP(addr string, timeout time.Duration, next Plu... function NewStandardResolverTLS (line 46) | func NewStandardResolverTLS(addr string, timeout time.Duration, sni stri... function addDefaultPort (line 62) | func addDefaultPort(addr string) string { function addDefaultPortTLS (line 70) | func addDefaultPortTLS(addr string) string { function timeoutOrDefault (line 77) | func timeoutOrDefault(timeout time.Duration) time.Duration { FILE: extras/outbounds/dns_system.go type systemResolver (line 12) | type systemResolver struct method resolve (line 22) | func (r *systemResolver) resolve(reqAddr *AddrEx) { method TCP (line 33) | func (r *systemResolver) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 38) | func (r *systemResolver) UDP(reqAddr *AddrEx) (UDPConn, error) { function NewSystemResolver (line 16) | func NewSystemResolver(next PluggableOutbound) PluggableOutbound { FILE: extras/outbounds/interface.go type PluggableOutbound (line 23) | type PluggableOutbound interface type UDPConn (line 28) | type UDPConn interface type AddrEx (line 41) | type AddrEx struct method String (line 47) | func (a *AddrEx) String() string { type ResolveInfo (line 57) | type ResolveInfo struct type PluggableOutboundAdapter (line 65) | type PluggableOutboundAdapter struct method TCP (line 69) | func (a *PluggableOutboundAdapter) TCP(reqAddr string) (net.Conn, erro... method UDP (line 84) | func (a *PluggableOutboundAdapter) UDP(reqAddr string) (server.UDPConn... type udpConnAdapter (line 103) | type udpConnAdapter struct method ReadFrom (line 107) | func (u *udpConnAdapter) ReadFrom(b []byte) (int, string, error) { method WriteTo (line 116) | func (u *udpConnAdapter) WriteTo(b []byte, addr string) (int, error) { method Close (line 131) | func (u *udpConnAdapter) Close() error { FILE: extras/outbounds/interface_test.go function TestPluggableOutboundAdapter (line 10) | func TestPluggableOutboundAdapter(t *testing.T) { FILE: extras/outbounds/mock_PluggableOutbound.go type mockPluggableOutbound (line 12) | type mockPluggableOutbound struct method EXPECT (line 20) | func (_m *mockPluggableOutbound) EXPECT() *mockPluggableOutbound_Expec... method TCP (line 25) | func (_m *mockPluggableOutbound) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 83) | func (_m *mockPluggableOutbound) UDP(reqAddr *AddrEx) (UDPConn, error) { type mockPluggableOutbound_Expecter (line 16) | type mockPluggableOutbound_Expecter struct method TCP (line 61) | func (_e *mockPluggableOutbound_Expecter) TCP(reqAddr interface{}) *mo... method UDP (line 119) | func (_e *mockPluggableOutbound_Expecter) UDP(reqAddr interface{}) *mo... type mockPluggableOutbound_TCP_Call (line 55) | type mockPluggableOutbound_TCP_Call struct method Run (line 65) | func (_c *mockPluggableOutbound_TCP_Call) Run(run func(reqAddr *AddrEx... method Return (line 72) | func (_c *mockPluggableOutbound_TCP_Call) Return(_a0 net.Conn, _a1 err... method RunAndReturn (line 77) | func (_c *mockPluggableOutbound_TCP_Call) RunAndReturn(run func(*AddrE... type mockPluggableOutbound_UDP_Call (line 113) | type mockPluggableOutbound_UDP_Call struct method Run (line 123) | func (_c *mockPluggableOutbound_UDP_Call) Run(run func(reqAddr *AddrEx... method Return (line 130) | func (_c *mockPluggableOutbound_UDP_Call) Return(_a0 UDPConn, _a1 erro... method RunAndReturn (line 135) | func (_c *mockPluggableOutbound_UDP_Call) RunAndReturn(run func(*AddrE... function newMockPluggableOutbound (line 142) | func newMockPluggableOutbound(t interface { FILE: extras/outbounds/mock_UDPConn.go type mockUDPConn (line 8) | type mockUDPConn struct method EXPECT (line 16) | func (_m *mockUDPConn) EXPECT() *mockUDPConn_Expecter { method Close (line 21) | func (_m *mockUDPConn) Close() error { method ReadFrom (line 66) | func (_m *mockUDPConn) ReadFrom(b []byte) (int, *AddrEx, error) { method WriteTo (line 131) | func (_m *mockUDPConn) WriteTo(b []byte, addr *AddrEx) (int, error) { type mockUDPConn_Expecter (line 12) | type mockUDPConn_Expecter struct method Close (line 44) | func (_e *mockUDPConn_Expecter) Close() *mockUDPConn_Close_Call { method ReadFrom (line 109) | func (_e *mockUDPConn_Expecter) ReadFrom(b interface{}) *mockUDPConn_R... method WriteTo (line 166) | func (_e *mockUDPConn_Expecter) WriteTo(b interface{}, addr interface{... type mockUDPConn_Close_Call (line 39) | type mockUDPConn_Close_Call struct method Run (line 48) | func (_c *mockUDPConn_Close_Call) Run(run func()) *mockUDPConn_Close_C... method Return (line 55) | func (_c *mockUDPConn_Close_Call) Return(_a0 error) *mockUDPConn_Close... method RunAndReturn (line 60) | func (_c *mockUDPConn_Close_Call) RunAndReturn(run func() error) *mock... type mockUDPConn_ReadFrom_Call (line 103) | type mockUDPConn_ReadFrom_Call struct method Run (line 113) | func (_c *mockUDPConn_ReadFrom_Call) Run(run func(b []byte)) *mockUDPC... method Return (line 120) | func (_c *mockUDPConn_ReadFrom_Call) Return(_a0 int, _a1 *AddrEx, _a2 ... method RunAndReturn (line 125) | func (_c *mockUDPConn_ReadFrom_Call) RunAndReturn(run func([]byte) (in... type mockUDPConn_WriteTo_Call (line 159) | type mockUDPConn_WriteTo_Call struct method Run (line 170) | func (_c *mockUDPConn_WriteTo_Call) Run(run func(b []byte, addr *AddrE... method Return (line 177) | func (_c *mockUDPConn_WriteTo_Call) Return(_a0 int, _a1 error) *mockUD... method RunAndReturn (line 182) | func (_c *mockUDPConn_WriteTo_Call) RunAndReturn(run func([]byte, *Add... function newMockUDPConn (line 189) | func newMockUDPConn(t interface { FILE: extras/outbounds/ob_direct.go type DirectOutboundMode (line 10) | type DirectOutboundMode type udpConnState (line 12) | type udpConnState constant DirectOutboundModeAuto (line 15) | DirectOutboundModeAuto DirectOutboundMode = iota constant DirectOutboundMode64 (line 16) | DirectOutboundMode64 constant DirectOutboundMode46 (line 17) | DirectOutboundMode46 constant DirectOutboundMode6 (line 18) | DirectOutboundMode6 constant DirectOutboundMode4 (line 19) | DirectOutboundMode4 constant defaultDialerTimeout (line 21) | defaultDialerTimeout = 10 * time.Second constant udpConnStateDualStack (line 25) | udpConnStateDualStack udpConnState = iota constant udpConnStateIPv4 (line 26) | udpConnStateIPv4 constant udpConnStateIPv6 (line 27) | udpConnStateIPv6 type directOutbound (line 34) | type directOutbound struct method resolve (line 137) | func (d *directOutbound) resolve(reqAddr *AddrEx) { method TCP (line 151) | func (d *directOutbound) TCP(reqAddr *AddrEx) (net.Conn, error) { method dialTCP (line 202) | func (d *directOutbound) dialTCP(ip net.IP, port uint16) (net.Conn, er... method dualStackDialTCP (line 218) | func (d *directOutbound) dualStackDialTCP(ipv4, ipv6 net.IP, port uint... method UDP (line 358) | func (d *directOutbound) UDP(reqAddr *AddrEx) (UDPConn, error) { type noAddressError (line 48) | type noAddressError struct method Error (line 53) | func (e noAddressError) Error() string { type invalidOutboundModeError (line 65) | type invalidOutboundModeError struct method Error (line 67) | func (e invalidOutboundModeError) Error() string { type resolveError (line 71) | type resolveError struct method Error (line 75) | func (e resolveError) Error() string { method Unwrap (line 83) | func (e resolveError) Unwrap() error { function NewDirectOutboundSimple (line 89) | func NewDirectOutboundSimple(mode DirectOutboundMode) PluggableOutbound { function NewDirectOutboundBindToIPs (line 104) | func NewDirectOutboundBindToIPs(mode DirectOutboundMode, bindIP4, bindIP... type dialResult (line 210) | type dialResult struct type directOutboundUDPConn (line 245) | type directOutboundUDPConn struct method ReadFrom (line 251) | func (u *directOutboundUDPConn) ReadFrom(b []byte) (int, *AddrEx, erro... method WriteTo (line 263) | func (u *directOutboundUDPConn) WriteTo(b []byte, addr *AddrEx) (int, ... method Close (line 354) | func (u *directOutboundUDPConn) Close() error { FILE: extras/outbounds/ob_direct_linux.go function NewDirectOutboundBindToDevice (line 11) | func NewDirectOutboundBindToDevice(mode DirectOutboundMode, deviceName s... function verifyDeviceName (line 36) | func verifyDeviceName(deviceName string) error { function udpConnBindToDevice (line 44) | func udpConnBindToDevice(conn *net.UDPConn, deviceName string) error { FILE: extras/outbounds/ob_direct_others.go function NewDirectOutboundBindToDevice (line 13) | func NewDirectOutboundBindToDevice(mode DirectOutboundMode, deviceName s... function udpConnBindToDevice (line 17) | func udpConnBindToDevice(conn *net.UDPConn, deviceName string) error { FILE: extras/outbounds/ob_http.go constant httpRequestTimeout (line 19) | httpRequestTimeout = 10 * time.Second type errHTTPRequestFailed (line 27) | type errHTTPRequestFailed struct method Error (line 31) | func (e errHTTPRequestFailed) Error() string { type httpOutbound (line 41) | type httpOutbound struct method dial (line 82) | func (o *httpOutbound) dial() (net.Conn, error) { method addrExToRequest (line 97) | func (o *httpOutbound) addrExToRequest(reqAddr *AddrEx) (*http.Request... method TCP (line 113) | func (o *httpOutbound) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 169) | func (o *httpOutbound) UDP(reqAddr *AddrEx) (UDPConn, error) { function NewHTTPOutbound (line 50) | func NewHTTPOutbound(proxyURL string, insecure bool) (PluggableOutbound,... type cachedConn (line 175) | type cachedConn struct method Read (line 180) | func (c *cachedConn) Read(b []byte) (int, error) { FILE: extras/outbounds/ob_socks5.go constant socks5NegotiationTimeout (line 15) | socks5NegotiationTimeout = 10 * time.Second constant socks5RequestTimeout (line 16) | socks5RequestTimeout = 10 * time.Second type errSOCKS5UnsupportedAuthMethod (line 21) | type errSOCKS5UnsupportedAuthMethod struct method Error (line 25) | func (e errSOCKS5UnsupportedAuthMethod) Error() string { type errSOCKS5RequestFailed (line 29) | type errSOCKS5RequestFailed struct method Error (line 33) | func (e errSOCKS5RequestFailed) Error() string { type socks5Outbound (line 65) | type socks5Outbound struct method dialAndNegotiate (line 86) | func (o *socks5Outbound) dialAndNegotiate() (net.Conn, error) { method request (line 140) | func (o *socks5Outbound) request(conn net.Conn, req *socks5.Request) (... method TCP (line 160) | func (s *socks5Outbound) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 174) | func (s *socks5Outbound) UDP(reqAddr *AddrEx) (UDPConn, error) { function NewSOCKS5Outbound (line 72) | func NewSOCKS5Outbound(addr, username, password string) PluggableOutbound { type socks5UDPConn (line 189) | type socks5UDPConn struct method hold (line 207) | func (c *socks5UDPConn) hold() { method ReadFrom (line 213) | func (c *socks5UDPConn) ReadFrom(b []byte) (int, *AddrEx, error) { method WriteTo (line 227) | func (c *socks5UDPConn) WriteTo(b []byte, addr *AddrEx) (int, error) { method Close (line 237) | func (c *socks5UDPConn) Close() error { function newSOCKS5UDPConn (line 194) | func newSOCKS5UDPConn(tcpConn net.Conn, udpAddr string) (*socks5UDPConn,... function addrExToSOCKS5Addr (line 243) | func addrExToSOCKS5Addr(addr *AddrEx) (atyp byte, dstAddr, dstPort []byt... function socks5AddrToAddrEx (line 264) | func socks5AddrToAddrEx(atyp byte, dstAddr, dstPort []byte) *AddrEx { FILE: extras/outbounds/speedtest.go constant SpeedtestDest (line 10) | SpeedtestDest = "@SpeedTest" type speedtestHandler (line 16) | type speedtestHandler struct method TCP (line 26) | func (s *speedtestHandler) TCP(reqAddr *AddrEx) (net.Conn, error) { method UDP (line 34) | func (s *speedtestHandler) UDP(reqAddr *AddrEx) (UDPConn, error) { function NewSpeedtestHandler (line 20) | func NewSpeedtestHandler(next PluggableOutbound) PluggableOutbound { FILE: extras/outbounds/speedtest/client.go type Client (line 11) | type Client struct method Download (line 18) | func (c *Client) Download(l uint32, cb func(time.Duration, uint32, boo... method Upload (line 72) | func (c *Client) Upload(l uint32, cb func(time.Duration, uint32, bool)... FILE: extras/outbounds/speedtest/protocol.go constant typeDownload (line 10) | typeDownload = 0x1 constant typeUpload (line 11) | typeUpload = 0x2 function readDownloadRequest (line 18) | func readDownloadRequest(r io.Reader) (uint32, error) { function writeDownloadRequest (line 24) | func writeDownloadRequest(w io.Writer, l uint32) error { function readDownloadResponse (line 37) | func readDownloadResponse(r io.Reader) (bool, string, error) { function writeDownloadResponse (line 58) | func writeDownloadResponse(w io.Writer, ok bool, msg string) error { function readUploadRequest (line 76) | func readUploadRequest(r io.Reader) (uint32, error) { function writeUploadRequest (line 82) | func writeUploadRequest(w io.Writer, l uint32) error { function readUploadResponse (line 95) | func readUploadResponse(r io.Reader) (bool, string, error) { function writeUploadResponse (line 116) | func writeUploadResponse(w io.Writer, ok bool, msg string) error { function readUploadSummary (line 134) | func readUploadSummary(r io.Reader) (time.Duration, uint32, error) { function writeUploadSummary (line 146) | func writeUploadSummary(w io.Writer, duration time.Duration, l uint32) e... FILE: extras/outbounds/speedtest/protocol_test.go function TestReadDownloadRequest (line 9) | func TestReadDownloadRequest(t *testing.T) { function TestWriteDownloadRequest (line 50) | func TestWriteDownloadRequest(t *testing.T) { function TestReadDownloadResponse (line 85) | func TestReadDownloadResponse(t *testing.T) { function TestWriteDownloadResponse (line 140) | func TestWriteDownloadResponse(t *testing.T) { function TestReadUploadRequest (line 185) | func TestReadUploadRequest(t *testing.T) { function TestWriteUploadRequest (line 226) | func TestWriteUploadRequest(t *testing.T) { function TestReadUploadResponse (line 261) | func TestReadUploadResponse(t *testing.T) { function TestWriteUploadResponse (line 316) | func TestWriteUploadResponse(t *testing.T) { function TestReadUploadSummary (line 361) | func TestReadUploadSummary(t *testing.T) { function TestWriteUploadSummary (line 409) | func TestWriteUploadSummary(t *testing.T) { FILE: extras/outbounds/speedtest/server.go constant chunkSize (line 12) | chunkSize = 64 * 1024 function NewServerConn (line 17) | func NewServerConn() net.Conn { function server (line 24) | func server(conn net.Conn) error { function handleDownload (line 42) | func handleDownload(conn net.Conn) error { function handleUpload (line 75) | func handleUpload(conn net.Conn) error { FILE: extras/outbounds/utils.go function splitIPv4IPv6 (line 7) | func splitIPv4IPv6(ips []net.IP) (ipv4, ipv6 net.IP) { function tryParseIP (line 29) | func tryParseIP(addr *AddrEx) bool { FILE: extras/outbounds/utils_test.go function TestSplitIPv4IPv6 (line 10) | func TestSplitIPv4IPv6(t *testing.T) { FILE: extras/sniff/internal/quic/header.go type Header (line 13) | type Header struct function ParseInitialHeader (line 24) | func ParseInitialHeader(data []byte) (*Header, int64, error) { function parseLongHeader (line 34) | func parseLongHeader(b *bytes.Reader) (*Header, error) { function readConnectionID (line 91) | func readConnectionID(r io.Reader, cid []byte) error { function beUint32 (line 99) | func beUint32(r io.Reader) (uint32, error) { FILE: extras/sniff/internal/quic/packet_protector.go function NewProtectionKey (line 21) | func NewProtectionKey(suite uint16, secret []byte, v uint32) (*Protectio... function NewInitialProtectionKey (line 29) | func NewInitialProtectionKey(secret []byte, v uint32) (*ProtectionKey, e... function NewPacketProtector (line 34) | func NewPacketProtector(key *ProtectionKey) *PacketProtector { type PacketProtector (line 41) | type PacketProtector struct method UnProtect (line 46) | func (pp *PacketProtector) UnProtect(packet []byte, pnOffset, pnMax in... type ProtectionKey (line 82) | type ProtectionKey struct method nonce (line 93) | func (pk *ProtectionKey) nonce(pn int64) []byte { function newProtectionKey (line 102) | func newProtectionKey(suite uint16, secret []byte, v uint32) (*Protectio... function decodePacketNumber (line 161) | func decodePacketNumber(largest, truncated int64, nbits uint8) int64 { function hkdfExpandLabel (line 177) | func hkdfExpandLabel(hash func() hash.Hash, secret []byte, label string,... FILE: extras/sniff/internal/quic/packet_protector_test.go function TestInitialPacketProtector_UnProtect (line 15) | func TestInitialPacketProtector_UnProtect(t *testing.T) { function TestPacketProtectorShortHeader_UnProtect (line 55) | func TestPacketProtectorShortHeader_UnProtect(t *testing.T) { function mustHexDecodeString (line 79) | func mustHexDecodeString(s string) []byte { function normalizeHex (line 87) | func normalizeHex(s string) string { FILE: extras/sniff/internal/quic/payload.go function ReadCryptoPayload (line 15) | func ReadCryptoPayload(packet []byte) ([]byte, error) { constant paddingFrameType (line 57) | paddingFrameType = 0x00 constant pingFrameType (line 58) | pingFrameType = 0x01 constant cryptoFrameType (line 59) | cryptoFrameType = 0x06 type cryptoFrame (line 62) | type cryptoFrame struct function extractCryptoFrames (line 67) | func extractCryptoFrames(r *bytes.Reader) ([]cryptoFrame, error) { function assembleCryptoFrames (line 101) | func assembleCryptoFrames(frames []cryptoFrame) []byte { FILE: extras/sniff/internal/quic/quic.go constant V1 (line 4) | V1 uint32 = 0x1 constant V2 (line 5) | V2 uint32 = 0x6b3343cf constant hkdfLabelKeyV1 (line 7) | hkdfLabelKeyV1 = "quic key" constant hkdfLabelKeyV2 (line 8) | hkdfLabelKeyV2 = "quicv2 key" constant hkdfLabelIVV1 (line 9) | hkdfLabelIVV1 = "quic iv" constant hkdfLabelIVV2 (line 10) | hkdfLabelIVV2 = "quicv2 iv" constant hkdfLabelHPV1 (line 11) | hkdfLabelHPV1 = "quic hp" constant hkdfLabelHPV2 (line 12) | hkdfLabelHPV2 = "quicv2 hp" function isLongHeader (line 24) | func isLongHeader(b byte) bool { function getSalt (line 28) | func getSalt(v uint32) []byte { function keyLabel (line 38) | func keyLabel(v uint32) string { function ivLabel (line 46) | func ivLabel(v uint32) string { function headerProtectionLabel (line 54) | func headerProtectionLabel(v uint32) string { FILE: extras/sniff/mock_Stream.go type mockStream (line 15) | type mockStream struct method EXPECT (line 23) | func (_m *mockStream) EXPECT() *mockStream_Expecter { method CancelRead (line 28) | func (_m *mockStream) CancelRead(_a0 qerr.StreamErrorCode) { method CancelWrite (line 61) | func (_m *mockStream) CancelWrite(_a0 qerr.StreamErrorCode) { method Close (line 94) | func (_m *mockStream) Close() error { method Context (line 139) | func (_m *mockStream) Context() context.Context { method Read (line 186) | func (_m *mockStream) Read(p []byte) (int, error) { method SetDeadline (line 242) | func (_m *mockStream) SetDeadline(t time.Time) error { method SetReadDeadline (line 288) | func (_m *mockStream) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 334) | func (_m *mockStream) SetWriteDeadline(t time.Time) error { method StreamID (line 380) | func (_m *mockStream) StreamID() qerr.StreamID { method Write (line 425) | func (_m *mockStream) Write(p []byte) (int, error) { type mockStream_Expecter (line 19) | type mockStream_Expecter struct method CancelRead (line 39) | func (_e *mockStream_Expecter) CancelRead(_a0 interface{}) *mockStream... method CancelWrite (line 72) | func (_e *mockStream_Expecter) CancelWrite(_a0 interface{}) *mockStrea... method Close (line 117) | func (_e *mockStream_Expecter) Close() *mockStream_Close_Call { method Context (line 164) | func (_e *mockStream_Expecter) Context() *mockStream_Context_Call { method Read (line 220) | func (_e *mockStream_Expecter) Read(p interface{}) *mockStream_Read_Ca... method SetDeadline (line 266) | func (_e *mockStream_Expecter) SetDeadline(t interface{}) *mockStream_... method SetReadDeadline (line 312) | func (_e *mockStream_Expecter) SetReadDeadline(t interface{}) *mockStr... method SetWriteDeadline (line 358) | func (_e *mockStream_Expecter) SetWriteDeadline(t interface{}) *mockSt... method StreamID (line 403) | func (_e *mockStream_Expecter) StreamID() *mockStream_StreamID_Call { method Write (line 459) | func (_e *mockStream_Expecter) Write(p interface{}) *mockStream_Write_... type mockStream_CancelRead_Call (line 33) | type mockStream_CancelRead_Call struct method Run (line 43) | func (_c *mockStream_CancelRead_Call) Run(run func(_a0 qerr.StreamErro... method Return (line 50) | func (_c *mockStream_CancelRead_Call) Return() *mockStream_CancelRead_... method RunAndReturn (line 55) | func (_c *mockStream_CancelRead_Call) RunAndReturn(run func(qerr.Strea... type mockStream_CancelWrite_Call (line 66) | type mockStream_CancelWrite_Call struct method Run (line 76) | func (_c *mockStream_CancelWrite_Call) Run(run func(_a0 qerr.StreamErr... method Return (line 83) | func (_c *mockStream_CancelWrite_Call) Return() *mockStream_CancelWrit... method RunAndReturn (line 88) | func (_c *mockStream_CancelWrite_Call) RunAndReturn(run func(qerr.Stre... type mockStream_Close_Call (line 112) | type mockStream_Close_Call struct method Run (line 121) | func (_c *mockStream_Close_Call) Run(run func()) *mockStream_Close_Call { method Return (line 128) | func (_c *mockStream_Close_Call) Return(_a0 error) *mockStream_Close_C... method RunAndReturn (line 133) | func (_c *mockStream_Close_Call) RunAndReturn(run func() error) *mockS... type mockStream_Context_Call (line 159) | type mockStream_Context_Call struct method Run (line 168) | func (_c *mockStream_Context_Call) Run(run func()) *mockStream_Context... method Return (line 175) | func (_c *mockStream_Context_Call) Return(_a0 context.Context) *mockSt... method RunAndReturn (line 180) | func (_c *mockStream_Context_Call) RunAndReturn(run func() context.Con... type mockStream_Read_Call (line 214) | type mockStream_Read_Call struct method Run (line 224) | func (_c *mockStream_Read_Call) Run(run func(p []byte)) *mockStream_Re... method Return (line 231) | func (_c *mockStream_Read_Call) Return(n int, err error) *mockStream_R... method RunAndReturn (line 236) | func (_c *mockStream_Read_Call) RunAndReturn(run func([]byte) (int, er... type mockStream_SetDeadline_Call (line 260) | type mockStream_SetDeadline_Call struct method Run (line 270) | func (_c *mockStream_SetDeadline_Call) Run(run func(t time.Time)) *moc... method Return (line 277) | func (_c *mockStream_SetDeadline_Call) Return(_a0 error) *mockStream_S... method RunAndReturn (line 282) | func (_c *mockStream_SetDeadline_Call) RunAndReturn(run func(time.Time... type mockStream_SetReadDeadline_Call (line 306) | type mockStream_SetReadDeadline_Call struct method Run (line 316) | func (_c *mockStream_SetReadDeadline_Call) Run(run func(t time.Time)) ... method Return (line 323) | func (_c *mockStream_SetReadDeadline_Call) Return(_a0 error) *mockStre... method RunAndReturn (line 328) | func (_c *mockStream_SetReadDeadline_Call) RunAndReturn(run func(time.... type mockStream_SetWriteDeadline_Call (line 352) | type mockStream_SetWriteDeadline_Call struct method Run (line 362) | func (_c *mockStream_SetWriteDeadline_Call) Run(run func(t time.Time))... method Return (line 369) | func (_c *mockStream_SetWriteDeadline_Call) Return(_a0 error) *mockStr... method RunAndReturn (line 374) | func (_c *mockStream_SetWriteDeadline_Call) RunAndReturn(run func(time... type mockStream_StreamID_Call (line 398) | type mockStream_StreamID_Call struct method Run (line 407) | func (_c *mockStream_StreamID_Call) Run(run func()) *mockStream_Stream... method Return (line 414) | func (_c *mockStream_StreamID_Call) Return(_a0 qerr.StreamID) *mockStr... method RunAndReturn (line 419) | func (_c *mockStream_StreamID_Call) RunAndReturn(run func() qerr.Strea... type mockStream_Write_Call (line 453) | type mockStream_Write_Call struct method Run (line 463) | func (_c *mockStream_Write_Call) Run(run func(p []byte)) *mockStream_W... method Return (line 470) | func (_c *mockStream_Write_Call) Return(n int, err error) *mockStream_... method RunAndReturn (line 475) | func (_c *mockStream_Write_Call) RunAndReturn(run func([]byte) (int, e... function newMockStream (line 482) | func newMockStream(t interface { FILE: extras/sniff/sniff.go constant sniffDefaultTimeout (line 21) | sniffDefaultTimeout = 4 * time.Second type Sniffer (line 31) | type Sniffer struct method isDomain (line 38) | func (h *Sniffer) isDomain(addr string) bool { method isHTTP (line 46) | func (h *Sniffer) isHTTP(buf []byte) bool { method isTLS (line 59) | func (h *Sniffer) isTLS(buf []byte) bool { method Check (line 67) | func (h *Sniffer) Check(isUDP bool, reqAddr string) bool { method TCP (line 91) | func (h *Sniffer) TCP(stream quic.Stream, reqAddr *string) ([]byte, er... method UDP (line 159) | func (h *Sniffer) UDP(data []byte, reqAddr *string) error { type teeReader (line 176) | type teeReader struct method Read (line 183) | func (c *teeReader) Read(b []byte) (n int, err error) { method Buffer (line 197) | func (c *teeReader) Buffer() []byte { FILE: extras/sniff/sniff_test.go function TestSnifferCheck (line 15) | func TestSnifferCheck(t *testing.T) { function TestSnifferTCP (line 38) | func TestSnifferTCP(t *testing.T) { function TestSnifferUDP (line 127) | func TestSnifferUDP(t *testing.T) { FILE: extras/trafficlogger/http.go constant indexHTML (line 17) | indexHTML = `