mirror of https://github.com/v2ray/v2ray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.7 KiB
101 lines
2.7 KiB
syntax = "proto3"; |
|
|
|
package v2ray.core.app.proxyman; |
|
option csharp_namespace = "V2Ray.Core.App.Proxyman"; |
|
option go_package = "proxyman"; |
|
option java_package = "com.v2ray.core.app.proxyman"; |
|
option java_multiple_files = true; |
|
|
|
import "v2ray.com/core/common/net/address.proto"; |
|
import "v2ray.com/core/common/net/port.proto"; |
|
import "v2ray.com/core/transport/internet/config.proto"; |
|
import "v2ray.com/core/common/serial/typed_message.proto"; |
|
|
|
message InboundConfig { |
|
} |
|
|
|
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; |
|
} |
|
|
|
message SniffingConfig { |
|
// Whether or not to enable content sniffing on an inbound connection. |
|
bool enabled = 1; |
|
|
|
// Override target destination if sniff'ed protocol is in the given list. |
|
// Supported values are "http", "tls". |
|
repeated string destination_override = 2; |
|
} |
|
|
|
message ReceiverConfig { |
|
// PortRange specifies the ports which the Receiver should listen on. |
|
v2ray.core.common.net.PortRange port_range = 1; |
|
// Listen specifies the IP address that the Receiver should listen on. |
|
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; |
|
// Override domains for the given protocol. |
|
// Deprecated. Use sniffing_settings. |
|
repeated KnownProtocols domain_override = 7 [deprecated = true]; |
|
SniffingConfig sniffing_settings = 8; |
|
} |
|
|
|
message InboundHandlerConfig { |
|
string tag = 1; |
|
v2ray.core.common.serial.TypedMessage receiver_settings = 2; |
|
v2ray.core.common.serial.TypedMessage proxy_settings = 3; |
|
} |
|
|
|
message OutboundConfig { |
|
|
|
} |
|
|
|
message SenderConfig { |
|
// 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; |
|
v2ray.core.transport.internet.ProxyConfig proxy_settings = 3; |
|
MultiplexingConfig multiplex_settings = 4; |
|
} |
|
|
|
message MultiplexingConfig { |
|
// Whether or not Mux is enabled. |
|
bool enabled = 1; |
|
// Max number of concurrent connections that one Mux connection can handle. |
|
uint32 concurrency = 2; |
|
}
|
|
|