Explorar el Código

compatibility

V2Ray hace 10 años
padre
commit
f7e165c114
Se han modificado 1 ficheros con 8 adiciones y 10 borrados
  1. 8 10
      proxy/socks/socks.go

+ 8 - 10
proxy/socks/socks.go

@@ -147,16 +147,14 @@ func (server *SocksServer) handleSocks5(reader *v2net.TimeOutReader, writer io.W
 
 	response.Error = protocol.ErrorSuccess
 
-	response.Port = request.Port
-	response.AddrType = request.AddrType
-	switch response.AddrType {
-	case protocol.AddrTypeIPv4:
-		copy(response.IPv4[:], request.IPv4[:])
-	case protocol.AddrTypeIPv6:
-		copy(response.IPv6[:], request.IPv6[:])
-	case protocol.AddrTypeDomain:
-		response.Domain = request.Domain
-	}
+  // Some SOCKS software requires a value other than dest. Let's fake one:
+	response.Port = uint16(38294)
+	response.AddrType = protocol.AddrTypeIPv4
+  response.IPv4[0] = 127
+  response.IPv4[1] = 0
+  response.IPv4[2] = 0
+  response.IPv4[3] = 1
+
 	err = protocol.WriteResponse(writer, response)
 	if err != nil {
 		log.Error("Socks failed to write response: %v", err)