Allow connecting via proxy

This commit is contained in:
J.P. Neverwas
2021-07-03 06:59:00 -07:00
parent 35410aa86c
commit 272c4d1650
3 changed files with 17 additions and 7 deletions

12
irc.go
View File

@@ -31,6 +31,7 @@ import (
"strings"
"time"
"golang.org/x/net/proxy"
"golang.org/x/text/encoding"
)
@@ -461,15 +462,14 @@ func (irc *Connection) Connect(server string) error {
return errors.New("empty 'user'")
}
if irc.UseTLS {
dialer := &net.Dialer{Timeout: irc.Timeout}
irc.socket, err = tls.DialWithDialer(dialer, "tcp", irc.Server, irc.TLSConfig)
} else {
irc.socket, err = net.DialTimeout("tcp", irc.Server, irc.Timeout)
}
dialer := proxy.FromEnvironmentUsing(&net.Dialer{Timeout: irc.Timeout})
irc.socket, err = dialer.Dial("tcp", irc.Server)
if err != nil {
return err
}
if irc.UseTLS {
irc.socket = tls.Client(irc.socket, irc.TLSConfig)
}
if irc.Encoding == nil {
irc.Encoding = encoding.Nop