github.com/Uhtred009/v2ray-core-1@v4.31.2+incompatible/app/proxyman/config.proto (about) 1 syntax = "proto3"; 2 3 package v2ray.core.app.proxyman; 4 option csharp_namespace = "V2Ray.Core.App.Proxyman"; 5 option go_package = "v2ray.com/core/app/proxyman"; 6 option java_package = "com.v2ray.core.app.proxyman"; 7 option java_multiple_files = true; 8 9 import "common/net/address.proto"; 10 import "common/net/port.proto"; 11 import "transport/internet/config.proto"; 12 import "common/serial/typed_message.proto"; 13 14 message InboundConfig {} 15 16 message AllocationStrategy { 17 enum Type { 18 // Always allocate all connection handlers. 19 Always = 0; 20 21 // Randomly allocate specific range of handlers. 22 Random = 1; 23 24 // External. Not supported yet. 25 External = 2; 26 } 27 28 Type type = 1; 29 30 message AllocationStrategyConcurrency { 31 uint32 value = 1; 32 } 33 34 // Number of handlers (ports) running in parallel. 35 // Default value is 3 if unset. 36 AllocationStrategyConcurrency concurrency = 2; 37 38 message AllocationStrategyRefresh { 39 uint32 value = 1; 40 } 41 42 // Number of minutes before a handler is regenerated. 43 // Default value is 5 if unset. 44 AllocationStrategyRefresh refresh = 3; 45 } 46 47 enum KnownProtocols { 48 HTTP = 0; 49 TLS = 1; 50 } 51 52 message SniffingConfig { 53 // Whether or not to enable content sniffing on an inbound connection. 54 bool enabled = 1; 55 56 // Override target destination if sniff'ed protocol is in the given list. 57 // Supported values are "http", "tls". 58 repeated string destination_override = 2; 59 } 60 61 message ReceiverConfig { 62 // PortRange specifies the ports which the Receiver should listen on. 63 v2ray.core.common.net.PortRange port_range = 1; 64 // Listen specifies the IP address that the Receiver should listen on. 65 v2ray.core.common.net.IPOrDomain listen = 2; 66 AllocationStrategy allocation_strategy = 3; 67 v2ray.core.transport.internet.StreamConfig stream_settings = 4; 68 bool receive_original_destination = 5; 69 reserved 6; 70 // Override domains for the given protocol. 71 // Deprecated. Use sniffing_settings. 72 repeated KnownProtocols domain_override = 7 [deprecated = true]; 73 SniffingConfig sniffing_settings = 8; 74 } 75 76 message InboundHandlerConfig { 77 string tag = 1; 78 v2ray.core.common.serial.TypedMessage receiver_settings = 2; 79 v2ray.core.common.serial.TypedMessage proxy_settings = 3; 80 } 81 82 message OutboundConfig {} 83 84 message SenderConfig { 85 // Send traffic through the given IP. Only IP is allowed. 86 v2ray.core.common.net.IPOrDomain via = 1; 87 v2ray.core.transport.internet.StreamConfig stream_settings = 2; 88 v2ray.core.transport.internet.ProxyConfig proxy_settings = 3; 89 MultiplexingConfig multiplex_settings = 4; 90 } 91 92 message MultiplexingConfig { 93 // Whether or not Mux is enabled. 94 bool enabled = 1; 95 // Max number of concurrent connections that one Mux connection can handle. 96 uint32 concurrency = 2; 97 }