diff --git a/proxy/proxy.go b/proxy/proxy.go index 4d814e9..153dcb6 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -608,7 +608,9 @@ func (p *SNIProxy) handleConnection(clientConn net.Conn) { tunnel.count-- if tunnel.count == 0 { tunnel.cancel() - delete(p.activeTunnels, hostname) + if p.activeTunnels[hostname] == tunnel { + delete(p.activeTunnels, hostname) + } } p.activeTunnelsLock.Unlock() }()