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 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; }