| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- syntax = "proto3";
 
- package v2ray.core;
 
- option go_package = "core";
 
- option java_package = "com.v2ray.core";
 
- option java_outer_classname = "ConfigProto";
 
- import "v2ray.com/core/common/loader/type.proto";
 
- import "v2ray.com/core/common/net/port.proto";
 
- import "v2ray.com/core/common/net/address.proto";
 
- import "v2ray.com/core/common/log/config.proto";
 
- import "v2ray.com/core/transport/internet/config.proto";
 
- import "v2ray.com/core/transport/config.proto";
 
- // Configuration serialization format.
 
- enum ConfigFormat {
 
-   Protobuf = 0;
 
-   JSON = 1;
 
- }
 
- message AllocationStrategyConcurrency {
 
-   uint32 value = 1;
 
- }
 
- message AllocationStrategyRefresh {
 
-   uint32 value = 1;
 
- }
 
- 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;
 
-   // Number of handlers (ports) running in parallel.
 
-   // Default value is 3 if unset.
 
-   AllocationStrategyConcurrency concurrency = 2;
 
-   // Number of minutes before a handler is regenerated.
 
-   // Default value is 5 if unset.
 
-   AllocationStrategyRefresh refresh = 3;
 
- }
 
- // Config for an inbound connection handler.
 
- message InboundConnectionConfig {
 
-   // Protocol specific settings. Must be one of the supported protocols.
 
-   v2ray.core.common.loader.TypedSettings settings = 1;
 
-   // Range of port number to run on. Both inclusive.
 
-   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;
 
-   // Tag of this handler.
 
-   string tag = 4;
 
-   AllocationStrategy allocation_strategy = 5;
 
-   v2ray.core.transport.internet.StreamConfig stream_settings = 6;
 
-   bool allow_passive_connection = 7;
 
- }
 
- // Config for an outbound connection handler.
 
- message OutboundConnectionConfig {
 
-   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.transport.internet.StreamConfig stream_settings = 3;
 
-   v2ray.core.transport.internet.ProxyConfig proxy_settings = 5;
 
-   string tag = 4;
 
- }
 
- message Config {
 
-   // Inbound handler configurations. Must have at least one item.
 
-   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;
 
-   v2ray.core.common.log.Config log = 3;
 
-   // App configuration. Must be one in the app directory.
 
-   repeated v2ray.core.common.loader.TypedSettings app = 4;
 
-   v2ray.core.transport.Config transport = 5;
 
- }
 
 
  |