tls on a socks5 does NOT work out of the box
This commit is contained in:
@@ -111,11 +111,22 @@ func (p Proxy) ServeTLS(ln net.Listener, certFile, keyFile string) {
|
|||||||
ln = tls.NewListener(ln, cfg)
|
ln = tls.NewListener(ln, cfg)
|
||||||
defer ln.Close()
|
defer ln.Close()
|
||||||
|
|
||||||
for {
|
socksListener, httpListener := proxymux.SplitSOCKSAndHTTP(ln)
|
||||||
if err := acceptAndHandle(ln, httpproxy.Handler(d), d); err != nil {
|
errc := make(chan error, 2)
|
||||||
panic(err)
|
go func() {
|
||||||
|
for {
|
||||||
|
if err := acceptAndHandle(httpListener, httpproxy.Handler(d), d); err != nil {
|
||||||
|
errc <- err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}()
|
||||||
|
go func() {
|
||||||
|
socksProxy := &socks5.Server{Dialer: d}
|
||||||
|
if err := socksProxy.Serve(socksListener); err != nil {
|
||||||
|
errc <- err
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
<-errc
|
||||||
}
|
}
|
||||||
|
|
||||||
type singleListener struct {
|
type singleListener struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user