Переглянути джерело

update protobuf generated files

Darien Raymond 7 роки тому
батько
коміт
00ea6e3cb2
46 змінених файлів з 240 додано та 128 видалено
  1. 1 0
      app/commander/config.pb.go
  2. 2 0
      app/dispatcher/config.pb.go
  3. 1 1
      app/dns/config.pb.go
  4. 27 29
      app/log/command/config.pb.go
  5. 2 1
      app/log/config.pb.go
  6. 8 0
      app/policy/config.pb.go
  7. 60 49
      app/proxyman/command/command.pb.go
  8. 12 2
      app/proxyman/config.pb.go
  9. 10 2
      app/router/config.pb.go
  10. 36 34
      app/stats/command/command.pb.go
  11. 1 0
      app/stats/config.pb.go
  12. 1 0
      common/net/address.pb.go
  13. 1 0
      common/net/destination.pb.go
  14. 2 1
      common/net/network.pb.go
  15. 1 0
      common/net/port.pb.go
  16. 2 1
      common/protocol/headers.pb.go
  17. 1 0
      common/protocol/server_spec.pb.go
  18. 1 0
      common/protocol/user.pb.go
  19. 1 0
      common/serial/typed_message.pb.go
  20. 3 0
      config.pb.go
  21. 3 0
      proxy/blackhole/config.pb.go
  22. 1 0
      proxy/dokodemo/config.pb.go
  23. 3 1
      proxy/freedom/config.pb.go
  24. 2 0
      proxy/http/config.pb.go
  25. 3 0
      proxy/mtproto/config.pb.go
  26. 5 2
      proxy/shadowsocks/config.pb.go
  27. 4 1
      proxy/socks/config.pb.go
  28. 1 0
      proxy/vmess/account.pb.go
  29. 3 0
      proxy/vmess/inbound/config.pb.go
  30. 1 0
      proxy/vmess/outbound/config.pb.go
  31. 2 0
      transport/config.pb.go
  32. 8 3
      transport/internet/config.pb.go
  33. 1 0
      transport/internet/domainsocket/config.pb.go
  34. 7 0
      transport/internet/headers/http/config.pb.go
  35. 2 0
      transport/internet/headers/noop/config.pb.go
  36. 1 0
      transport/internet/headers/srtp/config.pb.go
  37. 1 0
      transport/internet/headers/tls/config.pb.go
  38. 1 0
      transport/internet/headers/utp/config.pb.go
  39. 1 0
      transport/internet/headers/wechat/config.pb.go
  40. 1 0
      transport/internet/headers/wireguard/config.pb.go
  41. 1 0
      transport/internet/http/config.pb.go
  42. 8 0
      transport/internet/kcp/config.pb.go
  43. 1 0
      transport/internet/tcp/config.pb.go
  44. 3 1
      transport/internet/tls/config.pb.go
  45. 1 0
      transport/internet/udp/config.pb.go
  46. 2 0
      transport/internet/websocket/config.pb.go

+ 1 - 0
app/commander/config.pb.go

@@ -35,6 +35,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_4af9cfd3f0e2019e, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 2 - 0
app/dispatcher/config.pb.go

@@ -29,6 +29,7 @@ func (*SessionConfig) ProtoMessage()    {}
 func (*SessionConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_90b7c41cce355532, []int{0}
 }
+
 func (m *SessionConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SessionConfig.Unmarshal(m, b)
 }
@@ -60,6 +61,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_90b7c41cce355532, []int{1}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 1 - 1
app/dns/config.pb.go

@@ -278,12 +278,12 @@ func (m *Config_HostMapping) GetIp() [][]byte {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.app.dns.DomainMatchingType", DomainMatchingType_name, DomainMatchingType_value)
 	proto.RegisterType((*NameServer)(nil), "v2ray.core.app.dns.NameServer")
 	proto.RegisterType((*NameServer_PriorityDomain)(nil), "v2ray.core.app.dns.NameServer.PriorityDomain")
 	proto.RegisterType((*Config)(nil), "v2ray.core.app.dns.Config")
 	proto.RegisterMapType((map[string]*net.IPOrDomain)(nil), "v2ray.core.app.dns.Config.HostsEntry")
 	proto.RegisterType((*Config_HostMapping)(nil), "v2ray.core.app.dns.Config.HostMapping")
-	proto.RegisterEnum("v2ray.core.app.dns.DomainMatchingType", DomainMatchingType_name, DomainMatchingType_value)
 }
 
 func init() {

+ 27 - 29
app/log/command/config.pb.go

@@ -2,15 +2,10 @@ package command
 
 import (
 	fmt "fmt"
-	math "math"
-
 	proto "github.com/golang/protobuf/proto"
-)
-
-import (
-	"context"
-
+	context "golang.org/x/net/context"
 	grpc "google.golang.org/grpc"
+	math "math"
 )
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -36,6 +31,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_46d95b63a682e4a6, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -66,6 +62,7 @@ func (*RestartLoggerRequest) ProtoMessage()    {}
 func (*RestartLoggerRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_46d95b63a682e4a6, []int{1}
 }
+
 func (m *RestartLoggerRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RestartLoggerRequest.Unmarshal(m, b)
 }
@@ -96,6 +93,7 @@ func (*RestartLoggerResponse) ProtoMessage()    {}
 func (*RestartLoggerResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_46d95b63a682e4a6, []int{2}
 }
+
 func (m *RestartLoggerResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RestartLoggerResponse.Unmarshal(m, b)
 }
@@ -120,6 +118,28 @@ func init() {
 	proto.RegisterType((*RestartLoggerResponse)(nil), "v2ray.core.app.log.command.RestartLoggerResponse")
 }
 
+func init() {
+	proto.RegisterFile("v2ray.com/core/app/log/command/config.proto", fileDescriptor_46d95b63a682e4a6)
+}
+
+var fileDescriptor_46d95b63a682e4a6 = []byte{
+	// 210 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x2e, 0x33, 0x2a, 0x4a,
+	0xac, 0xd4, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x4f, 0x2c, 0x28, 0xd0, 0xcf,
+	0xc9, 0x4f, 0xd7, 0x4f, 0xce, 0xcf, 0xcd, 0x4d, 0xcc, 0x4b, 0xd1, 0x4f, 0xce, 0xcf, 0x4b, 0xcb,
+	0x4c, 0xd7, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x82, 0x29, 0x2e, 0x4a, 0xd5, 0x4b, 0x2c,
+	0x28, 0xd0, 0xcb, 0xc9, 0x4f, 0xd7, 0x83, 0x2a, 0x54, 0xe2, 0xe0, 0x62, 0x73, 0x06, 0xab, 0x55,
+	0x12, 0xe3, 0x12, 0x09, 0x4a, 0x2d, 0x2e, 0x49, 0x2c, 0x2a, 0xf1, 0xc9, 0x4f, 0x4f, 0x4f, 0x2d,
+	0x0a, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x51, 0x12, 0xe7, 0x12, 0x45, 0x13, 0x2f, 0x2e, 0xc8,
+	0xcf, 0x2b, 0x4e, 0x35, 0x6a, 0x67, 0xe4, 0xe2, 0x85, 0x08, 0x05, 0xa7, 0x16, 0x95, 0x65, 0x26,
+	0xa7, 0x0a, 0x95, 0x71, 0xf1, 0xa2, 0x28, 0x15, 0x32, 0xd0, 0xc3, 0x6d, 0xb5, 0x1e, 0x36, 0xdb,
+	0xa4, 0x0c, 0x49, 0xd0, 0x01, 0x71, 0x87, 0x12, 0x83, 0x93, 0x07, 0x97, 0x5c, 0x72, 0x7e, 0x2e,
+	0x1e, 0x9d, 0x01, 0x8c, 0x51, 0xec, 0x50, 0xe6, 0x2a, 0x26, 0xa9, 0x30, 0xa3, 0xa0, 0xc4, 0x4a,
+	0x3d, 0x67, 0x90, 0x3a, 0xc7, 0x82, 0x02, 0x3d, 0x9f, 0xfc, 0x74, 0x3d, 0x67, 0x88, 0x64, 0x12,
+	0x1b, 0x38, 0xc4, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x37, 0xc7, 0xfc, 0xda, 0x60, 0x01,
+	0x00, 0x00,
+}
+
 // Reference imports to suppress errors if they are not otherwise used.
 var _ context.Context
 var _ grpc.ClientConn
@@ -191,25 +211,3 @@ var _LoggerService_serviceDesc = grpc.ServiceDesc{
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "v2ray.com/core/app/log/command/config.proto",
 }
-
-func init() {
-	proto.RegisterFile("v2ray.com/core/app/log/command/config.proto", fileDescriptor_46d95b63a682e4a6)
-}
-
-var fileDescriptor_46d95b63a682e4a6 = []byte{
-	// 210 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x2e, 0x33, 0x2a, 0x4a,
-	0xac, 0xd4, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x4f, 0x2c, 0x28, 0xd0, 0xcf,
-	0xc9, 0x4f, 0xd7, 0x4f, 0xce, 0xcf, 0xcd, 0x4d, 0xcc, 0x4b, 0xd1, 0x4f, 0xce, 0xcf, 0x4b, 0xcb,
-	0x4c, 0xd7, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x82, 0x29, 0x2e, 0x4a, 0xd5, 0x4b, 0x2c,
-	0x28, 0xd0, 0xcb, 0xc9, 0x4f, 0xd7, 0x83, 0x2a, 0x54, 0xe2, 0xe0, 0x62, 0x73, 0x06, 0xab, 0x55,
-	0x12, 0xe3, 0x12, 0x09, 0x4a, 0x2d, 0x2e, 0x49, 0x2c, 0x2a, 0xf1, 0xc9, 0x4f, 0x4f, 0x4f, 0x2d,
-	0x0a, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x51, 0x12, 0xe7, 0x12, 0x45, 0x13, 0x2f, 0x2e, 0xc8,
-	0xcf, 0x2b, 0x4e, 0x35, 0x6a, 0x67, 0xe4, 0xe2, 0x85, 0x08, 0x05, 0xa7, 0x16, 0x95, 0x65, 0x26,
-	0xa7, 0x0a, 0x95, 0x71, 0xf1, 0xa2, 0x28, 0x15, 0x32, 0xd0, 0xc3, 0x6d, 0xb5, 0x1e, 0x36, 0xdb,
-	0xa4, 0x0c, 0x49, 0xd0, 0x01, 0x71, 0x87, 0x12, 0x83, 0x93, 0x07, 0x97, 0x5c, 0x72, 0x7e, 0x2e,
-	0x1e, 0x9d, 0x01, 0x8c, 0x51, 0xec, 0x50, 0xe6, 0x2a, 0x26, 0xa9, 0x30, 0xa3, 0xa0, 0xc4, 0x4a,
-	0x3d, 0x67, 0x90, 0x3a, 0xc7, 0x82, 0x02, 0x3d, 0x9f, 0xfc, 0x74, 0x3d, 0x67, 0x88, 0x64, 0x12,
-	0x1b, 0x38, 0xc4, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x37, 0xc7, 0xfc, 0xda, 0x60, 0x01,
-	0x00, 0x00,
-}

+ 2 - 1
app/log/config.pb.go

@@ -66,6 +66,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_92dfeade43d9e989, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -120,8 +121,8 @@ func (m *Config) GetAccessLogPath() string {
 }
 
 func init() {
-	proto.RegisterType((*Config)(nil), "v2ray.core.app.log.Config")
 	proto.RegisterEnum("v2ray.core.app.log.LogType", LogType_name, LogType_value)
+	proto.RegisterType((*Config)(nil), "v2ray.core.app.log.Config")
 }
 
 func init() {

+ 8 - 0
app/policy/config.pb.go

@@ -30,6 +30,7 @@ func (*Second) ProtoMessage()    {}
 func (*Second) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{0}
 }
+
 func (m *Second) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Second.Unmarshal(m, b)
 }
