Fix tailscale dialer

This commit is contained in:
世界 2025-03-27 21:54:30 +08:00
parent f70ca3d190
commit 68df19ae13
No known key found for this signature in database
GPG key ID: CD109927C34A63C4

View file

@ -2,8 +2,10 @@ package tailscale
import (
"context"
"crypto/tls"
"fmt"
"net"
"net/http"
"net/netip"
"net/url"
"os"
@ -212,6 +214,18 @@ func (t *Endpoint) Start(stage adapter.StartStage) error {
t.stack = ipStack
localBackend := t.server.ExportLocalBackend()
localBackend.SetHTTPTestClient(&http.Client{
Transport: &http.Transport{
ForceAttemptHTTP2: true,
DialContext: func(ctx context.Context, network, address string) (net.Conn, error) {
return t.server.Dialer.DialContext(ctx, network, M.ParseSocksaddr(address))
},
TLSClientConfig: &tls.Config{
RootCAs: adapter.RootPoolFromContext(t.ctx),
},
},
})
perfs := &ipn.MaskedPrefs{
ExitNodeIPSet: true,
AdvertiseRoutesSet: true,