Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/celzero/midway
/ functions
Functions
71 in github.com/celzero/midway
⨍
Functions
71
◇
Types & classes
6
↓ 9 callers
Method
Addr
()
midway/relay/split.go:43
↓ 8 callers
Method
Close
()
midway/relay/proxy.go:50
↓ 8 callers
Method
RemoteAddr
()
midway/relay/proxy.go:52
↓ 8 callers
Function
ko
(err error)
main.go:112
↓ 6 callers
Method
LocalAddr
()
midway/relay/proxy.go:51
↓ 6 callers
Function
strenv
(k string, d string)
midway/env/env.go:106
↓ 3 callers
Method
Accept
()
midway/relay/split.go:24
↓ 3 callers
Function
StartPP
(tcp *proxyproto.Listener, wg *sync.WaitGroup)
midway/server.go:109
↓ 3 callers
Function
intenv
(k string, d int64)
midway/env/env.go:98
↓ 3 callers
Function
underlyingConn
(c net.Conn)
midway/relay/proxy.go:209
↓ 2 callers
Function
ConnTimeoutSec
()
midway/env/env.go:18
↓ 2 callers
Method
DnsHandler
()
midway/dns.go:22
↓ 2 callers
Method
DohHandler
()
midway/dns.go:23
↓ 2 callers
Function
NewTlsListener
ref: stackoverflow.com/a/69828625
midway/relay/split.go:48
↓ 2 callers
Function
TlsCerts
()
midway/env/env.go:74
↓ 2 callers
Function
TlsConfig
()
midway/env/util.go:15
↓ 2 callers
Method
Write
(p []byte)
midway/relay/proxy.go:49
↓ 2 callers
Method
dodoh
TODO: rm query-id before request and restore after response
midway/dns.go:145
↓ 2 callers
Function
httpHostHeaderFromBytes
(b []byte)
midway/relay/http.go:82
↓ 2 callers
Function
processtcp
(c net.Conn)
midway/echo.go:111
↓ 2 callers
Function
proxyCopy
TODO: admission control with tc / htb
midway/relay/proxy.go:166
↓ 2 callers
Function
responseWithCode
(q *dns.Msg, rcode int)
midway/dns.go:67
↓ 2 callers
Function
sni
(cx *tls.Certificate)
midway/env/util.go:35
↓ 2 callers
Function
untilEOL
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 callers
Method
upstreamDNS
(b []byte, w http.ResponseWriter, r *http.Request)
midway/dns.go:114
↓ 1 callers
Function
EchoPP
(pp *proxyproto.Listener, wg *sync.WaitGroup)
midway/echo.go:88
↓ 1 callers
Function
EchoTCP
(tcp net.Listener, wg *sync.WaitGroup)
midway/echo.go:65
↓ 1 callers
Function
EchoUDP
(c net.PacketConn, wg *sync.WaitGroup)
midway/echo.go:25
↓ 1 callers
Function
FlyAppName
()
midway/env/env.go:90
↓ 1 callers
Method
Forward
()
midway/relay/proxy.go:93
↓ 1 callers
Function
MaxInflightDNSQueries
()
midway/env/env.go:28
↓ 1 callers
Function
Mtu
()
midway/env/util.go:58
↓ 1 callers
Function
NewDohStub
(url string)
midway/dns.go:32
↓ 1 callers
Function
NewProxyConn
(c net.Conn)
midway/relay/proxy.go:57
↓ 1 callers
Function
NoProxyTimeoutSec
()
midway/env/env.go:23
↓ 1 callers
Function
ProxyDisabled
()
midway/env/env.go:94
↓ 1 callers
Function
StartPPWithDoH
(tcp *proxyproto.Listener, doh DohResolver, wg *sync.WaitGroup)
midway/server.go:44
↓ 1 callers
Function
StartPPWithDoHCleartext
ref: github.com/thrawn01/h2c-golang-example
midway/server.go:135
↓ 1 callers
Function
StartPPWithDoT
(tcp *proxyproto.Listener, doh DohResolver, wg *sync.WaitGroup)
midway/server.go:76
↓ 1 callers
Function
StartPPWithDoTCleartext
(tcp *proxyproto.Listener, doh DohResolver, wg *sync.WaitGroup)
midway/server.go:168
↓ 1 callers
Function
Sudo
ref: stackoverflow.com/a/66624820
midway/env/util.go:49
↓ 1 callers
Function
TotalUdpServerRoutines
()
midway/env/util.go:63
↓ 1 callers
Function
UpstreamDoh
()
midway/env/env.go:32
↓ 1 callers
Function
accept
(c net.Conn)
midway/server.go:31
↓ 1 callers
Method
ansstr
(m *dns.Msg)
midway/dns.go:187
↓ 1 callers
Function
barrier
(count int)
main.go:106
↓ 1 callers
Function
clientHelloServerName
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 callers
Method
disallow
()
midway/relay/proxy.go:128
↓ 1 callers
Method
getHandler
(w http.ResponseWriter, r *http.Request)
midway/dns.go:87
↓ 1 callers
Function
httpHostHeader
(br *bufio.Reader)
midway/relay/http.go:33
↓ 1 callers
Method
postHandler
(w http.ResponseWriter, r *http.Request)
midway/dns.go:105
↓ 1 callers
Function
processudp
(c net.PacketConn, uwg *sync.WaitGroup)
midway/echo.go:42
↓ 1 callers
Method
querystr
(m *dns.Msg)
midway/dns.go:179
↓ 1 callers
Method
servfail
(q *dns.Msg)
midway/dns.go:59
↓ 1 callers
Function
tcp4or6
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 callers
Function
tlsCertFile
()
midway/env/env.go:66
↓ 1 callers
Function
tlsKeyCertPem
()
midway/env/env.go:36
↓ 1 callers
Function
tlsKeyFile
()
midway/env/env.go:70
↓ 1 callers
Method
validroute
(to net.Conn)
midway/relay/proxy.go:144
Method
Close
()
midway/relay/split.go:39
Method
DnsHandler
()
midway/dns.go:43
Method
DohHandler
()
midway/dns.go:73
Method
Read
(p []byte)
midway/relay/proxy.go:39
Method
Read
ref: archive.is/SdYhp
midway/relay/sni.go:70
Method
SetDeadline
(t time.Time)
midway/relay/proxy.go:53
Method
SetReadDeadline
(t time.Time)
midway/relay/proxy.go:54
Method
SetWriteDeadline
(t time.Time)
midway/relay/proxy.go:55
Method
Write
(p []byte)
midway/relay/sni.go:71
Function
asTLSConn
(c net.Conn)
midway/relay/proxy.go:216
Function
main
Adopted from: github.com/inetaf/tcpproxy/blob/be3ee21/tcpproxy.go
main.go:20
Method
refused
(q *dns.Msg)
midway/dns.go:63