@@ -70,6 +71,7 @@ func (*Policy) ProtoMessage()    {}
 func (*Policy) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{1}
 }
+
 func (m *Policy) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Policy.Unmarshal(m, b)
 }
@@ -126,6 +128,7 @@ func (*Policy_Timeout) ProtoMessage()    {}
 func (*Policy_Timeout) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{1, 0}
 }
+
 func (m *Policy_Timeout) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Policy_Timeout.Unmarshal(m, b)
 }
@@ -186,6 +189,7 @@ func (*Policy_Stats) ProtoMessage()    {}
 func (*Policy_Stats) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{1, 1}
 }
+
 func (m *Policy_Stats) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Policy_Stats.Unmarshal(m, b)
 }
@@ -232,6 +236,7 @@ func (*Policy_Buffer) ProtoMessage()    {}
 func (*Policy_Buffer) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{1, 2}
 }
+
 func (m *Policy_Buffer) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Policy_Buffer.Unmarshal(m, b)
 }
@@ -270,6 +275,7 @@ func (*SystemPolicy) ProtoMessage()    {}
 func (*SystemPolicy) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{2}
 }
+
 func (m *SystemPolicy) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SystemPolicy.Unmarshal(m, b)
 }
@@ -309,6 +315,7 @@ func (*SystemPolicy_Stats) ProtoMessage()    {}
 func (*SystemPolicy_Stats) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{2, 0}
 }
+
 func (m *SystemPolicy_Stats) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SystemPolicy_Stats.Unmarshal(m, b)
 }
@@ -355,6 +362,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_48f54a345c1316d1, []int{3}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 60 - 49
app/proxyman/command/command.pb.go

@@ -1,21 +1,17 @@
 package command
 
 import (
+	"context"
 	fmt "fmt"
 	math "math"
 
 	proto "github.com/golang/protobuf/proto"
+	grpc "google.golang.org/grpc"
 	core "v2ray.com/core"
 	protocol "v2ray.com/core/common/protocol"
 	serial "v2ray.com/core/common/serial"
 )
 
-import (
-	"context"
-
-	grpc "google.golang.org/grpc"
-)
-
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
 var _ = fmt.Errorf
@@ -40,6 +36,7 @@ func (*AddUserOperation) ProtoMessage()    {}
 func (*AddUserOperation) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{0}
 }
+
 func (m *AddUserOperation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AddUserOperation.Unmarshal(m, b)
 }
@@ -78,6 +75,7 @@ func (*RemoveUserOperation) ProtoMessage()    {}
 func (*RemoveUserOperation) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{1}
 }
+
 func (m *RemoveUserOperation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RemoveUserOperation.Unmarshal(m, b)
 }
@@ -116,6 +114,7 @@ func (*AddInboundRequest) ProtoMessage()    {}
 func (*AddInboundRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{2}
 }
+
 func (m *AddInboundRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AddInboundRequest.Unmarshal(m, b)
 }
@@ -153,6 +152,7 @@ func (*AddInboundResponse) ProtoMessage()    {}
 func (*AddInboundResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{3}
 }
+
 func (m *AddInboundResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AddInboundResponse.Unmarshal(m, b)
 }
@@ -184,6 +184,7 @@ func (*RemoveInboundRequest) ProtoMessage()    {}
 func (*RemoveInboundRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{4}
 }
+
 func (m *RemoveInboundRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RemoveInboundRequest.Unmarshal(m, b)
 }
@@ -221,6 +222,7 @@ func (*RemoveInboundResponse) ProtoMessage()    {}
 func (*RemoveInboundResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{5}
 }
+
 func (m *RemoveInboundResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RemoveInboundResponse.Unmarshal(m, b)
 }
@@ -253,6 +255,7 @@ func (*AlterInboundRequest) ProtoMessage()    {}
 func (*AlterInboundRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{6}
 }
+
 func (m *AlterInboundRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlterInboundRequest.Unmarshal(m, b)
 }
@@ -297,6 +300,7 @@ func (*AlterInboundResponse) ProtoMessage()    {}
 func (*AlterInboundResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{7}
 }
+
 func (m *AlterInboundResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlterInboundResponse.Unmarshal(m, b)
 }
@@ -328,6 +332,7 @@ func (*AddOutboundRequest) ProtoMessage()    {}
 func (*AddOutboundRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{8}
 }
+
 func (m *AddOutboundRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AddOutboundRequest.Unmarshal(m, b)
 }
@@ -365,6 +370,7 @@ func (*AddOutboundResponse) ProtoMessage()    {}
 func (*AddOutboundResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{9}
 }
+
 func (m *AddOutboundResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AddOutboundResponse.Unmarshal(m, b)
 }
@@ -396,6 +402,7 @@ func (*RemoveOutboundRequest) ProtoMessage()    {}
 func (*RemoveOutboundRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{10}
 }
+
 func (m *RemoveOutboundRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RemoveOutboundRequest.Unmarshal(m, b)
 }
@@ -433,6 +440,7 @@ func (*RemoveOutboundResponse) ProtoMessage()    {}
 func (*RemoveOutboundResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{11}
 }
+
 func (m *RemoveOutboundResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RemoveOutboundResponse.Unmarshal(m, b)
 }
@@ -465,6 +473,7 @@ func (*AlterOutboundRequest) ProtoMessage()    {}
 func (*AlterOutboundRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{12}
 }
+
 func (m *AlterOutboundRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlterOutboundRequest.Unmarshal(m, b)
 }
@@ -509,6 +518,7 @@ func (*AlterOutboundResponse) ProtoMessage()    {}
 func (*AlterOutboundResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{13}
 }
+
 func (m *AlterOutboundResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AlterOutboundResponse.Unmarshal(m, b)
 }
@@ -539,6 +549,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2c30a70a48636a0, []int{14}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -575,6 +586,49 @@ func init() {
 	proto.RegisterType((*Config)(nil), "v2ray.core.app.proxyman.command.Config")
 }
 
