浏览代码

Fix SOCKS outbound

世界 2 年之前
父节点
当前提交
be61ca64d4
共有 1 个文件被更改,包括 10 次插入2 次删除
  1. 10 2
      outbound/socks.go

+ 10 - 2
outbound/socks.go

@@ -113,9 +113,17 @@ func (h *Socks) ListenPacket(ctx context.Context, destination M.Socksaddr) (net.
 }
 
 func (h *Socks) NewConnection(ctx context.Context, conn net.Conn, metadata adapter.InboundContext) error {
-	return NewDirectConnection(ctx, h.router, h, conn, metadata)
+	if h.resolve {
+		return NewDirectConnection(ctx, h.router, h, conn, metadata)
+	} else {
+		return NewConnection(ctx, h, conn, metadata)
+	}
 }
 
 func (h *Socks) NewPacketConnection(ctx context.Context, conn N.PacketConn, metadata adapter.InboundContext) error {
-	return NewDirectPacketConnection(ctx, h.router, h, conn, metadata)
+	if h.resolve {
+		return NewDirectPacketConnection(ctx, h.router, h, conn, metadata)
+	} else {
+		return NewPacketConnection(ctx, h, conn, metadata)
+	}
 }