|  | @@ -4,7 +4,6 @@ import (
 | 
	
		
			
				|  |  |  	"net"
 | 
	
		
			
				|  |  |  	"testing"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	socks1 "h12.me/socks"
 | 
	
		
			
				|  |  |  	"v2ray.com/core"
 | 
	
		
			
				|  |  |  	v2net "v2ray.com/core/common/net"
 | 
	
		
			
				|  |  |  	"v2ray.com/core/common/protocol"
 | 
	
	
		
			
				|  | @@ -110,56 +109,6 @@ func TestSocksBridgeTCP(t *testing.T) {
 | 
	
		
			
				|  |  |  	CloseAllServers()
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func TestSocks4(t *testing.T) {
 | 
	
		
			
				|  |  | -	assert := assert.On(t)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	tcpServer := tcp.Server{
 | 
	
		
			
				|  |  | -		MsgProcessor: xor,
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	dest, err := tcpServer.Start()
 | 
	
		
			
				|  |  | -	assert.Error(err).IsNil()
 | 
	
		
			
				|  |  | -	defer tcpServer.Close()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	serverPort := pickPort()
 | 
	
		
			
				|  |  | -	serverConfig := &core.Config{
 | 
	
		
			
				|  |  | -		Inbound: []*core.InboundConnectionConfig{
 | 
	
		
			
				|  |  | -			{
 | 
	
		
			
				|  |  | -				PortRange: v2net.SinglePortRange(serverPort),
 | 
	
		
			
				|  |  | -				ListenOn:  v2net.NewIPOrDomain(v2net.LocalHostIP),
 | 
	
		
			
				|  |  | -				Settings: serial.ToTypedMessage(&socks.ServerConfig{
 | 
	
		
			
				|  |  | -					AuthType:   socks.AuthType_NO_AUTH,
 | 
	
		
			
				|  |  | -					Address:    v2net.NewIPOrDomain(v2net.LocalHostIP),
 | 
	
		
			
				|  |  | -					UdpEnabled: false,
 | 
	
		
			
				|  |  | -				}),
 | 
	
		
			
				|  |  | -			},
 | 
	
		
			
				|  |  | -		},
 | 
	
		
			
				|  |  | -		Outbound: []*core.OutboundConnectionConfig{
 | 
	
		
			
				|  |  | -			{
 | 
	
		
			
				|  |  | -				Settings: serial.ToTypedMessage(&freedom.Config{}),
 | 
	
		
			
				|  |  | -			},
 | 
	
		
			
				|  |  | -		},
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	assert.Error(InitializeServerConfig(serverConfig)).IsNil()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	dialer := socks1.DialSocksProxy(socks1.SOCKS4, v2net.TCPDestination(v2net.LocalHostIP, serverPort).NetAddr())
 | 
	
		
			
				|  |  | -	conn, err := dialer("tcp", dest.NetAddr())
 | 
	
		
			
				|  |  | -	assert.Error(err).IsNil()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	payload := "test payload"
 | 
	
		
			
				|  |  | -	nBytes, err := conn.Write([]byte(payload))
 | 
	
		
			
				|  |  | -	assert.Error(err).IsNil()
 | 
	
		
			
				|  |  | -	assert.Int(nBytes).Equals(len(payload))
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	response := make([]byte, 1024)
 | 
	
		
			
				|  |  | -	nBytes, err = conn.Read(response)
 | 
	
		
			
				|  |  | -	assert.Error(err).IsNil()
 | 
	
		
			
				|  |  | -	assert.Bytes(response[:nBytes]).Equals(xor([]byte(payload)))
 | 
	
		
			
				|  |  | -	assert.Error(conn.Close()).IsNil()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	CloseAllServers()
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  func TestSocksBridageUDP(t *testing.T) {
 | 
	
		
			
				|  |  |  	assert := assert.On(t)
 | 
	
		
			
				|  |  |  
 |