+func init() {
+	proto.RegisterFile("v2ray.com/core/app/proxyman/command/command.proto", fileDescriptor_e2c30a70a48636a0)
+}
+
+var fileDescriptor_e2c30a70a48636a0 = []byte{
+	// 557 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdf, 0x6b, 0xd3, 0x40,
+	0x1c, 0xb7, 0x53, 0xbb, 0xed, 0x3b, 0x1d, 0xf3, 0xda, 0x6e, 0x25, 0x3e, 0x6c, 0x46, 0x90, 0x0d,
+	0xe1, 0xa2, 0x59, 0x37, 0x41, 0xf0, 0xa1, 0xd6, 0x87, 0xf9, 0x20, 0x1d, 0x99, 0xfa, 0xe0, 0x8b,
+	0xdc, 0x92, 0xb3, 0x04, 0x92, 0xbb, 0xf3, 0x92, 0x56, 0x2b, 0x08, 0x82, 0xff, 0x80, 0x7f, 0x87,
+	0x7f, 0xa5, 0x24, 0x77, 0xd7, 0x25, 0x69, 0x21, 0x0d, 0xf8, 0xd4, 0xf4, 0xfa, 0xf9, 0xf5, 0xfd,
+	0xde, 0x27, 0x14, 0x9e, 0xcf, 0x5c, 0x49, 0xe6, 0xd8, 0xe7, 0xb1, 0xe3, 0x73, 0x49, 0x1d, 0x22,
+	0x84, 0x23, 0x24, 0xff, 0x3e, 0x8f, 0x09, 0x73, 0x7c, 0x1e, 0xc7, 0x84, 0x05, 0xe6, 0x13, 0x0b,
+	0xc9, 0x53, 0x8e, 0x0e, 0x0d, 0x45, 0x52, 0x4c, 0x84, 0xc0, 0x06, 0x8e, 0x35, 0xcc, 0x3a, 0xa9,
+	0x68, 0x66, 0xe7, 0x9c, 0x39, 0x39, 0xdb, 0xe7, 0x91, 0x33, 0x4d, 0xa8, 0x54, 0x5a, 0xd6, 0xb3,
+	0xd5, 0xd0, 0x84, 0xca, 0x90, 0x44, 0x4e, 0x3a, 0x17, 0x34, 0xf8, 0x1c, 0xd3, 0x24, 0x21, 0x13,
+	0xaa, 0x19, 0x0f, 0x97, 0x18, 0xec, 0x4b, 0x38, 0x51, 0x3f, 0xda, 0x17, 0xb0, 0x37, 0x0c, 0x82,
+	0x0f, 0x09, 0x95, 0x63, 0x41, 0x25, 0x49, 0x43, 0xce, 0xd0, 0x00, 0xee, 0x64, 0x86, 0xfd, 0xd6,
+	0x51, 0xeb, 0x78, 0xc7, 0x3d, 0xc2, 0x85, 0xf4, 0xca, 0x0d, 0x9b, 0x60, 0x38, 0x23, 0x7a, 0x39,
+	0xda, 0x7e, 0x0a, 0x1d, 0x8f, 0xc6, 0x7c, 0x46, 0xcb, 0x62, 0x5d, 0xb8, 0x4b, 0x63, 0x12, 0x46,
+	0xb9, 0xda, 0xb6, 0xa7, 0xbe, 0xd8, 0x63, 0x78, 0x30, 0x0c, 0x82, 0xb7, 0xec, 0x9a, 0x4f, 0x59,
+	0xe0, 0xd1, 0xaf, 0x53, 0x9a, 0xa4, 0xe8, 0x25, 0x6c, 0x86, 0xea, 0x64, 0x95, 0xb5, 0x06, 0x5f,
+	0x10, 0x16, 0x44, 0x54, 0x8e, 0xf2, 0x21, 0x3c, 0x43, 0xb0, 0xbb, 0x80, 0x8a, 0x82, 0x89, 0xe0,
+	0x2c, 0xa1, 0xf6, 0x31, 0x74, 0x55, 0xa6, 0x8a, 0xd3, 0x1e, 0xdc, 0x4e, 0xc9, 0x44, 0x47, 0xca,
+	0x1e, 0xed, 0x03, 0xe8, 0x55, 0x90, 0x5a, 0x22, 0x86, 0xce, 0x30, 0x4a, 0xa9, 0xac, 0x53, 0x40,
+	0x6f, 0x60, 0x9b, 0x9b, 0xa9, 0xfb, 0x1b, 0x79, 0xfe, 0x27, 0x2b, 0x56, 0xa7, 0x2e, 0x0a, 0xbf,
+	0xcf, 0x2e, 0xea, 0x9d, 0xba, 0x27, 0xef, 0x86, 0x68, 0xef, 0x43, 0xb7, 0x6c, 0xa7, 0x63, 0x5c,
+	0xe5, 0xf3, 0x8d, 0xa7, 0x69, 0x29, 0xc5, 0x2b, 0xd8, 0xe2, 0xfa, 0x48, 0xaf, 0xec, 0x51, 0xd1,
+	0xd2, 0xc0, 0xcb, 0x3b, 0x5b, 0x50, 0xec, 0x1e, 0x74, 0x4a, 0xa2, 0xda, 0xeb, 0xc4, 0xec, 0xa2,
+	0x6a, 0xb7, 0xbc, 0xb6, 0x3e, 0xec, 0x57, 0xa1, 0x5a, 0x84, 0xe9, 0x41, 0x6a, 0x35, 0xfe, 0xd3,
+	0xe2, 0x0e, 0xa0, 0x57, 0xf1, 0xd3, 0x41, 0xb6, 0xa0, 0xad, 0x06, 0x77, 0xff, 0xb4, 0x61, 0x57,
+	0xaf, 0xe2, 0x8a, 0xca, 0x59, 0xe8, 0x53, 0xf4, 0x0d, 0xe0, 0xa6, 0x36, 0xc8, 0xc5, 0x35, 0x2f,
+	0x2a, 0x5e, 0x2a, 0xad, 0x75, 0xda, 0x88, 0xa3, 0x33, 0xdd, 0x42, 0xbf, 0x5a, 0x70, 0xbf, 0x54,
+	0x38, 0x74, 0x56, 0x2b, 0xb4, 0xaa, 0xca, 0xd6, 0x79, 0x53, 0xda, 0x22, 0xc2, 0x4f, 0xb8, 0x57,
+	0xac, 0x1a, 0x1a, 0xd4, 0x4f, 0xb2, 0xfc, 0x22, 0x58, 0x67, 0x0d, 0x59, 0x0b, 0xfb, 0x1f, 0xb0,
+	0x53, 0x28, 0x1f, 0x5a, 0x6b, 0x8f, 0x95, 0x32, 0x59, 0x83, 0x66, 0xa4, 0x85, 0xf7, 0xef, 0x16,
+	0xec, 0x96, 0x7b, 0x8b, 0xd6, 0xdd, 0x63, 0x35, 0xc2, 0x8b, 0xc6, 0xbc, 0x52, 0x07, 0x4a, 0x9d,
+	0x45, 0x6b, 0x2e, 0xb3, 0x9a, 0xe1, 0xbc, 0x29, 0xcd, 0x44, 0x78, 0xed, 0xc1, 0x63, 0x9f, 0xc7,
+	0x75, 0xf4, 0xcb, 0xd6, 0xa7, 0x4d, 0xfd, 0xf8, 0x77, 0xe3, 0xf0, 0xa3, 0xeb, 0x91, 0x39, 0x1e,
+	0x65, 0xe0, 0xa1, 0x10, 0xf8, 0xd2, 0x80, 0x47, 0x0a, 0x71, 0xdd, 0xce, 0xff, 0x1d, 0x4e, 0xff,
+	0x05, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x05, 0xaa, 0x44, 0x29, 0x07, 0x00, 0x00,
+}
+
 // Reference imports to suppress errors if they are not otherwise used.
 var _ context.Context
 var _ grpc.ClientConn
@@ -811,46 +865,3 @@ var _HandlerService_serviceDesc = grpc.ServiceDesc{
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "v2ray.com/core/app/proxyman/command/command.proto",
 }
