1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-12-22 10:08:15 -05:00
v2fly/app/proxyman/config.proto

98 lines
2.7 KiB
Protocol Buffer
Raw Normal View History

2016-12-16 17:02:11 -05:00
syntax = "proto3";
package v2ray.core.app.proxyman;
2017-01-08 04:10:37 -05:00
option csharp_namespace = "V2Ray.Core.App.Proxyman";
option go_package = "v2ray.com/core/app/proxyman";
2016-12-16 17:02:11 -05:00
option java_package = "com.v2ray.core.app.proxyman";
2017-02-03 17:15:10 -05:00
option java_multiple_files = true;
2016-12-16 17:02:11 -05:00
import "common/net/address.proto";
import "common/net/port.proto";
import "transport/internet/config.proto";
import "common/serial/typed_message.proto";
2017-01-14 18:17:06 -05:00
message InboundConfig {}
2017-04-02 08:24:10 -04:00
2017-01-14 18:17:06 -05:00
message AllocationStrategy {
enum Type {
// Always allocate all connection handlers.
Always = 0;
// Randomly allocate specific range of handlers.
Random = 1;
// External. Not supported yet.
External = 2;
}
Type type = 1;
message AllocationStrategyConcurrency {
uint32 value = 1;
}
// Number of handlers (ports) running in parallel.
// Default value is 3 if unset.
AllocationStrategyConcurrency concurrency = 2;
message AllocationStrategyRefresh {
uint32 value = 1;
}
// Number of minutes before a handler is regenerated.
// Default value is 5 if unset.
AllocationStrategyRefresh refresh = 3;
}
enum KnownProtocols {
HTTP = 0;
TLS = 1;
}
2018-07-16 07:47:00 -04:00
message SniffingConfig {
// Whether or not to enable content sniffing on an inbound connection.
bool enabled = 1;
2018-07-20 07:09:42 -04:00
// Override target destination if sniff'ed protocol is in the given list.
2018-07-16 07:47:00 -04:00
// Supported values are "http", "tls".
2018-07-20 07:09:42 -04:00
repeated string destination_override = 2;
2018-07-16 07:47:00 -04:00
}
message ReceiverConfig {
2018-04-09 11:09:24 -04:00
// PortRange specifies the ports which the Receiver should listen on.
2017-01-14 18:17:06 -05:00
v2ray.core.common.net.PortRange port_range = 1;
2018-04-09 11:09:24 -04:00
// Listen specifies the IP address that the Receiver should listen on.
2017-01-14 18:17:06 -05:00
v2ray.core.common.net.IPOrDomain listen = 2;
AllocationStrategy allocation_strategy = 3;
v2ray.core.transport.internet.StreamConfig stream_settings = 4;
bool receive_original_destination = 5;
reserved 6;
2018-07-16 07:47:00 -04:00
// Override domains for the given protocol.
// Deprecated. Use sniffing_settings.
repeated KnownProtocols domain_override = 7 [deprecated = true];
SniffingConfig sniffing_settings = 8;
2017-01-14 18:17:06 -05:00
}
message InboundHandlerConfig {
string tag = 1;
v2ray.core.common.serial.TypedMessage receiver_settings = 2;
v2ray.core.common.serial.TypedMessage proxy_settings = 3;
}
message OutboundConfig {}
2017-01-14 18:17:06 -05:00
message SenderConfig {
2017-01-14 18:17:06 -05:00
// Send traffic through the given IP. Only IP is allowed.
v2ray.core.common.net.IPOrDomain via = 1;
v2ray.core.transport.internet.StreamConfig stream_settings = 2;
2017-01-14 18:48:37 -05:00
v2ray.core.transport.internet.ProxyConfig proxy_settings = 3;
2017-04-02 08:24:10 -04:00
MultiplexingConfig multiplex_settings = 4;
2017-01-14 18:17:06 -05:00
}
2017-02-03 17:09:24 -05:00
message MultiplexingConfig {
2017-04-12 04:40:21 -04:00
// Whether or not Mux is enabled.
2017-02-03 17:09:24 -05:00
bool enabled = 1;
2017-04-12 04:40:21 -04:00
// Max number of concurrent connections that one Mux connection can handle.
uint32 concurrency = 2;
2017-02-03 17:09:24 -05:00
}