Merge pull request #72 from Yuuuuu0/main

feat: 所有出站连接支持 HTTP 代理
This commit is contained in:
Akizon
2026-02-21 11:21:10 +08:00
committed by GitHub
3 changed files with 6 additions and 1 deletions

View File

@@ -10,7 +10,9 @@ import (
"net/url"
"os"
"path/filepath"
"time"
"github.com/komari-monitor/komari-agent/dnsresolver"
"github.com/komari-monitor/komari-agent/utils"
)
@@ -136,7 +138,7 @@ func registerWithAutoDiscovery() error {
}
// 发送请求
client := &http.Client{}
client := dnsresolver.GetHTTPClient(30 * time.Second)
resp, err := client.Do(req)
if err != nil {
return fmt.Errorf("failed to send register request: %v", err)

View File

@@ -16,6 +16,7 @@ var (
// 创建适用于IPv4和IPv6的HTTP客户端
ipv4HTTPClient = &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
dialer := dnsresolver.GetNetDialer(15 * time.Second)
return dialer.DialContext(ctx, "tcp4", addr) // 锁v4防止出现问题
@@ -29,6 +30,7 @@ var (
}
ipv6HTTPClient = &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
dialer := dnsresolver.GetNetDialer(15 * time.Second)
return dialer.DialContext(ctx, "tcp6", addr) // 锁v6防止出现问题

View File

@@ -192,6 +192,7 @@ func newWSDialer() *websocket.Dialer {
d := &websocket.Dialer{
HandshakeTimeout: 15 * time.Second,
NetDialContext: dnsresolver.GetDialContext(15 * time.Second),
Proxy: http.ProxyFromEnvironment,
}
if flags.IgnoreUnsafeCert {
d.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}