-
-func init() {
-	proto.RegisterFile("v2ray.com/core/app/proxyman/command/command.proto", fileDescriptor_e2c30a70a48636a0)
-}
-
-var fileDescriptor_e2c30a70a48636a0 = []byte{
-	// 557 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdf, 0x6b, 0xd3, 0x40,
-	0x1c, 0xb7, 0x53, 0xbb, 0xed, 0x3b, 0x1d, 0xf3, 0xda, 0x6e, 0x25, 0x3e, 0x6c, 0x46, 0x90, 0x0d,
-	0xe1, 0xa2, 0x59, 0x37, 0x41, 0xf0, 0xa1, 0xd6, 0x87, 0xf9, 0x20, 0x1d, 0x99, 0xfa, 0xe0, 0x8b,
-	0xdc, 0x92, 0xb3, 0x04, 0x92, 0xbb, 0xf3, 0x92, 0x56, 0x2b, 0x08, 0x82, 0xff, 0x80, 0x7f, 0x87,
-	0x7f, 0xa5, 0x24, 0x77, 0xd7, 0x25, 0x69, 0x21, 0x0d, 0xf8, 0xd4, 0xf4, 0xfa, 0xf9, 0xf5, 0xfd,
-	0xde, 0x27, 0x14, 0x9e, 0xcf, 0x5c, 0x49, 0xe6, 0xd8, 0xe7, 0xb1, 0xe3, 0x73, 0x49, 0x1d, 0x22,
-	0x84, 0x23, 0x24, 0xff, 0x3e, 0x8f, 0x09, 0x73, 0x7c, 0x1e, 0xc7, 0x84, 0x05, 0xe6, 0x13, 0x0b,
-	0xc9, 0x53, 0x8e, 0x0e, 0x0d, 0x45, 0x52, 0x4c, 0x84, 0xc0, 0x06, 0x8e, 0x35, 0xcc, 0x3a, 0xa9,
-	0x68, 0x66, 0xe7, 0x9c, 0x39, 0x39, 0xdb, 0xe7, 0x91, 0x33, 0x4d, 0xa8, 0x54, 0x5a, 0xd6, 0xb3,
-	0xd5, 0xd0, 0x84, 0xca, 0x90, 0x44, 0x4e, 0x3a, 0x17, 0x34, 0xf8, 0x1c, 0xd3, 0x24, 0x21, 0x13,
-	0xaa, 0x19, 0x0f, 0x97, 0x18, 0xec, 0x4b, 0x38, 0x51, 0x3f, 0xda, 0x17, 0xb0, 0x37, 0x0c, 0x82,
-	0x0f, 0x09, 0x95, 0x63, 0x41, 0x25, 0x49, 0x43, 0xce, 0xd0, 0x00, 0xee, 0x64, 0x86, 0xfd, 0xd6,
-	0x51, 0xeb, 0x78, 0xc7, 0x3d, 0xc2, 0x85, 0xf4, 0xca, 0x0d, 0x9b, 0x60, 0x38, 0x23, 0x7a, 0x39,
-	0xda, 0x7e, 0x0a, 0x1d, 0x8f, 0xc6, 0x7c, 0x46, 0xcb, 0x62, 0x5d, 0xb8, 0x4b, 0x63, 0x12, 0x46,
-	0xb9, 0xda, 0xb6, 0xa7, 0xbe, 0xd8, 0x63, 0x78, 0x30, 0x0c, 0x82, 0xb7, 0xec, 0x9a, 0x4f, 0x59,
-	0xe0, 0xd1, 0xaf, 0x53, 0x9a, 0xa4, 0xe8, 0x25, 0x6c, 0x86, 0xea, 0x64, 0x95, 0xb5, 0x06, 0x5f,
-	0x10, 0x16, 0x44, 0x54, 0x8e, 0xf2, 0x21, 0x3c, 0x43, 0xb0, 0xbb, 0x80, 0x8a, 0x82, 0x89, 0xe0,
-	0x2c, 0xa1, 0xf6, 0x31, 0x74, 0x55, 0xa6, 0x8a, 0xd3, 0x1e, 0xdc, 0x4e, 0xc9, 0x44, 0x47, 0xca,
-	0x1e, 0xed, 0x03, 0xe8, 0x55, 0x90, 0x5a, 0x22, 0x86, 0xce, 0x30, 0x4a, 0xa9, 0xac, 0x53, 0x40,
-	0x6f, 0x60, 0x9b, 0x9b, 0xa9, 0xfb, 0x1b, 0x79, 0xfe, 0x27, 0x2b, 0x56, 0xa7, 0x2e, 0x0a, 0xbf,
-	0xcf, 0x2e, 0xea, 0x9d, 0xba, 0x27, 0xef, 0x86, 0x68, 0xef, 0x43, 0xb7, 0x6c, 0xa7, 0x63, 0x5c,
-	0xe5, 0xf3, 0x8d, 0xa7, 0x69, 0x29, 0xc5, 0x2b, 0xd8, 0xe2, 0xfa, 0x48, 0xaf, 0xec, 0x51, 0xd1,
-	0xd2, 0xc0, 0xcb, 0x3b, 0x5b, 0x50, 0xec, 0x1e, 0x74, 0x4a, 0xa2, 0xda, 0xeb, 0xc4, 0xec, 0xa2,
-	0x6a, 0xb7, 0xbc, 0xb6, 0x3e, 0xec, 0x57, 0xa1, 0x5a, 0x84, 0xe9, 0x41, 0x6a, 0x35, 0xfe, 0xd3,
-	0xe2, 0x0e, 0xa0, 0x57, 0xf1, 0xd3, 0x41, 0xb6, 0xa0, 0xad, 0x06, 0x77, 0xff, 0xb4, 0x61, 0x57,
-	0xaf, 0xe2, 0x8a, 0xca, 0x59, 0xe8, 0x53, 0xf4, 0x0d, 0xe0, 0xa6, 0x36, 0xc8, 0xc5, 0x35, 0x2f,
-	0x2a, 0x5e, 0x2a, 0xad, 0x75, 0xda, 0x88, 0xa3, 0x33, 0xdd, 0x42, 0xbf, 0x5a, 0x70, 0xbf, 0x54,
-	0x38, 0x74, 0x56, 0x2b, 0xb4, 0xaa, 0xca, 0xd6, 0x79, 0x53, 0xda, 0x22, 0xc2, 0x4f, 0xb8, 0x57,
-	0xac, 0x1a, 0x1a, 0xd4, 0x4f, 0xb2, 0xfc, 0x22, 0x58, 0x67, 0x0d, 0x59, 0x0b, 0xfb, 0x1f, 0xb0,
-	0x53, 0x28, 0x1f, 0x5a, 0x6b, 0x8f, 0x95, 0x32, 0x59, 0x83, 0x66, 0xa4, 0x85, 0xf7, 0xef, 0x16,
-	0xec, 0x96, 0x7b, 0x8b, 0xd6, 0xdd, 0x63, 0x35, 0xc2, 0x8b, 0xc6, 0xbc, 0x52, 0x07, 0x4a, 0x9d,
-	0x45, 0x6b, 0x2e, 0xb3, 0x9a, 0xe1, 0xbc, 0x29, 0xcd, 0x44, 0x78, 0xed, 0xc1, 0x63, 0x9f, 0xc7,
-	0x75, 0xf4, 0xcb, 0xd6, 0xa7, 0x4d, 0xfd, 0xf8, 0x77, 0xe3, 0xf0, 0xa3, 0xeb, 0x91, 0x39, 0x1e,
-	0x65, 0xe0, 0xa1, 0x10, 0xf8, 0xd2, 0x80, 0x47, 0x0a, 0x71, 0xdd, 0xce, 0xff, 0x1d, 0x4e, 0xff,
-	0x05, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x05, 0xaa, 0x44, 0x29, 0x07, 0x00, 0x00,
-}

+ 12 - 2
app/proxyman/config.pb.go

@@ -88,6 +88,7 @@ func (*InboundConfig) ProtoMessage()    {}
 func (*InboundConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{0}
 }
+
 func (m *InboundConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_InboundConfig.Unmarshal(m, b)
 }
@@ -125,6 +126,7 @@ func (*AllocationStrategy) ProtoMessage()    {}
 func (*AllocationStrategy) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{1}
 }
+
 func (m *AllocationStrategy) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationStrategy.Unmarshal(m, b)
 }
@@ -181,6 +183,7 @@ func (*AllocationStrategy_AllocationStrategyConcurrency) ProtoMessage() {}
 func (*AllocationStrategy_AllocationStrategyConcurrency) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{1, 0}
 }
+
 func (m *AllocationStrategy_AllocationStrategyConcurrency) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationStrategy_AllocationStrategyConcurrency.Unmarshal(m, b)
 }
@@ -223,6 +226,7 @@ func (*AllocationStrategy_AllocationStrategyRefresh) ProtoMessage() {}
 func (*AllocationStrategy_AllocationStrategyRefresh) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{1, 1}
 }
+
 func (m *AllocationStrategy_AllocationStrategyRefresh) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationStrategy_AllocationStrategyRefresh.Unmarshal(m, b)
 }
@@ -265,6 +269,7 @@ func (*SniffingConfig) ProtoMessage()    {}
 func (*SniffingConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{2}
 }
+
 func (m *SniffingConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SniffingConfig.Unmarshal(m, b)
 }
@@ -320,6 +325,7 @@ func (*ReceiverConfig) ProtoMessage()    {}
 func (*ReceiverConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{3}
 }
+
 func (m *ReceiverConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ReceiverConfig.Unmarshal(m, b)
 }
@@ -403,6 +409,7 @@ func (*InboundHandlerConfig) ProtoMessage()    {}
 func (*InboundHandlerConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{4}
 }
+
 func (m *InboundHandlerConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_InboundHandlerConfig.Unmarshal(m, b)
 }
@@ -454,6 +461,7 @@ func (*OutboundConfig) ProtoMessage()    {}
 func (*OutboundConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{5}
 }
+
 func (m *OutboundConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OutboundConfig.Unmarshal(m, b)
 }
@@ -489,6 +497,7 @@ func (*SenderConfig) ProtoMessage()    {}
 func (*SenderConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{6}
 }
+
 func (m *SenderConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SenderConfig.Unmarshal(m, b)
 }
@@ -551,6 +560,7 @@ func (*MultiplexingConfig) ProtoMessage()    {}
 func (*MultiplexingConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b07f45dd938bc1b0, []int{7}
 }
+
 func (m *MultiplexingConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MultiplexingConfig.Unmarshal(m, b)
 }
@@ -584,6 +594,8 @@ func (m *MultiplexingConfig) GetConcurrency() uint32 {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.app.proxyman.KnownProtocols", KnownProtocols_name, KnownProtocols_value)
+	proto.RegisterEnum("v2ray.core.app.proxyman.AllocationStrategy_Type", AllocationStrategy_Type_name, AllocationStrategy_Type_value)
 	proto.RegisterType((*InboundConfig)(nil), "v2ray.core.app.proxyman.InboundConfig")
 	proto.RegisterType((*AllocationStrategy)(nil), "v2ray.core.app.proxyman.AllocationStrategy")
 	proto.RegisterType((*AllocationStrategy_AllocationStrategyConcurrency)(nil), "v2ray.core.app.proxyman.AllocationStrategy.AllocationStrategyConcurrency")
@@ -594,8 +606,6 @@ func init() {
 	proto.RegisterType((*OutboundConfig)(nil), "v2ray.core.app.proxyman.OutboundConfig")
 	proto.RegisterType((*SenderConfig)(nil), "v2ray.core.app.proxyman.SenderConfig")
 	proto.RegisterType((*MultiplexingConfig)(nil), "v2ray.core.app.proxyman.MultiplexingConfig")
-	proto.RegisterEnum("v2ray.core.app.proxyman.KnownProtocols", KnownProtocols_name, KnownProtocols_value)
-	proto.RegisterEnum("v2ray.core.app.proxyman.AllocationStrategy_Type", AllocationStrategy_Type_name, AllocationStrategy_Type_value)
 }
 
 func init() {

+ 10 - 2
app/router/config.pb.go

@@ -106,6 +106,7 @@ func (*Domain) ProtoMessage()    {}
 func (*Domain) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{0}
 }
+
 func (m *Domain) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Domain.Unmarshal(m, b)
 }
