2017-01-02 14:52:45 -05:00
package core
2018-09-17 09:12:58 -04:00
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
serial "v2ray.com/core/common/serial"
transport "v2ray.com/core/transport"
)
2017-01-02 14:52:45 -05:00
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto . Marshal
var _ = fmt . Errorf
var _ = math . Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
2018-12-01 11:39:51 -05:00
const _ = proto . ProtoPackageIsVersion3 // please upgrade the proto package
2017-01-02 14:52:45 -05:00
2018-02-16 08:04:02 -05:00
// Config is the master config of V2Ray. V2Ray takes this config as input and functions accordingly.
2017-01-02 14:52:45 -05:00
type Config struct {
// Inbound handler configurations. Must have at least one item.
2018-06-26 10:28:54 -04:00
Inbound [ ] * InboundHandlerConfig ` protobuf:"bytes,1,rep,name=inbound,proto3" json:"inbound,omitempty" `
2017-01-02 14:52:45 -05:00
// Outbound handler configurations. Must have at least one item. The first item is used as default for routing.
2018-06-26 10:28:54 -04:00
Outbound [ ] * OutboundHandlerConfig ` protobuf:"bytes,2,rep,name=outbound,proto3" json:"outbound,omitempty" `
2018-03-30 13:56:59 -04:00
// App is for configurations of all features in V2Ray. A feature must implement the Feature interface, and its config type must be registered through common.RegisterConfig.
2018-06-26 10:28:54 -04:00
App [ ] * serial . TypedMessage ` protobuf:"bytes,4,rep,name=app,proto3" json:"app,omitempty" `
2017-04-02 08:24:10 -04:00
// Transport settings.
2018-06-26 10:28:54 -04:00
Transport * transport . Config ` protobuf:"bytes,5,opt,name=transport,proto3" json:"transport,omitempty" `
2017-07-24 15:41:12 -04:00
// Configuration for extensions. The config may not work if corresponding extension is not loaded into V2Ray.
// V2Ray will ignore such config during initialization.
2018-06-26 10:28:54 -04:00
Extension [ ] * serial . TypedMessage ` protobuf:"bytes,6,rep,name=extension,proto3" json:"extension,omitempty" `
2018-05-25 05:56:01 -04:00
XXX_NoUnkeyedLiteral struct { } ` json:"-" `
XXX_unrecognized [ ] byte ` json:"-" `
XXX_sizecache int32 ` json:"-" `
2017-01-02 14:52:45 -05:00
}
2018-05-25 05:56:01 -04:00
func ( m * Config ) Reset ( ) { * m = Config { } }
func ( m * Config ) String ( ) string { return proto . CompactTextString ( m ) }
func ( * Config ) ProtoMessage ( ) { }
func ( * Config ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2018-09-14 05:00:59 -04:00
return fileDescriptor_13704400b1045c6b , [ ] int { 0 }
2018-05-25 05:56:01 -04:00
}
2018-09-30 12:39:28 -04:00
2018-05-25 05:56:01 -04:00
func ( m * Config ) XXX_Unmarshal ( b [ ] byte ) error {
return xxx_messageInfo_Config . Unmarshal ( m , b )
}
func ( m * Config ) XXX_Marshal ( b [ ] byte , deterministic bool ) ( [ ] byte , error ) {
return xxx_messageInfo_Config . Marshal ( b , m , deterministic )
}
2018-09-14 05:00:59 -04:00
func ( m * Config ) XXX_Merge ( src proto . Message ) {
xxx_messageInfo_Config . Merge ( m , src )
2018-05-25 05:56:01 -04:00
}
func ( m * Config ) XXX_Size ( ) int {
return xxx_messageInfo_Config . Size ( m )
}
func ( m * Config ) XXX_DiscardUnknown ( ) {
xxx_messageInfo_Config . DiscardUnknown ( m )
}
var xxx_messageInfo_Config proto . InternalMessageInfo
2017-01-02 14:52:45 -05:00
2018-01-10 06:22:37 -05:00
func ( m * Config ) GetInbound ( ) [ ] * InboundHandlerConfig {
2017-01-02 14:52:45 -05:00
if m != nil {
return m . Inbound
}
return nil
}
2018-01-10 06:22:37 -05:00
func ( m * Config ) GetOutbound ( ) [ ] * OutboundHandlerConfig {
2017-01-02 14:52:45 -05:00
if m != nil {
return m . Outbound
}
return nil
}
2018-05-25 05:56:01 -04:00
func ( m * Config ) GetApp ( ) [ ] * serial . TypedMessage {
2017-01-02 14:52:45 -05:00
if m != nil {
return m . App
}
return nil
}
2018-05-25 05:56:01 -04:00
func ( m * Config ) GetTransport ( ) * transport . Config {
2017-01-02 14:52:45 -05:00
if m != nil {
return m . Transport
}
return nil
}
2018-05-25 05:56:01 -04:00
func ( m * Config ) GetExtension ( ) [ ] * serial . TypedMessage {
2017-07-24 15:41:12 -04:00
if m != nil {
return m . Extension
}
return nil
}
2018-03-30 13:56:59 -04:00
// InboundHandlerConfig is the configuration for inbound handler.
2018-01-10 06:22:37 -05:00
type InboundHandlerConfig struct {
2018-03-30 13:56:59 -04:00
// Tag of the inbound handler. The tag must be unique among all inbound handlers
2018-06-26 10:28:54 -04:00
Tag string ` protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty" `
2018-03-30 13:56:59 -04:00
// Settings for how this inbound proxy is handled.
2018-06-26 10:28:54 -04:00
ReceiverSettings * serial . TypedMessage ` protobuf:"bytes,2,opt,name=receiver_settings,json=receiverSettings,proto3" json:"receiver_settings,omitempty" `
2018-01-10 06:22:37 -05:00
// Settings for inbound proxy. Must be one of the inbound proxies.
2018-06-26 10:28:54 -04:00
ProxySettings * serial . TypedMessage ` protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings,proto3" json:"proxy_settings,omitempty" `
2018-05-25 05:56:01 -04:00
XXX_NoUnkeyedLiteral struct { } ` json:"-" `
XXX_unrecognized [ ] byte ` json:"-" `
XXX_sizecache int32 ` json:"-" `
2018-01-10 06:22:37 -05:00
}
2018-05-25 05:56:01 -04:00
func ( m * InboundHandlerConfig ) Reset ( ) { * m = InboundHandlerConfig { } }
func ( m * InboundHandlerConfig ) String ( ) string { return proto . CompactTextString ( m ) }
func ( * InboundHandlerConfig ) ProtoMessage ( ) { }
func ( * InboundHandlerConfig ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2018-09-14 05:00:59 -04:00
return fileDescriptor_13704400b1045c6b , [ ] int { 1 }
2018-05-25 05:56:01 -04:00
}
2018-09-30 12:39:28 -04:00
2018-05-25 05:56:01 -04:00
func ( m * InboundHandlerConfig ) XXX_Unmarshal ( b [ ] byte ) error {
return xxx_messageInfo_InboundHandlerConfig . Unmarshal ( m , b )
}
func ( m * InboundHandlerConfig ) XXX_Marshal ( b [ ] byte , deterministic bool ) ( [ ] byte , error ) {
return xxx_messageInfo_InboundHandlerConfig . Marshal ( b , m , deterministic )
}
2018-09-14 05:00:59 -04:00
func ( m * InboundHandlerConfig ) XXX_Merge ( src proto . Message ) {
xxx_messageInfo_InboundHandlerConfig . Merge ( m , src )
2018-05-25 05:56:01 -04:00
}
func ( m * InboundHandlerConfig ) XXX_Size ( ) int {
return xxx_messageInfo_InboundHandlerConfig . Size ( m )
}
func ( m * InboundHandlerConfig ) XXX_DiscardUnknown ( ) {
xxx_messageInfo_InboundHandlerConfig . DiscardUnknown ( m )
}
var xxx_messageInfo_InboundHandlerConfig proto . InternalMessageInfo
2018-01-10 06:22:37 -05:00
func ( m * InboundHandlerConfig ) GetTag ( ) string {
if m != nil {
return m . Tag
}
return ""
}
2018-05-25 05:56:01 -04:00
func ( m * InboundHandlerConfig ) GetReceiverSettings ( ) * serial . TypedMessage {
2018-01-10 06:22:37 -05:00
if m != nil {
return m . ReceiverSettings
}
return nil
}
2018-05-25 05:56:01 -04:00
func ( m * InboundHandlerConfig ) GetProxySettings ( ) * serial . TypedMessage {
2018-01-10 06:22:37 -05:00
if m != nil {
return m . ProxySettings
}
return nil
}
2018-03-30 13:56:59 -04:00
// OutboundHandlerConfig is the configuration for outbound handler.
2018-01-10 06:22:37 -05:00
type OutboundHandlerConfig struct {
// Tag of this outbound handler.
2018-06-26 10:28:54 -04:00
Tag string ` protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty" `
2018-03-30 13:56:59 -04:00
// Settings for how to dial connection for this outbound handler.
2018-06-26 10:28:54 -04:00
SenderSettings * serial . TypedMessage ` protobuf:"bytes,2,opt,name=sender_settings,json=senderSettings,proto3" json:"sender_settings,omitempty" `
2018-01-10 06:22:37 -05:00
// Settings for this outbound proxy. Must be one of the outbound proxies.
2018-06-26 10:28:54 -04:00
ProxySettings * serial . TypedMessage ` protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings,proto3" json:"proxy_settings,omitempty" `
2018-01-10 06:22:37 -05:00
// If not zero, this outbound will be expired in seconds. Not used for now.
2018-06-26 10:28:54 -04:00
Expire int64 ` protobuf:"varint,4,opt,name=expire,proto3" json:"expire,omitempty" `
2018-01-10 06:22:37 -05:00
// Comment of this outbound handler. Not used for now.
2018-06-26 10:28:54 -04:00
Comment string ` protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty" `
2018-05-25 05:56:01 -04:00
XXX_NoUnkeyedLiteral struct { } ` json:"-" `
XXX_unrecognized [ ] byte ` json:"-" `
XXX_sizecache int32 ` json:"-" `
}
func ( m * OutboundHandlerConfig ) Reset ( ) { * m = OutboundHandlerConfig { } }
func ( m * OutboundHandlerConfig ) String ( ) string { return proto . CompactTextString ( m ) }
func ( * OutboundHandlerConfig ) ProtoMessage ( ) { }
func ( * OutboundHandlerConfig ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2018-09-14 05:00:59 -04:00
return fileDescriptor_13704400b1045c6b , [ ] int { 2 }
2018-05-25 05:56:01 -04:00
}
2018-09-30 12:39:28 -04:00
2018-05-25 05:56:01 -04:00
func ( m * OutboundHandlerConfig ) XXX_Unmarshal ( b [ ] byte ) error {
return xxx_messageInfo_OutboundHandlerConfig . Unmarshal ( m , b )
}
func ( m * OutboundHandlerConfig ) XXX_Marshal ( b [ ] byte , deterministic bool ) ( [ ] byte , error ) {
return xxx_messageInfo_OutboundHandlerConfig . Marshal ( b , m , deterministic )
}
2018-09-14 05:00:59 -04:00
func ( m * OutboundHandlerConfig ) XXX_Merge ( src proto . Message ) {
xxx_messageInfo_OutboundHandlerConfig . Merge ( m , src )
2018-05-25 05:56:01 -04:00
}
func ( m * OutboundHandlerConfig ) XXX_Size ( ) int {
return xxx_messageInfo_OutboundHandlerConfig . Size ( m )
}
func ( m * OutboundHandlerConfig ) XXX_DiscardUnknown ( ) {
xxx_messageInfo_OutboundHandlerConfig . DiscardUnknown ( m )
2018-01-10 06:22:37 -05:00
}
2018-05-25 05:56:01 -04:00
var xxx_messageInfo_OutboundHandlerConfig proto . InternalMessageInfo
2018-01-10 06:22:37 -05:00
func ( m * OutboundHandlerConfig ) GetTag ( ) string {
if m != nil {
return m . Tag
}
return ""
}
2018-05-25 05:56:01 -04:00
func ( m * OutboundHandlerConfig ) GetSenderSettings ( ) * serial . TypedMessage {
2018-01-10 06:22:37 -05:00
if m != nil {
return m . SenderSettings
}
return nil
}
2018-05-25 05:56:01 -04:00
func ( m * OutboundHandlerConfig ) GetProxySettings ( ) * serial . TypedMessage {
2018-01-10 06:22:37 -05:00
if m != nil {
return m . ProxySettings
}
return nil
}
func ( m * OutboundHandlerConfig ) GetExpire ( ) int64 {
if m != nil {
return m . Expire
}
return 0
}
func ( m * OutboundHandlerConfig ) GetComment ( ) string {
if m != nil {
return m . Comment
}
return ""
}
2017-01-02 14:52:45 -05:00
func init ( ) {
proto . RegisterType ( ( * Config ) ( nil ) , "v2ray.core.Config" )
2018-01-10 06:22:37 -05:00
proto . RegisterType ( ( * InboundHandlerConfig ) ( nil ) , "v2ray.core.InboundHandlerConfig" )
proto . RegisterType ( ( * OutboundHandlerConfig ) ( nil ) , "v2ray.core.OutboundHandlerConfig" )
2017-01-02 14:52:45 -05:00
}
2018-09-14 05:00:59 -04:00
func init ( ) { proto . RegisterFile ( "v2ray.com/core/config.proto" , fileDescriptor_13704400b1045c6b ) }
2017-01-02 14:52:45 -05:00
2018-09-14 05:00:59 -04:00
var fileDescriptor_13704400b1045c6b = [ ] byte {
2018-02-14 17:57:40 -05:00
// 405 bytes of a gzipped FileDescriptorProto
0x1f , 0x8b , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0xff , 0xb4 , 0x93 , 0x41 , 0x6f , 0x94 , 0x40 ,
0x1c , 0xc5 , 0x33 , 0x0b , 0x6e , 0xcb , 0xbf , 0x71 , 0x5d , 0x27 , 0x6a , 0x26 , 0xd5 , 0x03 , 0x6e , 0x52 ,
0xc3 , 0x69 , 0x30 , 0x78 , 0x31 , 0x4d , 0xbc , 0x58 , 0x0f , 0x6a , 0xd2 , 0xd4 , 0x50 , 0xe3 , 0xc1 , 0x4b ,
0x33 , 0x85 , 0xbf , 0x84 , 0xa4 , 0xcc , 0x90 , 0x99 , 0x69 , 0xb3 , 0x7c , 0x25 , 0xbf , 0x87 , 0x37 , 0xbf ,
0x91 , 0x17 , 0x03 , 0x03 , 0x0b , 0xd5 , 0x3d , 0xb8 , 0x26 , 0x3d , 0xc1 , 0xf0 , 0xe6 , 0xf7 , 0xde , 0xff ,
0x01 , 0x03 , 0x4f , 0x6f , 0x12 , 0x2d , 0x1a , 0x9e , 0xa9 , 0x2a , 0xce , 0x94 , 0xc6 , 0x38 , 0x53 , 0xf2 ,
0x5b , 0x59 , 0xf0 , 0x5a , 0x2b , 0xab , 0x28 , 0x0c , 0xa2 , 0xc6 , 0xc3 , 0x97 , 0x7f , 0x6d , 0xac , 0x2a ,
0x25 , 0x63 , 0x83 , 0xba , 0x14 , 0x57 , 0xb1 , 0x6d , 0x6a , 0xcc , 0x2f , 0x2a , 0x34 , 0x46 , 0x14 , 0xe8 ,
0xe8 , 0xc3 , 0xa3 , 0x3f , 0x08 , 0xab , 0x85 , 0x34 , 0xb5 , 0xd2 , 0xf6 , 0x56 , 0xc8 , 0xea , 0xc7 , 0x0c ,
0xe6 , 0x27 , 0xdd , 0x03 , 0x7a , 0x0c , 0x7b , 0xa5 , 0xbc , 0x54 , 0xd7 , 0x32 , 0x67 , 0x24 , 0xf4 , 0xa2 ,
0x83 , 0x24 , 0xe4 , 0xe3 , 0x04 , 0xfc , 0x83 , 0x93 , 0xde , 0x0b , 0x99 , 0x5f , 0xa1 , 0x76 , 0x48 , 0x3a ,
0x00 , 0xf4 , 0x0d , 0xec , 0xab , 0x6b , 0xeb , 0xe0 , 0x59 , 0x07 , 0x3f , 0x9f , 0xc2 , 0x67 , 0xbd , 0x76 ,
0x9b , 0xde , 0x20 , 0xf4 , 0x35 , 0x78 , 0xa2 , 0xae , 0x99 , 0xdf , 0x91 , 0x2f , 0xa6 , 0xa4 , 0x2b , 0xca ,
0x5d , 0x51 , 0xfe , 0xb9 , 0x2d , 0x7a , 0xea , 0x7a , 0xa6 , 0x2d , 0x42 , 0x8f , 0x21 , 0xd8 , 0x34 , 0x63 ,
0xf7 , 0x42 , 0x12 , 0x1d , 0x24 , 0xcf , 0xa6 , 0xfc , 0x46 , 0xe4 , 0x7d , 0xe8 , 0xb8 , 0x9d , 0xbe , 0x83 ,
0x00 , 0xd7 , 0x16 , 0xa5 , 0x29 , 0x95 , 0x64 , 0xf3 , 0x9d , 0xb2 , 0x47 , 0xf0 , 0xa3 , 0xbf , 0xef , 0x2d ,
0xfd , 0xd5 , 0x4f , 0x02 , 0x8f , 0xb6 , 0xbd , 0x22 , 0xba , 0x04 , 0xcf , 0x8a , 0x82 , 0x91 , 0x90 , 0x44 ,
0x41 , 0xda , 0xde , 0xd2 , 0x73 , 0x78 , 0xa8 , 0x31 , 0xc3 , 0xf2 , 0x06 , 0xf5 , 0x85 , 0x41 , 0x6b , 0x4b ,
0x59 , 0x18 , 0x36 , 0xeb , 0x46 , 0xff , 0xd7 , 0xf8 , 0xe5 , 0x60 , 0x70 , 0xde , 0xf3 , 0xf4 , 0x14 , 0x16 ,
0xb5 , 0x56 , 0xeb , 0x66 , 0x74 , 0xf4 , 0x76 , 0x72 , 0xbc , 0xdf , 0xd1 , 0x83 , 0xdd , 0xea , 0x17 , 0x81 ,
0xc7 , 0x5b , 0x3f , 0xda , 0x96 , 0x3e , 0x67 , 0xf0 , 0xc0 , 0xa0 , 0xcc , 0xff , 0xbf , 0xcd , 0xc2 , 0xe1 ,
0x77 , 0xd4 , 0x85 , 0x3e , 0x81 , 0x39 , 0xae , 0xeb , 0x52 , 0x23 , 0xf3 , 0x43 , 0x12 , 0x79 , 0x69 , 0xbf ,
0xa2 , 0x0c , 0xf6 , 0x5a , 0x13 , 0x94 , 0xee , 0xc7 , 0x09 , 0xd2 , 0x61 , 0xf9 , 0xf6 , 0x08 , 0x16 , 0x99 ,
0xaa , 0x26 , 0x69 , 0x9f , 0xc8 , 0x57 , 0xbf , 0xbd , 0x7e , 0x9f , 0xc1 , 0x97 , 0x24 , 0x15 , 0x0d , 0x3f ,
0x51 , 0x1a , 0x2f , 0xe7 , 0xdd , 0x11 , 0x7a , 0xf5 , 0x3b , 0x00 , 0x00 , 0xff , 0xff , 0xf0 , 0x15 , 0xee ,
0x31 , 0xc6 , 0x03 , 0x00 , 0x00 ,
2017-01-02 14:52:45 -05:00
}