mirror of https://github.com/XTLS/Xray-core
				
				
				
			
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
syntax = "proto3";
 | 
						|
 | 
						|
package xray.proxy.socks;
 | 
						|
option csharp_namespace = "Xray.Proxy.Socks";
 | 
						|
option go_package = "github.com/xtls/xray-core/proxy/socks";
 | 
						|
option java_package = "com.xray.proxy.socks";
 | 
						|
option java_multiple_files = true;
 | 
						|
 | 
						|
import "common/net/address.proto";
 | 
						|
import "common/protocol/server_spec.proto";
 | 
						|
 | 
						|
// Account represents a Socks account.
 | 
						|
message Account {
 | 
						|
  string username = 1;
 | 
						|
  string password = 2;
 | 
						|
}
 | 
						|
 | 
						|
// AuthType is the authentication type of Socks proxy.
 | 
						|
enum AuthType {
 | 
						|
  // NO_AUTH is for anounymous authentication.
 | 
						|
  NO_AUTH = 0;
 | 
						|
  // PASSWORD is for username/password authentication.
 | 
						|
  PASSWORD = 1;
 | 
						|
}
 | 
						|
 | 
						|
enum Version {
 | 
						|
  SOCKS5 = 0;
 | 
						|
  SOCKS4 = 1;
 | 
						|
  SOCKS4A = 2;
 | 
						|
}
 | 
						|
 | 
						|
// ServerConfig is the protobuf config for Socks server.
 | 
						|
message ServerConfig {
 | 
						|
  AuthType auth_type = 1;
 | 
						|
  map<string, string> accounts = 2;
 | 
						|
  xray.common.net.IPOrDomain address = 3;
 | 
						|
  bool udp_enabled = 4;
 | 
						|
  uint32 timeout = 5 [deprecated = true];
 | 
						|
  uint32 user_level = 6;
 | 
						|
}
 | 
						|
 | 
						|
// ClientConfig is the protobuf config for Socks client.
 | 
						|
message ClientConfig {
 | 
						|
  // Sever is a list of Socks server addresses.
 | 
						|
  repeated xray.common.protocol.ServerEndpoint server = 1;
 | 
						|
  Version version = 2;
 | 
						|
}
 |