@@ -155,6 +156,7 @@ func (*CIDR) ProtoMessage()    {}
 func (*CIDR) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{1}
 }
+
 func (m *CIDR) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CIDR.Unmarshal(m, b)
 }
@@ -201,6 +203,7 @@ func (*GeoIP) ProtoMessage()    {}
 func (*GeoIP) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{2}
 }
+
 func (m *GeoIP) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GeoIP.Unmarshal(m, b)
 }
@@ -246,6 +249,7 @@ func (*GeoIPList) ProtoMessage()    {}
 func (*GeoIPList) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{3}
 }
+
 func (m *GeoIPList) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GeoIPList.Unmarshal(m, b)
 }
@@ -285,6 +289,7 @@ func (*GeoSite) ProtoMessage()    {}
 func (*GeoSite) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{4}
 }
+
 func (m *GeoSite) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GeoSite.Unmarshal(m, b)
 }
@@ -330,6 +335,7 @@ func (*GeoSiteList) ProtoMessage()    {}
 func (*GeoSiteList) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{5}
 }
+
 func (m *GeoSiteList) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GeoSiteList.Unmarshal(m, b)
 }
@@ -376,6 +382,7 @@ func (*RoutingRule) ProtoMessage()    {}
 func (*RoutingRule) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{6}
 }
+
 func (m *RoutingRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RoutingRule.Unmarshal(m, b)
 }
@@ -471,6 +478,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6b1608360690c5fc, []int{7}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -504,6 +512,8 @@ func (m *Config) GetRule() []*RoutingRule {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.app.router.Domain_Type", Domain_Type_name, Domain_Type_value)
+	proto.RegisterEnum("v2ray.core.app.router.Config_DomainStrategy", Config_DomainStrategy_name, Config_DomainStrategy_value)
 	proto.RegisterType((*Domain)(nil), "v2ray.core.app.router.Domain")
 	proto.RegisterType((*CIDR)(nil), "v2ray.core.app.router.CIDR")
 	proto.RegisterType((*GeoIP)(nil), "v2ray.core.app.router.GeoIP")
@@ -512,8 +522,6 @@ func init() {
 	proto.RegisterType((*GeoSiteList)(nil), "v2ray.core.app.router.GeoSiteList")
 	proto.RegisterType((*RoutingRule)(nil), "v2ray.core.app.router.RoutingRule")
 	proto.RegisterType((*Config)(nil), "v2ray.core.app.router.Config")
-	proto.RegisterEnum("v2ray.core.app.router.Domain_Type", Domain_Type_name, Domain_Type_value)
-	proto.RegisterEnum("v2ray.core.app.router.Config_DomainStrategy", Config_DomainStrategy_name, Config_DomainStrategy_value)
 }
 
 func init() {

+ 36 - 34
app/stats/command/command.pb.go

@@ -1,15 +1,11 @@
 package command
 
 import (
+	"context"
 	fmt "fmt"
 	math "math"
 
 	proto "github.com/golang/protobuf/proto"
-)
-
-import (
-	"context"
-
 	grpc "google.golang.org/grpc"
 )
 
@@ -40,6 +36,7 @@ func (*GetStatsRequest) ProtoMessage()    {}
 func (*GetStatsRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c902411c4948f26b, []int{0}
 }
+
 func (m *GetStatsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetStatsRequest.Unmarshal(m, b)
 }
@@ -86,6 +83,7 @@ func (*Stat) ProtoMessage()    {}
 func (*Stat) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c902411c4948f26b, []int{1}
 }
+
 func (m *Stat) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Stat.Unmarshal(m, b)
 }
@@ -131,6 +129,7 @@ func (*GetStatsResponse) ProtoMessage()    {}
 func (*GetStatsResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c902411c4948f26b, []int{2}
 }
+
 func (m *GetStatsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetStatsResponse.Unmarshal(m, b)
 }
@@ -170,6 +169,7 @@ func (*QueryStatsRequest) ProtoMessage()    {}
 func (*QueryStatsRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c902411c4948f26b, []int{3}
 }
+
 func (m *QueryStatsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_QueryStatsRequest.Unmarshal(m, b)
 }
@@ -215,6 +215,7 @@ func (*QueryStatsResponse) ProtoMessage()    {}
 func (*QueryStatsResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c902411c4948f26b, []int{4}
 }
+
 func (m *QueryStatsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_QueryStatsResponse.Unmarshal(m, b)
 }
@@ -252,6 +253,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c902411c4948f26b, []int{5}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -279,6 +281,35 @@ func init() {
 	proto.RegisterType((*Config)(nil), "v2ray.core.app.stats.command.Config")
 }
 
+func init() {
+	proto.RegisterFile("v2ray.com/core/app/stats/command/command.proto", fileDescriptor_c902411c4948f26b)
+}
+
+var fileDescriptor_c902411c4948f26b = []byte{
+	// 321 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xb1, 0x4e, 0xc3, 0x30,
+	0x10, 0x86, 0x49, 0x5b, 0xda, 0x72, 0x20, 0x01, 0x16, 0x43, 0x55, 0x75, 0x88, 0x3c, 0x75, 0xc1,
+	0xa9, 0x82, 0xc4, 0xc2, 0x04, 0x19, 0x90, 0x50, 0x07, 0x70, 0x25, 0x06, 0x36, 0x13, 0x0e, 0x54,
+	0x41, 0x62, 0xd7, 0x76, 0x22, 0xe5, 0x95, 0x78, 0x38, 0x9e, 0x01, 0xc5, 0x49, 0x54, 0xa0, 0x6a,
+	0x54, 0xa6, 0xdc, 0xc5, 0xff, 0x77, 0xf7, 0xdf, 0xd9, 0xc0, 0xf2, 0x50, 0x8b, 0x82, 0xc5, 0x32,
+	0x09, 0x62, 0xa9, 0x31, 0x10, 0x4a, 0x05, 0xc6, 0x0a, 0x6b, 0x82, 0x58, 0x26, 0x89, 0x48, 0x5f,
+	0x9a, 0x2f, 0x53, 0x5a, 0x5a, 0x49, 0x26, 0x8d, 0x5e, 0x23, 0x13, 0x4a, 0x31, 0xa7, 0x65, 0xb5,
+	0x86, 0x5e, 0xc1, 0xf1, 0x2d, 0xda, 0x45, 0xf9, 0x8f, 0xe3, 0x2a, 0x43, 0x63, 0x09, 0x81, 0x5e,
+	0x2a, 0x12, 0x1c, 0x79, 0xbe, 0x37, 0x3d, 0xe0, 0x2e, 0x26, 0x67, 0xb0, 0xaf, 0xd1, 0xa0, 0x1d,
+	0x75, 0x7c, 0x6f, 0x3a, 0xe4, 0x55, 0x42, 0x67, 0xd0, 0x2b, 0xc9, 0x6d, 0x44, 0x2e, 0x3e, 0x32,
+	0x74, 0x44, 0x97, 0x57, 0x09, 0xbd, 0x83, 0x93, 0x75, 0x3b, 0xa3, 0x64, 0x6a, 0x90, 0x5c, 0x42,
+	0xaf, 0xf4, 0xe4, 0xe8, 0xc3, 0x90, 0xb2, 0x36, 0xbf, 0xac, 0x44, 0xb9, 0xd3, 0xd3, 0x08, 0x4e,
+	0x1f, 0x32, 0xd4, 0xc5, 0x2f, 0xf3, 0x23, 0x18, 0x28, 0x61, 0x2d, 0xea, 0xb4, 0x76, 0xd3, 0xa4,
+	0x5b, 0x46, 0x98, 0x03, 0xf9, 0x59, 0x64, 0xc3, 0x52, 0xf7, 0x5f, 0x96, 0x86, 0xd0, 0x8f, 0x64,
+	0xfa, 0xba, 0x7c, 0x0b, 0xbf, 0x3c, 0x38, 0x72, 0x35, 0x17, 0xa8, 0xf3, 0x65, 0x8c, 0xe4, 0x1d,
+	0x86, 0xcd, 0xe4, 0xe4, 0xbc, 0xbd, 0xe0, 0x9f, 0x0b, 0x19, 0xb3, 0x5d, 0xe5, 0x95, 0x7b, 0xba,
+	0x47, 0x56, 0x00, 0xeb, 0xa9, 0x48, 0xd0, 0xce, 0x6f, 0x2c, 0x71, 0x3c, 0xdb, 0x1d, 0x68, 0x5a,
+	0xde, 0xcc, 0xc1, 0x8f, 0x65, 0xd2, 0x0a, 0xde, 0x7b, 0x4f, 0x83, 0x3a, 0xfc, 0xec, 0x4c, 0x1e,
+	0x43, 0x2e, 0x0a, 0x16, 0x95, 0xca, 0x6b, 0xa5, 0xdc, 0x16, 0x0d, 0x8b, 0xaa, 0xe3, 0xe7, 0xbe,
+	0x7b, 0xbb, 0x17, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcc, 0x9e, 0xb8, 0xeb, 0xed, 0x02, 0x00,
+	0x00,
+}
+
 // Reference imports to suppress errors if they are not otherwise used.
 var _ context.Context
 var _ grpc.ClientConn
