mirror of
https://github.com/net-byte/vtun
synced 2024-03-14 10:50:03 +08:00
fix tls sni bug for wss.
This commit is contained in:
parent
8200bfff83
commit
ebc711e343
@ -20,13 +20,17 @@ import (
|
||||
// ConnectServer connects to the server with the given address.
|
||||
func ConnectServer(config config.Config) net.Conn {
|
||||
scheme := "ws"
|
||||
host := config.ServerAddr
|
||||
if config.Protocol == "wss" {
|
||||
scheme = "wss"
|
||||
host = config.TLSSni
|
||||
}
|
||||
u := url.URL{Scheme: scheme, Host: config.ServerAddr, Path: config.WebSocketPath}
|
||||
u := url.URL{Scheme: scheme, Host: host, Path: config.WebSocketPath}
|
||||
header := make(http.Header)
|
||||
header.Set("user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36")
|
||||
if config.Key != "" {
|
||||
header.Set("key", config.Key)
|
||||
}
|
||||
tlsConfig := &tls.Config{
|
||||
InsecureSkipVerify: config.TLSInsecureSkipVerify,
|
||||
}
|
||||
@ -37,7 +41,11 @@ func ConnectServer(config config.Config) net.Conn {
|
||||
Header: ws.HandshakeHeaderHTTP(header),
|
||||
Timeout: time.Duration(config.Timeout) * time.Second,
|
||||
TLSConfig: tlsConfig,
|
||||
NetDial: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
return net.Dial(network, config.ServerAddr)
|
||||
},
|
||||
}
|
||||
log.Printf("%v\n", dialer.TLSConfig)
|
||||
c, _, _, err := dialer.Dial(context.Background(), u.String())
|
||||
if err != nil {
|
||||
log.Printf("[client] failed to dial websocket %s %v", u.String(), err)
|
||||
|
Loading…
Reference in New Issue
Block a user