1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-03 06:30:42 +00:00
v2fly/transport/internet/config.proto

71 lines
1.8 KiB
Protocol Buffer
Raw Normal View History

2016-10-02 21:43:58 +00:00
syntax = "proto3";
package v2ray.core.transport.internet;
2016-12-22 23:24:28 +00:00
option csharp_namespace = "V2Ray.Core.Transport.Internet";
2016-10-02 21:43:58 +00:00
option go_package = "internet";
option java_package = "com.v2ray.core.transport.internet";
2017-02-03 22:15:10 +00:00
option java_multiple_files = true;
2016-10-02 21:43:58 +00:00
2016-12-15 10:51:09 +00:00
import "v2ray.com/core/common/serial/typed_message.proto";
2016-10-02 21:43:58 +00:00
enum TransportProtocol {
TCP = 0;
UDP = 1;
MKCP = 2;
WebSocket = 3;
2018-03-01 12:16:52 +00:00
HTTP = 4;
2018-04-09 15:09:24 +00:00
DomainSocket = 5;
}
message TransportConfig {
2016-10-17 22:09:49 +00:00
// Type of network that this settings supports.
2018-08-06 11:48:35 +00:00
// Deprecated. Use the string form below.
TransportProtocol protocol = 1;
2016-10-17 22:09:49 +00:00
2018-08-06 11:48:35 +00:00
// Type of network that this settings supports.
string protocol_name = 3;
2018-01-04 10:24:17 +00:00
// Specific settings. Must be of the transports.
2016-12-15 10:51:09 +00:00
v2ray.core.common.serial.TypedMessage settings = 2;
2016-10-02 21:43:58 +00:00
}
message StreamConfig {
2018-08-06 11:48:35 +00:00
// Effective network. Deprecated. Use the string form below.
TransportProtocol protocol = 1 [deprecated = true];
2016-10-17 22:09:49 +00:00
// Effective network.
2018-08-06 11:48:35 +00:00
string protocol_name = 5;
2016-10-17 22:09:49 +00:00
repeated TransportConfig transport_settings = 2;
2016-10-17 22:09:49 +00:00
// Type of security. Must be a message name of the settings proto.
2016-10-16 12:22:21 +00:00
string security_type = 3;
2016-10-17 22:09:49 +00:00
2018-01-04 10:24:17 +00:00
// Settings for transport security. For now the only choice is TLS.
2016-12-15 10:51:09 +00:00
repeated v2ray.core.common.serial.TypedMessage security_settings = 4;
2018-09-06 08:06:57 +00:00
SocketConfig socket_settings = 6;
2016-11-10 22:41:28 +00:00
}
message ProxyConfig {
string tag = 1;
}
2018-09-06 08:06:57 +00:00
// SocketConfig is options to be applied on network sockets.
message SocketConfig {
// Mark of the connection. If non-zero, the value will be set to SO_MARK.
int32 mark = 1;
2018-09-10 11:23:27 +00:00
enum TCPFastOpenState {
// AsIs is to leave the current TFO state as is, unmodified.
AsIs = 0;
// Enable is for enabling TFO explictly.
Enable = 1;
// Disable is for disabling TFO explictly.
Disable = 2;
}
// TFO is the state of TFO settings.
TCPFastOpenState tfo = 2;
2018-09-06 08:06:57 +00:00
}