@@ -383,32 +414,3 @@ var _StatsService_serviceDesc = grpc.ServiceDesc{
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "v2ray.com/core/app/stats/command/command.proto",
 }
-
-func init() {
-	proto.RegisterFile("v2ray.com/core/app/stats/command/command.proto", fileDescriptor_c902411c4948f26b)
-}
-
-var fileDescriptor_c902411c4948f26b = []byte{
-	// 321 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xb1, 0x4e, 0xc3, 0x30,
-	0x10, 0x86, 0x49, 0x5b, 0xda, 0x72, 0x20, 0x01, 0x16, 0x43, 0x55, 0x75, 0x88, 0x3c, 0x75, 0xc1,
-	0xa9, 0x82, 0xc4, 0xc2, 0x04, 0x19, 0x90, 0x50, 0x07, 0x70, 0x25, 0x06, 0x36, 0x13, 0x0e, 0x54,
-	0x41, 0x62, 0xd7, 0x76, 0x22, 0xe5, 0x95, 0x78, 0x38, 0x9e, 0x01, 0xc5, 0x49, 0x54, 0xa0, 0x6a,
-	0x54, 0xa6, 0xdc, 0xc5, 0xff, 0x77, 0xf7, 0xdf, 0xd9, 0xc0, 0xf2, 0x50, 0x8b, 0x82, 0xc5, 0x32,
-	0x09, 0x62, 0xa9, 0x31, 0x10, 0x4a, 0x05, 0xc6, 0x0a, 0x6b, 0x82, 0x58, 0x26, 0x89, 0x48, 0x5f,
-	0x9a, 0x2f, 0x53, 0x5a, 0x5a, 0x49, 0x26, 0x8d, 0x5e, 0x23, 0x13, 0x4a, 0x31, 0xa7, 0x65, 0xb5,
-	0x86, 0x5e, 0xc1, 0xf1, 0x2d, 0xda, 0x45, 0xf9, 0x8f, 0xe3, 0x2a, 0x43, 0x63, 0x09, 0x81, 0x5e,
-	0x2a, 0x12, 0x1c, 0x79, 0xbe, 0x37, 0x3d, 0xe0, 0x2e, 0x26, 0x67, 0xb0, 0xaf, 0xd1, 0xa0, 0x1d,
-	0x75, 0x7c, 0x6f, 0x3a, 0xe4, 0x55, 0x42, 0x67, 0xd0, 0x2b, 0xc9, 0x6d, 0x44, 0x2e, 0x3e, 0x32,
-	0x74, 0x44, 0x97, 0x57, 0x09, 0xbd, 0x83, 0x93, 0x75, 0x3b, 0xa3, 0x64, 0x6a, 0x90, 0x5c, 0x42,
-	0xaf, 0xf4, 0xe4, 0xe8, 0xc3, 0x90, 0xb2, 0x36, 0xbf, 0xac, 0x44, 0xb9, 0xd3, 0xd3, 0x08, 0x4e,
-	0x1f, 0x32, 0xd4, 0xc5, 0x2f, 0xf3, 0x23, 0x18, 0x28, 0x61, 0x2d, 0xea, 0xb4, 0x76, 0xd3, 0xa4,
-	0x5b, 0x46, 0x98, 0x03, 0xf9, 0x59, 0x64, 0xc3, 0x52, 0xf7, 0x5f, 0x96, 0x86, 0xd0, 0x8f, 0x64,
-	0xfa, 0xba, 0x7c, 0x0b, 0xbf, 0x3c, 0x38, 0x72, 0x35, 0x17, 0xa8, 0xf3, 0x65, 0x8c, 0xe4, 0x1d,
-	0x86, 0xcd, 0xe4, 0xe4, 0xbc, 0xbd, 0xe0, 0x9f, 0x0b, 0x19, 0xb3, 0x5d, 0xe5, 0x95, 0x7b, 0xba,
-	0x47, 0x56, 0x00, 0xeb, 0xa9, 0x48, 0xd0, 0xce, 0x6f, 0x2c, 0x71, 0x3c, 0xdb, 0x1d, 0x68, 0x5a,
-	0xde, 0xcc, 0xc1, 0x8f, 0x65, 0xd2, 0x0a, 0xde, 0x7b, 0x4f, 0x83, 0x3a, 0xfc, 0xec, 0x4c, 0x1e,
-	0x43, 0x2e, 0x0a, 0x16, 0x95, 0xca, 0x6b, 0xa5, 0xdc, 0x16, 0x0d, 0x8b, 0xaa, 0xe3, 0xe7, 0xbe,
-	0x7b, 0xbb, 0x17, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcc, 0x9e, 0xb8, 0xeb, 0xed, 0x02, 0x00,
-	0x00,
-}

+ 1 - 0
app/stats/config.pb.go

@@ -29,6 +29,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_d494ded44ceaa50d, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 1 - 0
common/net/address.pb.go

@@ -34,6 +34,7 @@ func (*IPOrDomain) ProtoMessage()    {}
 func (*IPOrDomain) Descriptor() ([]byte, []int) {
 	return fileDescriptor_4ba9b4a4304e7c1f, []int{0}
 }
+
 func (m *IPOrDomain) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_IPOrDomain.Unmarshal(m, b)
 }

+ 1 - 0
common/net/destination.pb.go

@@ -33,6 +33,7 @@ func (*Endpoint) ProtoMessage()    {}
 func (*Endpoint) Descriptor() ([]byte, []int) {
 	return fileDescriptor_77acfe1424029862, []int{0}
 }
+
 func (m *Endpoint) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Endpoint.Unmarshal(m, b)
 }

+ 2 - 1
common/net/network.pb.go

@@ -62,6 +62,7 @@ func (*NetworkList) ProtoMessage()    {}
 func (*NetworkList) Descriptor() ([]byte, []int) {
 	return fileDescriptor_6a103d5ccb9e785e, []int{0}
 }
+
 func (m *NetworkList) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NetworkList.Unmarshal(m, b)
 }
@@ -88,8 +89,8 @@ func (m *NetworkList) GetNetwork() []Network {
 }
 
 func init() {
-	proto.RegisterType((*NetworkList)(nil), "v2ray.core.common.net.NetworkList")
 	proto.RegisterEnum("v2ray.core.common.net.Network", Network_name, Network_value)
+	proto.RegisterType((*NetworkList)(nil), "v2ray.core.common.net.NetworkList")
 }
 
 func init() {

+ 1 - 0
common/net/port.pb.go

@@ -34,6 +34,7 @@ func (*PortRange) ProtoMessage()    {}
 func (*PortRange) Descriptor() ([]byte, []int) {
 	return fileDescriptor_166067e37a39f913, []int{0}
 }
+
 func (m *PortRange) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_PortRange.Unmarshal(m, b)
 }

+ 2 - 1
common/protocol/headers.pb.go

@@ -67,6 +67,7 @@ func (*SecurityConfig) ProtoMessage()    {}
 func (*SecurityConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_5931f958a3c1d408, []int{0}
 }
+
 func (m *SecurityConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SecurityConfig.Unmarshal(m, b)
 }
@@ -93,8 +94,8 @@ func (m *SecurityConfig) GetType() SecurityType {
 }
 
 func init() {
-	proto.RegisterType((*SecurityConfig)(nil), "v2ray.core.common.protocol.SecurityConfig")
 	proto.RegisterEnum("v2ray.core.common.protocol.SecurityType", SecurityType_name, SecurityType_value)
+	proto.RegisterType((*SecurityConfig)(nil), "v2ray.core.common.protocol.SecurityConfig")
 }
 
 func init() {

+ 1 - 0
common/protocol/server_spec.pb.go

@@ -33,6 +33,7 @@ func (*ServerEndpoint) ProtoMessage()    {}
 func (*ServerEndpoint) Descriptor() ([]byte, []int) {
 	return fileDescriptor_8741b2fa976e72fc, []int{0}
 }
+
 func (m *ServerEndpoint) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ServerEndpoint.Unmarshal(m, b)
 }

+ 1 - 0
common/protocol/user.pb.go

@@ -35,6 +35,7 @@ func (*User) ProtoMessage()    {}
 func (*User) Descriptor() ([]byte, []int) {
 	return fileDescriptor_9da52c16030369bd, []int{0}
 }
+
 func (m *User) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_User.Unmarshal(m, b)
 }

+ 1 - 0
common/serial/typed_message.pb.go

@@ -34,6 +34,7 @@ func (*TypedMessage) ProtoMessage()    {}
 func (*TypedMessage) Descriptor() ([]byte, []int) {
 	return fileDescriptor_0bb3cdb51e9fc84d, []int{0}
 }
+
 func (m *TypedMessage) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TypedMessage.Unmarshal(m, b)
 }

+ 3 - 0
config.pb.go

@@ -43,6 +43,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_13704400b1045c6b, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -115,6 +116,7 @@ func (*InboundHandlerConfig) ProtoMessage()    {}
 func (*InboundHandlerConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_13704400b1045c6b, []int{1}
 }
+
 func (m *InboundHandlerConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_InboundHandlerConfig.Unmarshal(m, b)
 }
@@ -177,6 +179,7 @@ func (*OutboundHandlerConfig) ProtoMessage()    {}
 func (*OutboundHandlerConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_13704400b1045c6b, []int{2}
 }
+
 func (m *OutboundHandlerConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OutboundHandlerConfig.Unmarshal(m, b)
 }

+ 3 - 0
proxy/blackhole/config.pb.go

@@ -30,6 +30,7 @@ func (*NoneResponse) ProtoMessage()    {}
 func (*NoneResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_8c8b37c8ae1bdfea, []int{0}
 }
