mirror of
https://github.com/fumiama/terasu.git
synced 2026-06-05 01:00:23 +08:00
feat: support bypass trs
This commit is contained in:
@@ -180,7 +180,11 @@ func (ds *DNSList) DialContext(ctx context.Context, dialer *net.Dialer, firstFra
|
||||
continue
|
||||
}
|
||||
tlsConn = tls.Client(conn, &tls.Config{ServerName: host})
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, firstFragmentLen)
|
||||
if firstFragmentLen > 0 {
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, firstFragmentLen)
|
||||
} else {
|
||||
err = tlsConn.HandshakeContext(ctx)
|
||||
}
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
@@ -268,7 +272,7 @@ var IPv4Servers = DNSList{
|
||||
|
||||
var DefaultResolver = &net.Resolver{
|
||||
PreferGo: true,
|
||||
Dial: func(ctx context.Context, _, _ string) (net.Conn, error) {
|
||||
Dial: func(ctx context.Context, nw, _ string) (net.Conn, error) {
|
||||
if ip.IsIPv6Available.Get() {
|
||||
return IPv6Servers.DialContext(ctx, nil, terasu.DefaultFirstFragmentLen)
|
||||
}
|
||||
|
||||
@@ -89,7 +89,11 @@ var trsHTTP2ClientWithSystemDNS = http.Client{
|
||||
continue
|
||||
}
|
||||
tlsConn = tls.Client(conn, cfg)
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, terasu.DefaultFirstFragmentLen)
|
||||
if terasu.DefaultFirstFragmentLen > 0 {
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, terasu.DefaultFirstFragmentLen)
|
||||
} else {
|
||||
err = tlsConn.HandshakeContext(ctx)
|
||||
}
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
@@ -61,7 +61,11 @@ var DefaultClient = http.Client{
|
||||
tlsConn = tls.Client(conn, &tls.Config{
|
||||
ServerName: host,
|
||||
})
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, terasu.DefaultFirstFragmentLen)
|
||||
if terasu.DefaultFirstFragmentLen > 0 {
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, terasu.DefaultFirstFragmentLen)
|
||||
} else {
|
||||
err = tlsConn.HandshakeContext(ctx)
|
||||
}
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
@@ -59,7 +59,11 @@ var DefaultClient = http.Client{
|
||||
continue
|
||||
}
|
||||
tlsConn = tls.Client(conn, cfg)
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, terasu.DefaultFirstFragmentLen)
|
||||
if terasu.DefaultFirstFragmentLen > 0 {
|
||||
err = terasu.Use(tlsConn).HandshakeContext(ctx, terasu.DefaultFirstFragmentLen)
|
||||
} else {
|
||||
err = tlsConn.HandshakeContext(ctx)
|
||||
}
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user