mirror of
https://gitclone.com/github.com/MetaCubeX/Clash.Meta
synced 2024-11-14 21:31:16 +08:00
fix: tfo not working with smux/yamux
This commit is contained in:
parent
1025101954
commit
9bd70e1366
@ -15,6 +15,11 @@ import (
|
||||
"github.com/metacubex/mihomo/constant/features"
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultTCPTimeout = 5 * time.Second
|
||||
DefaultUDPTimeout = DefaultTCPTimeout
|
||||
)
|
||||
|
||||
type dialFunc func(ctx context.Context, network string, ips []netip.Addr, port string, opt *option) (net.Conn, error)
|
||||
|
||||
var (
|
||||
|
@ -2,10 +2,11 @@ package dialer
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/sagernet/tfo-go"
|
||||
"io"
|
||||
"net"
|
||||
"time"
|
||||
|
||||
"github.com/sagernet/tfo-go"
|
||||
)
|
||||
|
||||
type tfoConn struct {
|
||||
@ -66,14 +67,14 @@ func (c *tfoConn) Close() error {
|
||||
|
||||
func (c *tfoConn) LocalAddr() net.Addr {
|
||||
if c.Conn == nil {
|
||||
return nil
|
||||
return &net.TCPAddr{}
|
||||
}
|
||||
return c.Conn.LocalAddr()
|
||||
}
|
||||
|
||||
func (c *tfoConn) RemoteAddr() net.Addr {
|
||||
if c.Conn == nil {
|
||||
return nil
|
||||
return &net.TCPAddr{}
|
||||
}
|
||||
return c.Conn.RemoteAddr()
|
||||
}
|
||||
@ -123,7 +124,7 @@ func (c *tfoConn) WriterReplaceable() bool {
|
||||
}
|
||||
|
||||
func dialTFO(ctx context.Context, netDialer net.Dialer, network, address string) (net.Conn, error) {
|
||||
ctx, cancel := context.WithCancel(ctx)
|
||||
ctx, cancel := context.WithTimeout(context.Background(), DefaultTCPTimeout)
|
||||
dialer := tfo.Dialer{Dialer: netDialer, DisableTFO: false}
|
||||
return &tfoConn{
|
||||
dialed: make(chan bool, 1),
|
||||
|
@ -43,9 +43,9 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultTCPTimeout = 5 * time.Second
|
||||
DefaultTCPTimeout = dialer.DefaultTCPTimeout
|
||||
DefaultUDPTimeout = dialer.DefaultUDPTimeout
|
||||
DefaultDropTime = 12 * DefaultTCPTimeout
|
||||
DefaultUDPTimeout = DefaultTCPTimeout
|
||||
DefaultTLSTimeout = DefaultTCPTimeout
|
||||
DefaultTestURL = "https://www.gstatic.com/generate_204"
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user