+
 func (m *NoneResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NoneResponse.Unmarshal(m, b)
 }
@@ -60,6 +61,7 @@ func (*HTTPResponse) ProtoMessage()    {}
 func (*HTTPResponse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_8c8b37c8ae1bdfea, []int{1}
 }
+
 func (m *HTTPResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_HTTPResponse.Unmarshal(m, b)
 }
@@ -91,6 +93,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_8c8b37c8ae1bdfea, []int{2}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 1 - 0
proxy/dokodemo/config.pb.go

@@ -36,6 +36,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_de04411d7254f312, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 3 - 1
proxy/freedom/config.pb.go

@@ -56,6 +56,7 @@ func (*DestinationOverride) ProtoMessage()    {}
 func (*DestinationOverride) Descriptor() ([]byte, []int) {
 	return fileDescriptor_66807b6fe2cca4da, []int{0}
 }
+
 func (m *DestinationOverride) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DestinationOverride.Unmarshal(m, b)
 }
@@ -97,6 +98,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_66807b6fe2cca4da, []int{1}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -145,9 +147,9 @@ func (m *Config) GetUserLevel() uint32 {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.proxy.freedom.Config_DomainStrategy", Config_DomainStrategy_name, Config_DomainStrategy_value)
 	proto.RegisterType((*DestinationOverride)(nil), "v2ray.core.proxy.freedom.DestinationOverride")
 	proto.RegisterType((*Config)(nil), "v2ray.core.proxy.freedom.Config")
-	proto.RegisterEnum("v2ray.core.proxy.freedom.Config_DomainStrategy", Config_DomainStrategy_name, Config_DomainStrategy_value)
 }
 
 func init() {

+ 2 - 0
proxy/http/config.pb.go

@@ -34,6 +34,7 @@ func (*ServerConfig) ProtoMessage()    {}
 func (*ServerConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e66c3db3a635d8e4, []int{0}
 }
+
 func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ServerConfig.Unmarshal(m, b)
 }
@@ -94,6 +95,7 @@ func (*ClientConfig) ProtoMessage()    {}
 func (*ClientConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e66c3db3a635d8e4, []int{1}
 }
+
 func (m *ClientConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ClientConfig.Unmarshal(m, b)
 }

+ 3 - 0
proxy/mtproto/config.pb.go

@@ -31,6 +31,7 @@ func (*Account) ProtoMessage()    {}
 func (*Account) Descriptor() ([]byte, []int) {
 	return fileDescriptor_64514e21c693811b, []int{0}
 }
+
 func (m *Account) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Account.Unmarshal(m, b)
 }
@@ -71,6 +72,7 @@ func (*ServerConfig) ProtoMessage()    {}
 func (*ServerConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_64514e21c693811b, []int{1}
 }
+
 func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ServerConfig.Unmarshal(m, b)
 }
@@ -108,6 +110,7 @@ func (*ClientConfig) ProtoMessage()    {}
 func (*ClientConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_64514e21c693811b, []int{2}
 }
+
 func (m *ClientConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ClientConfig.Unmarshal(m, b)
 }

+ 5 - 2
proxy/shadowsocks/config.pb.go

@@ -108,6 +108,7 @@ func (*Account) ProtoMessage()    {}
 func (*Account) Descriptor() ([]byte, []int) {
 	return fileDescriptor_8d089a30c2106007, []int{0}
 }
+
 func (m *Account) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Account.Unmarshal(m, b)
 }
@@ -164,6 +165,7 @@ func (*ServerConfig) ProtoMessage()    {}
 func (*ServerConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_8d089a30c2106007, []int{1}
 }
+
 func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ServerConfig.Unmarshal(m, b)
 }
@@ -217,6 +219,7 @@ func (*ClientConfig) ProtoMessage()    {}
 func (*ClientConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_8d089a30c2106007, []int{2}
 }
+
 func (m *ClientConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ClientConfig.Unmarshal(m, b)
 }
@@ -243,11 +246,11 @@ func (m *ClientConfig) GetServer() []*protocol.ServerEndpoint {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.proxy.shadowsocks.CipherType", CipherType_name, CipherType_value)
+	proto.RegisterEnum("v2ray.core.proxy.shadowsocks.Account_OneTimeAuth", Account_OneTimeAuth_name, Account_OneTimeAuth_value)
 	proto.RegisterType((*Account)(nil), "v2ray.core.proxy.shadowsocks.Account")
 	proto.RegisterType((*ServerConfig)(nil), "v2ray.core.proxy.shadowsocks.ServerConfig")
 	proto.RegisterType((*ClientConfig)(nil), "v2ray.core.proxy.shadowsocks.ClientConfig")
-	proto.RegisterEnum("v2ray.core.proxy.shadowsocks.CipherType", CipherType_name, CipherType_value)
-	proto.RegisterEnum("v2ray.core.proxy.shadowsocks.Account_OneTimeAuth", Account_OneTimeAuth_name, Account_OneTimeAuth_value)
 }
 
 func init() {

+ 4 - 1
proxy/socks/config.pb.go

@@ -58,6 +58,7 @@ func (*Account) ProtoMessage()    {}
 func (*Account) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e86958e2cebd3303, []int{0}
 }
+
 func (m *Account) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Account.Unmarshal(m, b)
 }
@@ -108,6 +109,7 @@ func (*ServerConfig) ProtoMessage()    {}
 func (*ServerConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e86958e2cebd3303, []int{1}
 }
+
 func (m *ServerConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ServerConfig.Unmarshal(m, b)
 }
@@ -182,6 +184,7 @@ func (*ClientConfig) ProtoMessage()    {}
 func (*ClientConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e86958e2cebd3303, []int{2}
 }
+
 func (m *ClientConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ClientConfig.Unmarshal(m, b)
 }
@@ -208,11 +211,11 @@ func (m *ClientConfig) GetServer() []*protocol.ServerEndpoint {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.proxy.socks.AuthType", AuthType_name, AuthType_value)
 	proto.RegisterType((*Account)(nil), "v2ray.core.proxy.socks.Account")
 	proto.RegisterType((*ServerConfig)(nil), "v2ray.core.proxy.socks.ServerConfig")
 	proto.RegisterMapType((map[string]string)(nil), "v2ray.core.proxy.socks.ServerConfig.AccountsEntry")
 	proto.RegisterType((*ClientConfig)(nil), "v2ray.core.proxy.socks.ClientConfig")
-	proto.RegisterEnum("v2ray.core.proxy.socks.AuthType", AuthType_name, AuthType_value)
 }
 
 func init() {

+ 1 - 0
proxy/vmess/account.pb.go

@@ -36,6 +36,7 @@ func (*Account) ProtoMessage()    {}
 func (*Account) Descriptor() ([]byte, []int) {
 	return fileDescriptor_d65dee31e5abbda0, []int{0}
 }
+
 func (m *Account) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Account.Unmarshal(m, b)
 }

+ 3 - 0
proxy/vmess/inbound/config.pb.go

@@ -31,6 +31,7 @@ func (*DetourConfig) ProtoMessage()    {}
 func (*DetourConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_a47d4a41f33382d2, []int{0}
 }
+
 func (m *DetourConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DetourConfig.Unmarshal(m, b)
 }
@@ -70,6 +71,7 @@ func (*DefaultConfig) ProtoMessage()    {}
 func (*DefaultConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_a47d4a41f33382d2, []int{1}
 }
+
 func (m *DefaultConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DefaultConfig.Unmarshal(m, b)
 }
@@ -118,6 +120,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_a47d4a41f33382d2, []int{2}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 1 - 0
proxy/vmess/outbound/config.pb.go

@@ -31,6 +31,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_bc22c8b653a4f7ef, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 2 - 0
transport/config.pb.go

