github.com/EagleQL/Xray-core@v1.4.3/core/config.proto (about)

     1  syntax = "proto3";
     2  
     3  package xray.core;
     4  option csharp_namespace = "Xray.Core";
     5  option go_package = "github.com/xtls/xray-core/core";
     6  option java_package = "com.xray.core";
     7  option java_multiple_files = true;
     8  
     9  import "common/serial/typed_message.proto";
    10  import "transport/global/config.proto";
    11  
    12  // Config is the master config of Xray. Xray takes this config as input and
    13  // functions accordingly.
    14  message Config {
    15    // Inbound handler configurations. Must have at least one item.
    16    repeated InboundHandlerConfig inbound = 1;
    17  
    18    // Outbound handler configurations. Must have at least one item. The first
    19    // item is used as default for routing.
    20    repeated OutboundHandlerConfig outbound = 2;
    21  
    22    reserved 3;
    23  
    24    // App is for configurations of all features in Xray. A feature must
    25    // implement the Feature interface, and its config type must be registered
    26    // through common.RegisterConfig.
    27    repeated xray.common.serial.TypedMessage app = 4;
    28  
    29    // Transport settings.
    30    // Deprecated. Each inbound and outbound should choose their own transport
    31    // config. Date to remove: 2020-01-13
    32    xray.transport.Config transport = 5 [deprecated = true];
    33  
    34    // Configuration for extensions. The config may not work if corresponding
    35    // extension is not loaded into Xray. Xray will ignore such config during
    36    // initialization.
    37    repeated xray.common.serial.TypedMessage extension = 6;
    38  }
    39  
    40  // InboundHandlerConfig is the configuration for inbound handler.
    41  message InboundHandlerConfig {
    42    // Tag of the inbound handler. The tag must be unique among all inbound
    43    // handlers
    44    string tag = 1;
    45    // Settings for how this inbound proxy is handled.
    46    xray.common.serial.TypedMessage receiver_settings = 2;
    47    // Settings for inbound proxy. Must be one of the inbound proxies.
    48    xray.common.serial.TypedMessage proxy_settings = 3;
    49  }
    50  
    51  // OutboundHandlerConfig is the configuration for outbound handler.
    52  message OutboundHandlerConfig {
    53    // Tag of this outbound handler.
    54    string tag = 1;
    55    // Settings for how to dial connection for this outbound handler.
    56    xray.common.serial.TypedMessage sender_settings = 2;
    57    // Settings for this outbound proxy. Must be one of the outbound proxies.
    58    xray.common.serial.TypedMessage proxy_settings = 3;
    59    // If not zero, this outbound will be expired in seconds. Not used for now.
    60    int64 expire = 4;
    61    // Comment of this outbound handler. Not used for now.
    62    string comment = 5;
    63  }