github.com/v2fly/v2ray-core/v4@v4.45.2/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 = "github.com/v2fly/v2ray-core/v4/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", "fakedns". 58 repeated string destination_override = 2; 59 60 // Whether should only try to sniff metadata without waiting for client input. 61 // Can be used to support SMTP like protocol where server send the first message. 62 bool metadata_only = 3; 63 } 64 65 message ReceiverConfig { 66 // PortRange specifies the ports which the Receiver should listen on. 67 v2ray.core.common.net.PortRange port_range = 1; 68 // Listen specifies the IP address that the Receiver should listen on. 69 v2ray.core.common.net.IPOrDomain listen = 2; 70 AllocationStrategy allocation_strategy = 3; 71 v2ray.core.transport.internet.StreamConfig stream_settings = 4; 72 bool receive_original_destination = 5; 73 reserved 6; 74 // Override domains for the given protocol. 75 // Deprecated. Use sniffing_settings. 76 repeated KnownProtocols domain_override = 7 [deprecated = true]; 77 SniffingConfig sniffing_settings = 8; 78 } 79 80 message InboundHandlerConfig { 81 string tag = 1; 82 v2ray.core.common.serial.TypedMessage receiver_settings = 2; 83 v2ray.core.common.serial.TypedMessage proxy_settings = 3; 84 } 85 86 message OutboundConfig {} 87 88 message SenderConfig { 89 // Send traffic through the given IP. Only IP is allowed. 90 v2ray.core.common.net.IPOrDomain via = 1; 91 v2ray.core.transport.internet.StreamConfig stream_settings = 2; 92 v2ray.core.transport.internet.ProxyConfig proxy_settings = 3; 93 MultiplexingConfig multiplex_settings = 4; 94 } 95 96 message MultiplexingConfig { 97 // Whether or not Mux is enabled. 98 bool enabled = 1; 99 // Max number of concurrent connections that one Mux connection can handle. 100 uint32 concurrency = 2; 101 }