From d85e7080fece5c6b39bd0e2b1dbe2f171a8b8291 Mon Sep 17 00:00:00 2001 From: mzz2017 <2017@duck.com> Date: Mon, 27 Mar 2023 21:44:13 +0800 Subject: [PATCH] fix/optimize: fix https h2 problem and add h2 mutiplex --- component/outbound/dialer/dialer.go | 1 - control/control_plane.go | 15 ++++++++------- go.mod | 3 ++- go.sum | 4 ++-- main.go | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/component/outbound/dialer/dialer.go b/component/outbound/dialer/dialer.go index e1e89a4..eac8600 100644 --- a/component/outbound/dialer/dialer.go +++ b/component/outbound/dialer/dialer.go @@ -86,7 +86,6 @@ func (d *Dialer) Close() error { d.ticker.Stop() } d.tickerMu.Unlock() - close(d.checkCh) return nil } diff --git a/control/control_plane.go b/control/control_plane.go index a403afb..b475007 100644 --- a/control/control_plane.go +++ b/control/control_plane.go @@ -740,13 +740,6 @@ func (c *ControlPlane) chooseBestDnsDialer( bestTarget netip.AddrPort dialMark uint32 ) - if c.log.IsLevelEnabled(logrus.TraceLevel) { - c.log.WithFields(logrus.Fields{ - "ipversions": ipversions, - "l4protos": l4protos, - "upstream": dnsUpstream.String(), - }).Traceln("Choose DNS path") - } // Get the min latency path. networkType := dialer.NetworkType{ IsDns: true, @@ -805,6 +798,14 @@ func (c *ControlPlane) chooseBestDnsDialer( if bestDialer == nil { return nil, fmt.Errorf("no proper dialer for DNS upstream: %v", dnsUpstream.String()) } + if c.log.IsLevelEnabled(logrus.TraceLevel) { + c.log.WithFields(logrus.Fields{ + "ipversions": ipversions, + "l4protos": l4protos, + "upstream": dnsUpstream.String(), + "choose": string(l4proto) + "+" + string(ipversion), + }).Traceln("Choose DNS path") + } switch ipversion { case consts.IpVersionStr_4: bestTarget = netip.AddrPortFrom(dnsUpstream.Ip4, dnsUpstream.Port) diff --git a/go.mod b/go.mod index 4d16059..20c1b44 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/gorilla/websocket v1.5.0 github.com/json-iterator/go v1.1.12 github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 - github.com/mzz2017/softwind v0.0.0-20230321095027-720c4011df3a + github.com/mzz2017/softwind v0.0.0-20230327122502-f41e2b2af15b github.com/okzk/sdnotify v0.0.0-20180710141335-d9becc38acbd github.com/safchain/ethtool v0.0.0-20230116090318-67cc41908669 github.com/sirupsen/logrus v1.9.0 @@ -56,6 +56,7 @@ require ( ) //replace github.com/mzz2017/softwind => /home/mzz/goProjects/softwind + //replace github.com/cloudflare/ahocorasick => /home/mzz/goProjects/ahocorasick //replace github.com/cilium/ebpf => /home/mzz/goProjects/ebpf //replace github.com/daeuniverse/dae-config-dist/go/dae_config => /home/mzz/antlrProjects/dae-config/build/go/dae_config diff --git a/go.sum b/go.sum index 32d0d95..4073512 100644 --- a/go.sum +++ b/go.sum @@ -72,8 +72,8 @@ github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9 github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/mzz2017/disk-bloom v1.0.1 h1:rEF9MiXd9qMW3ibRpqcerLXULoTgRlM21yqqJl1B90M= github.com/mzz2017/disk-bloom v1.0.1/go.mod h1:JLHETtUu44Z6iBmsqzkOtFlRvXSlKnxjwiBRDapizDI= -github.com/mzz2017/softwind v0.0.0-20230321095027-720c4011df3a h1:uIKx67Y8lEqRdroh1jHnoMc5fcEUjW4c13IsGzn1NJ4= -github.com/mzz2017/softwind v0.0.0-20230321095027-720c4011df3a/go.mod h1:V8GFOtdpTgzCJtCVXRqjmdDsY+PIhCCx4JpD0zq8Z7I= +github.com/mzz2017/softwind v0.0.0-20230327122502-f41e2b2af15b h1:ZCtM7NOSAV7t7TK3My7uM3U7NG4dv30kFYk/+jyDV8M= +github.com/mzz2017/softwind v0.0.0-20230327122502-f41e2b2af15b/go.mod h1:V8GFOtdpTgzCJtCVXRqjmdDsY+PIhCCx4JpD0zq8Z7I= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= diff --git a/main.go b/main.go index a981be1..5df770b 100644 --- a/main.go +++ b/main.go @@ -8,8 +8,8 @@ package main import ( - "github.com/json-iterator/go/extra" "github.com/daeuniverse/dae/cmd" + "github.com/json-iterator/go/extra" "net/http" "os" "time"