diff --git a/inbound/default.go b/inbound/default.go index 1f03fbc8..b4b529d4 100644 --- a/inbound/default.go +++ b/inbound/default.go @@ -187,7 +187,6 @@ func (a *myInboundAdapter) createMetadata(conn net.Conn, metadata adapter.Inboun metadata.SniffEnabled = a.listenOptions.SniffEnabled metadata.SniffOverrideDestination = a.listenOptions.SniffOverrideDestination metadata.DomainStrategy = dns.DomainStrategy(a.listenOptions.DomainStrategy) - metadata.Network = N.NetworkTCP if !metadata.Source.IsValid() { metadata.Source = M.SocksaddrFromNet(conn.RemoteAddr()) } @@ -242,7 +241,6 @@ func (a *myInboundAdapter) loopUDPIn() { metadata.SniffEnabled = a.listenOptions.SniffEnabled metadata.SniffOverrideDestination = a.listenOptions.SniffOverrideDestination metadata.DomainStrategy = dns.DomainStrategy(a.listenOptions.DomainStrategy) - metadata.Network = N.NetworkUDP metadata.Source = M.SocksaddrFromNetIP(addr) metadata.OriginDestination = a.udpAddr err = a.packetHandler.NewPacket(a.ctx, packetService, buffer, metadata) @@ -275,7 +273,6 @@ func (a *myInboundAdapter) loopUDPOOBIn() { metadata.SniffEnabled = a.listenOptions.SniffEnabled metadata.SniffOverrideDestination = a.listenOptions.SniffOverrideDestination metadata.DomainStrategy = dns.DomainStrategy(a.listenOptions.DomainStrategy) - metadata.Network = N.NetworkUDP metadata.Source = M.SocksaddrFromNetIP(addr) metadata.OriginDestination = a.udpAddr err = a.oobPacketHandler.NewPacket(a.ctx, packetService, buffer, oob[:oobN], metadata) @@ -302,7 +299,6 @@ func (a *myInboundAdapter) loopUDPInThreadSafe() { metadata.SniffEnabled = a.listenOptions.SniffEnabled metadata.SniffOverrideDestination = a.listenOptions.SniffOverrideDestination metadata.DomainStrategy = dns.DomainStrategy(a.listenOptions.DomainStrategy) - metadata.Network = N.NetworkUDP metadata.Source = M.SocksaddrFromNetIP(addr) metadata.OriginDestination = a.udpAddr err = a.packetHandler.NewPacket(a.ctx, packetService, buffer, metadata) @@ -331,7 +327,6 @@ func (a *myInboundAdapter) loopUDPOOBInThreadSafe() { metadata.SniffEnabled = a.listenOptions.SniffEnabled metadata.SniffOverrideDestination = a.listenOptions.SniffOverrideDestination metadata.DomainStrategy = dns.DomainStrategy(a.listenOptions.DomainStrategy) - metadata.Network = N.NetworkUDP metadata.Source = M.SocksaddrFromNetIP(addr) metadata.OriginDestination = a.udpAddr err = a.oobPacketHandler.NewPacket(a.ctx, packetService, buffer, oob[:oobN], metadata) diff --git a/inbound/hysteria.go b/inbound/hysteria.go index d7732e20..3f0ff74c 100644 --- a/inbound/hysteria.go +++ b/inbound/hysteria.go @@ -267,7 +267,6 @@ func (h *Hysteria) acceptStream(ctx context.Context, conn quic.Connection, strea metadata.Destination = M.ParseSocksaddrHostPort(request.Host, request.Port) if !request.UDP { h.logger.InfoContext(ctx, "inbound connection to ", metadata.Destination) - metadata.Network = N.NetworkTCP return h.router.RouteConnection(ctx, hysteria.NewConn(stream, metadata.Destination), metadata) } else { h.logger.InfoContext(ctx, "inbound packet connection to ", metadata.Destination) @@ -278,7 +277,6 @@ func (h *Hysteria) acceptStream(ctx context.Context, conn quic.Connection, strea h.udpSessions[id] = nCh h.udpSessionId += 1 h.udpAccess.Unlock() - metadata.Network = N.NetworkUDP packetConn := hysteria.NewPacketConn(conn, stream, id, metadata.Destination, nCh, common.Closer(func() error { h.udpAccess.Lock() if ch, ok := h.udpSessions[id]; ok { diff --git a/inbound/tun.go b/inbound/tun.go index 70dfb2c8..3e3b3865 100644 --- a/inbound/tun.go +++ b/inbound/tun.go @@ -165,7 +165,6 @@ func (t *Tun) NewConnection(ctx context.Context, conn net.Conn, upstreamMetadata var metadata adapter.InboundContext metadata.Inbound = t.tag metadata.InboundType = C.TypeTun - metadata.Network = N.NetworkTCP metadata.Source = upstreamMetadata.Source metadata.Destination = upstreamMetadata.Destination metadata.SniffEnabled = t.inboundOptions.SniffEnabled @@ -188,7 +187,6 @@ func (t *Tun) NewPacketConnection(ctx context.Context, conn N.PacketConn, upstre var metadata adapter.InboundContext metadata.Inbound = t.tag metadata.InboundType = C.TypeTun - metadata.Network = N.NetworkUDP metadata.Source = upstreamMetadata.Source metadata.Destination = upstreamMetadata.Destination metadata.SniffEnabled = t.inboundOptions.SniffEnabled diff --git a/route/router.go b/route/router.go index c87da526..162f9b5b 100644 --- a/route/router.go +++ b/route/router.go @@ -498,13 +498,13 @@ func (r *Router) DefaultOutbound(network string) adapter.Outbound { } func (r *Router) RouteConnection(ctx context.Context, conn net.Conn, metadata adapter.InboundContext) error { + metadata.Network = N.NetworkTCP switch metadata.Destination.Fqdn { case mux.Destination.Fqdn: r.logger.InfoContext(ctx, "inbound multiplex connection") return mux.NewConnection(ctx, r, r, r.logger, conn, metadata) case uot.UOTMagicAddress: r.logger.InfoContext(ctx, "inbound UoT connection") - metadata.Network = N.NetworkUDP metadata.Destination = M.Socksaddr{} return r.RoutePacketConnection(ctx, uot.NewClientConn(conn), metadata) } @@ -552,6 +552,7 @@ func (r *Router) RouteConnection(ctx context.Context, conn net.Conn, metadata ad } func (r *Router) RoutePacketConnection(ctx context.Context, conn N.PacketConn, metadata adapter.InboundContext) error { + metadata.Network = N.NetworkUDP if metadata.SniffEnabled { buffer := buf.NewPacket() buffer.FullReset()