MCPcopy Create free account

hub / github.com/celzero/midway / functions

Functions71 in github.com/celzero/midway

↓ 9 callersMethodAddr
()
midway/relay/split.go:43
↓ 8 callersMethodClose
()
midway/relay/proxy.go:50
↓ 8 callersMethodRemoteAddr
()
midway/relay/proxy.go:52
↓ 8 callersFunctionko
(err error)
main.go:112
↓ 6 callersMethodLocalAddr
()
midway/relay/proxy.go:51
↓ 6 callersFunctionstrenv
(k string, d string)
midway/env/env.go:106
↓ 3 callersMethodAccept
()
midway/relay/split.go:24
↓ 3 callersFunctionStartPP
(tcp *proxyproto.Listener, wg *sync.WaitGroup)
midway/server.go:109
↓ 3 callersFunctionintenv
(k string, d int64)
midway/env/env.go:98
↓ 3 callersFunctionunderlyingConn
(c net.Conn)
midway/relay/proxy.go:209
↓ 2 callersFunctionConnTimeoutSec
()
midway/env/env.go:18
↓ 2 callersMethodDnsHandler
()
midway/dns.go:22
↓ 2 callersMethodDohHandler
()
midway/dns.go:23
↓ 2 callersFunctionNewTlsListener
ref: stackoverflow.com/a/69828625
midway/relay/split.go:48
↓ 2 callersFunctionTlsCerts
()
midway/env/env.go:74
↓ 2 callersFunctionTlsConfig
()
midway/env/util.go:15
↓ 2 callersMethodWrite
(p []byte)
midway/relay/proxy.go:49
↓ 2 callersMethoddodoh
TODO: rm query-id before request and restore after response
midway/dns.go:145
↓ 2 callersFunctionhttpHostHeaderFromBytes
(b []byte)
midway/relay/http.go:82
↓ 2 callersFunctionprocesstcp
(c net.Conn)
midway/echo.go:111
↓ 2 callersFunctionproxyCopy
TODO: admission control with tc / htb
midway/relay/proxy.go:166
↓ 2 callersFunctionresponseWithCode
(q *dns.Msg, rcode int)
midway/dns.go:67
↓ 2 callersFunctionsni
(cx *tls.Certificate)
midway/env/util.go:35
↓ 2 callersFunctionuntilEOL
untilEOL returns v, truncated before the first '\n' byte, if any. The returned slice may include a '\r' at the end.
midway/relay/http.go:94
↓ 2 callersMethodupstreamDNS
(b []byte, w http.ResponseWriter, r *http.Request)
midway/dns.go:114
↓ 1 callersFunctionEchoPP
(pp *proxyproto.Listener, wg *sync.WaitGroup)
midway/echo.go:88
↓ 1 callersFunctionEchoTCP
(tcp net.Listener, wg *sync.WaitGroup)
midway/echo.go:65
↓ 1 callersFunctionEchoUDP
(c net.PacketConn, wg *sync.WaitGroup)
midway/echo.go:25
↓ 1 callersFunctionFlyAppName
()
midway/env/env.go:90
↓ 1 callersMethodForward
()
midway/relay/proxy.go:93
↓ 1 callersFunctionMaxInflightDNSQueries
()
midway/env/env.go:28
↓ 1 callersFunctionMtu
()
midway/env/util.go:58
↓ 1 callersFunctionNewDohStub
(url string)
midway/dns.go:32
↓ 1 callersFunctionNewProxyConn
(c net.Conn)
midway/relay/proxy.go:57
↓ 1 callersFunctionNoProxyTimeoutSec
()
midway/env/env.go:23
↓ 1 callersFunctionProxyDisabled
()
midway/env/env.go:94
↓ 1 callersFunctionStartPPWithDoH
(tcp *proxyproto.Listener, doh DohResolver, wg *sync.WaitGroup)
midway/server.go:44
↓ 1 callersFunctionStartPPWithDoHCleartext
ref: github.com/thrawn01/h2c-golang-example
midway/server.go:135
↓ 1 callersFunctionStartPPWithDoT
(tcp *proxyproto.Listener, doh DohResolver, wg *sync.WaitGroup)
midway/server.go:76
↓ 1 callersFunctionStartPPWithDoTCleartext
(tcp *proxyproto.Listener, doh DohResolver, wg *sync.WaitGroup)
midway/server.go:168
↓ 1 callersFunctionSudo
ref: stackoverflow.com/a/66624820
midway/env/util.go:49
↓ 1 callersFunctionTotalUdpServerRoutines
()
midway/env/util.go:63
↓ 1 callersFunctionUpstreamDoh
()
midway/env/env.go:32
↓ 1 callersFunctionaccept
(c net.Conn)
midway/server.go:31
↓ 1 callersMethodansstr
(m *dns.Msg)
midway/dns.go:187
↓ 1 callersFunctionbarrier
(count int)
main.go:106
↓ 1 callersFunctionclientHelloServerName
clientHelloServerName returns the SNI server name inside the TLS ClientHello, without consuming any bytes from br. On any error, the empty string is r
midway/relay/sni.go:38
↓ 1 callersMethoddisallow
()
midway/relay/proxy.go:128
↓ 1 callersMethodgetHandler
(w http.ResponseWriter, r *http.Request)
midway/dns.go:87
↓ 1 callersFunctionhttpHostHeader
(br *bufio.Reader)
midway/relay/http.go:33
↓ 1 callersMethodpostHandler
(w http.ResponseWriter, r *http.Request)
midway/dns.go:105
↓ 1 callersFunctionprocessudp
(c net.PacketConn, uwg *sync.WaitGroup)
midway/echo.go:42
↓ 1 callersMethodquerystr
(m *dns.Msg)
midway/dns.go:179
↓ 1 callersMethodservfail
(q *dns.Msg)
midway/dns.go:59
↓ 1 callersFunctiontcp4or6
always "tcp" for now, because for web properties that are ipv4-only cause connect-timeouts from incoming ipv6 connections. Instead of specifically ret
midway/relay/proxy.go:197
↓ 1 callersFunctiontlsCertFile
()
midway/env/env.go:66
↓ 1 callersFunctiontlsKeyCertPem
()
midway/env/env.go:36
↓ 1 callersFunctiontlsKeyFile
()
midway/env/env.go:70
↓ 1 callersMethodvalidroute
(to net.Conn)
midway/relay/proxy.go:144
MethodClose
()
midway/relay/split.go:39
MethodDnsHandler
()
midway/dns.go:43
MethodDohHandler
()
midway/dns.go:73
MethodRead
(p []byte)
midway/relay/proxy.go:39
MethodRead
ref: archive.is/SdYhp
midway/relay/sni.go:70
MethodSetDeadline
(t time.Time)
midway/relay/proxy.go:53
MethodSetReadDeadline
(t time.Time)
midway/relay/proxy.go:54
MethodSetWriteDeadline
(t time.Time)
midway/relay/proxy.go:55
MethodWrite
(p []byte)
midway/relay/sni.go:71
FunctionasTLSConn
(c net.Conn)
midway/relay/proxy.go:216
Functionmain
Adopted from: github.com/inetaf/tcpproxy/blob/be3ee21/tcpproxy.go
main.go:20
Methodrefused
(q *dns.Msg)
midway/dns.go:63