|  | @@ -12,6 +12,7 @@ import "v2ray.com/core/common/log/config.proto";
 | 
											
												
													
														|  |  import "v2ray.com/core/transport/internet/config.proto";
 |  |  import "v2ray.com/core/transport/internet/config.proto";
 | 
											
												
													
														|  |  import "v2ray.com/core/transport/config.proto";
 |  |  import "v2ray.com/core/transport/config.proto";
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +// Configuration serialization format.
 | 
											
												
													
														|  |  enum ConfigFormat {
 |  |  enum ConfigFormat {
 | 
											
												
													
														|  |    Protobuf = 0;
 |  |    Protobuf = 0;
 | 
											
												
													
														|  |    JSON = 1;
 |  |    JSON = 1;
 | 
											
										
											
												
													
														|  | @@ -40,34 +41,54 @@ message AllocationStrategy {
 | 
											
												
													
														|  |    Type type = 1;
 |  |    Type type = 1;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    // Number of handlers (ports) running in parallel.
 |  |    // Number of handlers (ports) running in parallel.
 | 
											
												
													
														|  | 
 |  | +  // Default value is 3 if unset.
 | 
											
												
													
														|  |    AllocationStrategyConcurrency concurrency = 2;
 |  |    AllocationStrategyConcurrency concurrency = 2;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |    // Number of minutes before a handler is regenerated.
 |  |    // Number of minutes before a handler is regenerated.
 | 
											
												
													
														|  | 
 |  | +  // Default value is 5 if unset.
 | 
											
												
													
														|  |    AllocationStrategyRefresh refresh = 3;
 |  |    AllocationStrategyRefresh refresh = 3;
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  // Config for an inbound connection handler.
 |  |  // Config for an inbound connection handler.
 | 
											
												
													
														|  |  message InboundConnectionConfig {
 |  |  message InboundConnectionConfig {
 | 
											
												
													
														|  | 
 |  | +  // Protocol specific settings. Must be one of the supported protocols.
 | 
											
												
													
														|  |    v2ray.core.common.loader.TypedSettings settings = 1;
 |  |    v2ray.core.common.loader.TypedSettings settings = 1;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // Range of port number to run on. Both inclusive.
 | 
											
												
													
														|  |    v2ray.core.common.net.PortRange port_range = 2;
 |  |    v2ray.core.common.net.PortRange port_range = 2;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // IP address to listen on. 0.0.0.0 if unset.
 | 
											
												
													
														|  |    v2ray.core.common.net.IPOrDomain listen_on = 3;
 |  |    v2ray.core.common.net.IPOrDomain listen_on = 3;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // Tag of this handler.
 | 
											
												
													
														|  |    string tag = 4;
 |  |    string tag = 4;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |    AllocationStrategy allocation_strategy = 5;
 |  |    AllocationStrategy allocation_strategy = 5;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |    v2ray.core.transport.internet.StreamConfig stream_settings = 6;
 |  |    v2ray.core.transport.internet.StreamConfig stream_settings = 6;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |    bool allow_passive_connection = 7;
 |  |    bool allow_passive_connection = 7;
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +// Config for an outbound connection handler.
 | 
											
												
													
														|  |  message OutboundConnectionConfig {
 |  |  message OutboundConnectionConfig {
 | 
											
												
													
														|  |    v2ray.core.common.loader.TypedSettings settings = 1;
 |  |    v2ray.core.common.loader.TypedSettings settings = 1;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // IP address to send data through. 0.0.0.0 if unset.
 | 
											
												
													
														|  |    v2ray.core.common.net.IPOrDomain send_through = 2;
 |  |    v2ray.core.common.net.IPOrDomain send_through = 2;
 | 
											
												
													
														|  |    v2ray.core.transport.internet.StreamConfig stream_settings = 3;
 |  |    v2ray.core.transport.internet.StreamConfig stream_settings = 3;
 | 
											
												
													
														|  |    string tag = 4;
 |  |    string tag = 4;
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  message Config {
 |  |  message Config {
 | 
											
												
													
														|  | 
 |  | +  // Inbound handler configurations. Must have at least one item.
 | 
											
												
													
														|  |    repeated InboundConnectionConfig inbound = 1;
 |  |    repeated InboundConnectionConfig inbound = 1;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // Outbound handler configurations. Must have at least one item. The first item is used as default for routing.
 | 
											
												
													
														|  |    repeated OutboundConnectionConfig outbound = 2;
 |  |    repeated OutboundConnectionConfig outbound = 2;
 | 
											
												
													
														|  |    v2ray.core.common.log.Config log = 3;
 |  |    v2ray.core.common.log.Config log = 3;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // App configuration. Must be one in the app directory.
 | 
											
												
													
														|  |    repeated v2ray.core.common.loader.TypedSettings app = 4;
 |  |    repeated v2ray.core.common.loader.TypedSettings app = 4;
 | 
											
												
													
														|  |    v2ray.core.transport.Config transport = 5;
 |  |    v2ray.core.transport.Config transport = 5;
 | 
											
												
													
														|  |  }
 |  |  }
 |