github.com/imannamdari/v2ray-core/v5@v5.0.5/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/imannamdari/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  }