github.com/v2fly/v2ray-core/v5@v5.16.2-0.20240507031116-8191faa6e095/transport/internet/config.proto (about) 1 syntax = "proto3"; 2 3 package v2ray.core.transport.internet; 4 option csharp_namespace = "V2Ray.Core.Transport.Internet"; 5 option go_package = "github.com/v2fly/v2ray-core/v5/transport/internet"; 6 option java_package = "com.v2ray.core.transport.internet"; 7 option java_multiple_files = true; 8 9 import "google/protobuf/any.proto"; 10 11 enum TransportProtocol { 12 TCP = 0; 13 UDP = 1; 14 MKCP = 2; 15 WebSocket = 3; 16 HTTP = 4; 17 DomainSocket = 5; 18 } 19 20 message TransportConfig { 21 // Type of network that this settings supports. 22 // Deprecated. Use the string form below. 23 TransportProtocol protocol = 1 [ deprecated = true ]; 24 25 // Type of network that this settings supports. 26 string protocol_name = 3; 27 28 // Specific settings. Must be of the transports. 29 google.protobuf.Any settings = 2; 30 } 31 32 message StreamConfig { 33 // Effective network. Deprecated. Use the string form below. 34 TransportProtocol protocol = 1 [ deprecated = true ]; 35 36 // Effective network. 37 string protocol_name = 5; 38 39 repeated TransportConfig transport_settings = 2; 40 41 // Type of security. Must be a message name of the settings proto. 42 string security_type = 3; 43 44 // Settings for transport security. For now the only choice is TLS. 45 repeated google.protobuf.Any security_settings = 4; 46 47 SocketConfig socket_settings = 6; 48 } 49 50 message ProxyConfig { 51 string tag = 1; 52 53 bool transportLayerProxy = 2; 54 } 55 56 // SocketConfig is options to be applied on network sockets. 57 message SocketConfig { 58 // Mark of the connection. If non-zero, the value will be set to SO_MARK. 59 uint32 mark = 1; 60 61 enum TCPFastOpenState { 62 // AsIs is to leave the current TFO state as is, unmodified. 63 AsIs = 0; 64 // Enable is for enabling TFO explictly. 65 Enable = 1; 66 // Disable is for disabling TFO explictly. 67 Disable = 2; 68 } 69 70 // TFO is the state of TFO settings. 71 TCPFastOpenState tfo = 2; 72 73 enum TProxyMode { 74 // TProxy is off. 75 Off = 0; 76 // TProxy mode. 77 TProxy = 1; 78 // Redirect mode. 79 Redirect = 2; 80 } 81 82 // TProxy is for enabling TProxy socket option. 83 TProxyMode tproxy = 3; 84 85 // ReceiveOriginalDestAddress is for enabling IP_RECVORIGDSTADDR socket 86 // option. This option is for UDP only. 87 bool receive_original_dest_address = 4; 88 89 bytes bind_address = 5; 90 91 uint32 bind_port = 6; 92 93 bool accept_proxy_protocol = 7; 94 95 int32 tcp_keep_alive_interval = 8; 96 97 uint32 tfo_queue_length = 9; 98 99 int32 tcp_keep_alive_idle = 10; 100 101 string bind_to_device = 11; 102 103 int64 rx_buf_size = 12; 104 int64 tx_buf_size = 13; 105 bool force_buf_size = 14; 106 }