@@ -19,6 +19,7 @@ var _ = math.Inf
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 // Global transport settings. This affects all type of connections that go through V2Ray.
+// Deprecated. Use each settings in StreamConfig.
 type Config struct {
 	TransportSettings    []*internet.TransportConfig `protobuf:"bytes,1,rep,name=transport_settings,json=transportSettings,proto3" json:"transport_settings,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
@@ -32,6 +33,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e34c3c5557a3c999, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 8 - 3
transport/internet/config.pb.go

@@ -136,6 +136,7 @@ func (*TransportConfig) ProtoMessage()    {}
 func (*TransportConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_91dbc815c3d97a05, []int{0}
 }
+
 func (m *TransportConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TransportConfig.Unmarshal(m, b)
 }
@@ -197,6 +198,7 @@ func (*StreamConfig) ProtoMessage()    {}
 func (*StreamConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_91dbc815c3d97a05, []int{1}
 }
+
 func (m *StreamConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_StreamConfig.Unmarshal(m, b)
 }
@@ -271,6 +273,7 @@ func (*ProxyConfig) ProtoMessage()    {}
 func (*ProxyConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_91dbc815c3d97a05, []int{2}
 }
+
 func (m *ProxyConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProxyConfig.Unmarshal(m, b)
 }
@@ -305,6 +308,7 @@ type SocketConfig struct {
 	// TProxy is for enabling TProxy socket option.
 	Tproxy SocketConfig_TProxyMode `protobuf:"varint,3,opt,name=tproxy,proto3,enum=v2ray.core.transport.internet.SocketConfig_TProxyMode" json:"tproxy,omitempty"`
 	// ReceiveOriginalDestAddress is for enabling IP_RECVORIGDSTADDR socket option.
+	// This option is for UDP only.
 	ReceiveOriginalDestAddress bool     `protobuf:"varint,4,opt,name=receive_original_dest_address,json=receiveOriginalDestAddress,proto3" json:"receive_original_dest_address,omitempty"`
 	XXX_NoUnkeyedLiteral       struct{} `json:"-"`
 	XXX_unrecognized           []byte   `json:"-"`
@@ -317,6 +321,7 @@ func (*SocketConfig) ProtoMessage()    {}
 func (*SocketConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_91dbc815c3d97a05, []int{3}
 }
+
 func (m *SocketConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SocketConfig.Unmarshal(m, b)
 }
@@ -364,13 +369,13 @@ func (m *SocketConfig) GetReceiveOriginalDestAddress() bool {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.transport.internet.TransportProtocol", TransportProtocol_name, TransportProtocol_value)
+	proto.RegisterEnum("v2ray.core.transport.internet.SocketConfig_TCPFastOpenState", SocketConfig_TCPFastOpenState_name, SocketConfig_TCPFastOpenState_value)
+	proto.RegisterEnum("v2ray.core.transport.internet.SocketConfig_TProxyMode", SocketConfig_TProxyMode_name, SocketConfig_TProxyMode_value)
 	proto.RegisterType((*TransportConfig)(nil), "v2ray.core.transport.internet.TransportConfig")
 	proto.RegisterType((*StreamConfig)(nil), "v2ray.core.transport.internet.StreamConfig")
 	proto.RegisterType((*ProxyConfig)(nil), "v2ray.core.transport.internet.ProxyConfig")
 	proto.RegisterType((*SocketConfig)(nil), "v2ray.core.transport.internet.SocketConfig")
-	proto.RegisterEnum("v2ray.core.transport.internet.TransportProtocol", TransportProtocol_name, TransportProtocol_value)
-	proto.RegisterEnum("v2ray.core.transport.internet.SocketConfig_TCPFastOpenState", SocketConfig_TCPFastOpenState_name, SocketConfig_TCPFastOpenState_value)
-	proto.RegisterEnum("v2ray.core.transport.internet.SocketConfig_TProxyMode", SocketConfig_TProxyMode_name, SocketConfig_TProxyMode_value)
 }
 
 func init() {

+ 1 - 0
transport/internet/domainsocket/config.pb.go

@@ -34,6 +34,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_76473d52e3e3815d, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 7 - 0
transport/internet/headers/http/config.pb.go

@@ -33,6 +33,7 @@ func (*Header) ProtoMessage()    {}
 func (*Header) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2685d0b4b039e80, []int{0}
 }
+
 func (m *Header) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Header.Unmarshal(m, b)
 }
@@ -79,6 +80,7 @@ func (*Version) ProtoMessage()    {}
 func (*Version) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2685d0b4b039e80, []int{1}
 }
+
 func (m *Version) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Version.Unmarshal(m, b)
 }
@@ -118,6 +120,7 @@ func (*Method) ProtoMessage()    {}
 func (*Method) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2685d0b4b039e80, []int{2}
 }
+
 func (m *Method) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Method.Unmarshal(m, b)
 }
@@ -162,6 +165,7 @@ func (*RequestConfig) ProtoMessage()    {}
 func (*RequestConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2685d0b4b039e80, []int{3}
 }
+
 func (m *RequestConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RequestConfig.Unmarshal(m, b)
 }
@@ -224,6 +228,7 @@ func (*Status) ProtoMessage()    {}
 func (*Status) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2685d0b4b039e80, []int{4}
 }
+
 func (m *Status) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Status.Unmarshal(m, b)
 }
@@ -271,6 +276,7 @@ func (*ResponseConfig) ProtoMessage()    {}
 func (*ResponseConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2685d0b4b039e80, []int{5}
 }
+
 func (m *ResponseConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ResponseConfig.Unmarshal(m, b)
 }
@@ -326,6 +332,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e2685d0b4b039e80, []int{6}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 2 - 0
transport/internet/headers/noop/config.pb.go

@@ -29,6 +29,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b4a070eec05ae9a3, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -59,6 +60,7 @@ func (*ConnectionConfig) ProtoMessage()    {}
 func (*ConnectionConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_b4a070eec05ae9a3, []int{1}
 }
+
 func (m *ConnectionConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ConnectionConfig.Unmarshal(m, b)
 }

+ 1 - 0
transport/internet/headers/srtp/config.pb.go

@@ -35,6 +35,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_0aa82c2c1e59b567, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 1 - 0
transport/internet/headers/tls/config.pb.go

@@ -29,6 +29,7 @@ func (*PacketConfig) ProtoMessage()    {}
 func (*PacketConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_e55187b75c46dc0d, []int{0}
 }
+
 func (m *PacketConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_PacketConfig.Unmarshal(m, b)
 }

+ 1 - 0
transport/internet/headers/utp/config.pb.go

@@ -30,6 +30,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_326a99ff25d90470, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 1 - 0
transport/internet/headers/wechat/config.pb.go

@@ -29,6 +29,7 @@ func (*VideoConfig) ProtoMessage()    {}
 func (*VideoConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_0ad582a12d5e4846, []int{0}
 }
+
 func (m *VideoConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VideoConfig.Unmarshal(m, b)
 }

+ 1 - 0
transport/internet/headers/wireguard/config.pb.go

@@ -29,6 +29,7 @@ func (*WireguardConfig) ProtoMessage()    {}
 func (*WireguardConfig) Descriptor() ([]byte, []int) {
 	return fileDescriptor_a4c21f616af3c531, []int{0}
 }
+
 func (m *WireguardConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_WireguardConfig.Unmarshal(m, b)
 }

+ 1 - 0
transport/internet/http/config.pb.go

@@ -31,6 +31,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_18c29e00ea34cfae, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 8 - 0
transport/internet/kcp/config.pb.go

@@ -32,6 +32,7 @@ func (*MTU) ProtoMessage()    {}
 func (*MTU) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{0}
 }
+
 func (m *MTU) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MTU.Unmarshal(m, b)
 }
@@ -71,6 +72,7 @@ func (*TTI) ProtoMessage()    {}
 func (*TTI) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{1}
 }
+
 func (m *TTI) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TTI.Unmarshal(m, b)
 }
@@ -110,6 +112,7 @@ func (*UplinkCapacity) ProtoMessage()    {}
 func (*UplinkCapacity) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{2}
 }
+
 func (m *UplinkCapacity) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UplinkCapacity.Unmarshal(m, b)
 }
@@ -149,6 +152,7 @@ func (*DownlinkCapacity) ProtoMessage()    {}
 func (*DownlinkCapacity) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{3}
 }
+
 func (m *DownlinkCapacity) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DownlinkCapacity.Unmarshal(m, b)
 }
@@ -188,6 +192,7 @@ func (*WriteBuffer) ProtoMessage()    {}
 func (*WriteBuffer) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{4}
 }
+
 func (m *WriteBuffer) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_WriteBuffer.Unmarshal(m, b)
 }
@@ -227,6 +232,7 @@ func (*ReadBuffer) ProtoMessage()    {}
 func (*ReadBuffer) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{5}
 }
+
 func (m *ReadBuffer) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ReadBuffer.Unmarshal(m, b)
 }
@@ -265,6 +271,7 @@ func (*ConnectionReuse) ProtoMessage()    {}
 func (*ConnectionReuse) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{6}
 }
+
 func (m *ConnectionReuse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ConnectionReuse.Unmarshal(m, b)
 }
@@ -310,6 +317,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_3746d5d763e81577, []int{7}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 1 - 0
transport/internet/tcp/config.pb.go

@@ -31,6 +31,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_eb6d289fc61edd40, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 3 - 1
transport/internet/tls/config.pb.go

@@ -62,6 +62,7 @@ func (*Certificate) ProtoMessage()    {}
 func (*Certificate) Descriptor() ([]byte, []int) {
 	return fileDescriptor_42ed70cad60a2736, []int{0}
 }
+
 func (m *Certificate) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Certificate.Unmarshal(m, b)
 }
@@ -125,6 +126,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_42ed70cad60a2736, []int{1}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }
@@ -186,9 +188,9 @@ func (m *Config) GetDisableSessionResumption() bool {
 }
 
 func init() {
+	proto.RegisterEnum("v2ray.core.transport.internet.tls.Certificate_Usage", Certificate_Usage_name, Certificate_Usage_value)
 	proto.RegisterType((*Certificate)(nil), "v2ray.core.transport.internet.tls.Certificate")
 	proto.RegisterType((*Config)(nil), "v2ray.core.transport.internet.tls.Config")
-	proto.RegisterEnum("v2ray.core.transport.internet.tls.Certificate_Usage", Certificate_Usage_name, Certificate_Usage_value)
 }
 
 func init() {

+ 1 - 0
transport/internet/udp/config.pb.go

@@ -29,6 +29,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_24b1bb4dd7adcb36, []int{0}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }

+ 2 - 0
transport/internet/websocket/config.pb.go

@@ -31,6 +31,7 @@ func (*Header) ProtoMessage()    {}
 func (*Header) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c4869c9c0fc9b72f, []int{0}
 }
+
 func (m *Header) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Header.Unmarshal(m, b)
 }
@@ -78,6 +79,7 @@ func (*Config) ProtoMessage()    {}
 func (*Config) Descriptor() ([]byte, []int) {
 	return fileDescriptor_c4869c9c0fc9b72f, []int{1}
 }
+
 func (m *Config) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Config.Unmarshal(m, b)
 }