1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-02-20 23:47:21 -05:00

protobuf for geoip

This commit is contained in:
Darien Raymond 2017-11-02 10:54:06 +01:00
parent 08ece5d2bf
commit 3545d20b1c
2 changed files with 93 additions and 38 deletions

View File

@ -70,7 +70,7 @@ var Config_DomainStrategy_value = map[string]int32{
func (x Config_DomainStrategy) String() string { func (x Config_DomainStrategy) String() string {
return proto.EnumName(Config_DomainStrategy_name, int32(x)) return proto.EnumName(Config_DomainStrategy_name, int32(x))
} }
func (Config_DomainStrategy) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} } func (Config_DomainStrategy) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{5, 0} }
// Domain for routing decision. // Domain for routing decision.
type Domain struct { type Domain struct {
@ -126,6 +126,46 @@ func (m *CIDR) GetPrefix() uint32 {
return 0 return 0
} }
type GeoIP struct {
CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode" json:"country_code,omitempty"`
Cidr []*CIDR `protobuf:"bytes,2,rep,name=cidr" json:"cidr,omitempty"`
}
func (m *GeoIP) Reset() { *m = GeoIP{} }
func (m *GeoIP) String() string { return proto.CompactTextString(m) }
func (*GeoIP) ProtoMessage() {}
func (*GeoIP) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *GeoIP) GetCountryCode() string {
if m != nil {
return m.CountryCode
}
return ""
}
func (m *GeoIP) GetCidr() []*CIDR {
if m != nil {
return m.Cidr
}
return nil
}
type GeoIPList struct {
Entry []*GeoIP `protobuf:"bytes,1,rep,name=entry" json:"entry,omitempty"`
}
func (m *GeoIPList) Reset() { *m = GeoIPList{} }
func (m *GeoIPList) String() string { return proto.CompactTextString(m) }
func (*GeoIPList) ProtoMessage() {}
func (*GeoIPList) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (m *GeoIPList) GetEntry() []*GeoIP {
if m != nil {
return m.Entry
}
return nil
}
type RoutingRule struct { type RoutingRule struct {
Tag string `protobuf:"bytes,1,opt,name=tag" json:"tag,omitempty"` Tag string `protobuf:"bytes,1,opt,name=tag" json:"tag,omitempty"`
Domain []*Domain `protobuf:"bytes,2,rep,name=domain" json:"domain,omitempty"` Domain []*Domain `protobuf:"bytes,2,rep,name=domain" json:"domain,omitempty"`
@ -140,7 +180,7 @@ type RoutingRule struct {
func (m *RoutingRule) Reset() { *m = RoutingRule{} } func (m *RoutingRule) Reset() { *m = RoutingRule{} }
func (m *RoutingRule) String() string { return proto.CompactTextString(m) } func (m *RoutingRule) String() string { return proto.CompactTextString(m) }
func (*RoutingRule) ProtoMessage() {} func (*RoutingRule) ProtoMessage() {}
func (*RoutingRule) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (*RoutingRule) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *RoutingRule) GetTag() string { func (m *RoutingRule) GetTag() string {
if m != nil { if m != nil {
@ -206,7 +246,7 @@ type Config struct {
func (m *Config) Reset() { *m = Config{} } func (m *Config) Reset() { *m = Config{} }
func (m *Config) String() string { return proto.CompactTextString(m) } func (m *Config) String() string { return proto.CompactTextString(m) }
func (*Config) ProtoMessage() {} func (*Config) ProtoMessage() {}
func (*Config) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (*Config) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *Config) GetDomainStrategy() Config_DomainStrategy { func (m *Config) GetDomainStrategy() Config_DomainStrategy {
if m != nil { if m != nil {
@ -225,6 +265,8 @@ func (m *Config) GetRule() []*RoutingRule {
func init() { func init() {
proto.RegisterType((*Domain)(nil), "v2ray.core.app.router.Domain") proto.RegisterType((*Domain)(nil), "v2ray.core.app.router.Domain")
proto.RegisterType((*CIDR)(nil), "v2ray.core.app.router.CIDR") proto.RegisterType((*CIDR)(nil), "v2ray.core.app.router.CIDR")
proto.RegisterType((*GeoIP)(nil), "v2ray.core.app.router.GeoIP")
proto.RegisterType((*GeoIPList)(nil), "v2ray.core.app.router.GeoIPList")
proto.RegisterType((*RoutingRule)(nil), "v2ray.core.app.router.RoutingRule") proto.RegisterType((*RoutingRule)(nil), "v2ray.core.app.router.RoutingRule")
proto.RegisterType((*Config)(nil), "v2ray.core.app.router.Config") 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.Domain_Type", Domain_Type_name, Domain_Type_value)
@ -234,39 +276,43 @@ func init() {
func init() { proto.RegisterFile("v2ray.com/core/app/router/config.proto", fileDescriptor0) } func init() { proto.RegisterFile("v2ray.com/core/app/router/config.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 538 bytes of a gzipped FileDescriptorProto // 595 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x93, 0xc1, 0x6e, 0xd4, 0x30, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xc1, 0x6e, 0xd3, 0x4c,
0x10, 0x86, 0x49, 0x76, 0x1b, 0xba, 0x93, 0xb2, 0x44, 0x16, 0x45, 0xa1, 0xa8, 0x22, 0x8a, 0x10, 0x10, 0xc7, 0x3f, 0x3b, 0x89, 0xbf, 0x7a, 0x1c, 0x82, 0xb5, 0xa2, 0xc8, 0x14, 0x2a, 0x82, 0x85,
0xe4, 0x80, 0x12, 0x69, 0x11, 0x70, 0x01, 0xa1, 0xb2, 0xed, 0x61, 0x25, 0xa8, 0x2a, 0xd3, 0x72, 0x20, 0x07, 0x64, 0x4b, 0x41, 0xc0, 0x05, 0x54, 0x95, 0xb4, 0x42, 0x91, 0xa0, 0x8a, 0x96, 0x96,
0xe0, 0x12, 0xb9, 0x59, 0x37, 0x58, 0x24, 0xb6, 0xe5, 0x38, 0xa5, 0x7b, 0xe3, 0x05, 0x78, 0x11, 0x03, 0x1c, 0xac, 0xad, 0xb3, 0x35, 0x2b, 0x92, 0xdd, 0xd5, 0x7a, 0x5d, 0x9a, 0x1b, 0x2f, 0xc0,
0x9e, 0x86, 0x47, 0x42, 0xb6, 0x53, 0xd1, 0xa2, 0x2e, 0xdc, 0x66, 0x9c, 0xef, 0x9f, 0x19, 0x8f, 0x8b, 0xf0, 0x34, 0x3c, 0x12, 0xda, 0x5d, 0x17, 0x5a, 0xd4, 0x00, 0xb7, 0x9d, 0xf1, 0x6f, 0x66,
0xff, 0xc0, 0x93, 0xf3, 0x99, 0x22, 0xab, 0xbc, 0x12, 0x6d, 0x51, 0x09, 0x45, 0x0b, 0x22, 0x65, 0xfe, 0x33, 0x9e, 0x81, 0x07, 0xa7, 0x63, 0x45, 0x56, 0x59, 0x29, 0x96, 0x79, 0x29, 0x14, 0xcd,
0xa1, 0x44, 0xaf, 0xa9, 0x2a, 0x2a, 0xc1, 0xcf, 0x58, 0x9d, 0x4b, 0x25, 0xb4, 0x40, 0xdb, 0x97, 0x89, 0x94, 0xb9, 0x12, 0x8d, 0xa6, 0x2a, 0x2f, 0x05, 0x3f, 0x61, 0x55, 0x26, 0x95, 0xd0, 0x02,
0x9c, 0xa2, 0x39, 0x91, 0x32, 0x77, 0xcc, 0xce, 0xe3, 0xbf, 0xe4, 0x95, 0x68, 0x5b, 0xc1, 0x0b, 0x6d, 0x9e, 0x73, 0x8a, 0x66, 0x44, 0xca, 0xcc, 0x31, 0x5b, 0xf7, 0x7f, 0x0b, 0x2f, 0xc5, 0x72,
0x4e, 0x75, 0x21, 0x85, 0xd2, 0x4e, 0xbc, 0xf3, 0x74, 0x3d, 0xc5, 0xa9, 0xfe, 0x26, 0xd4, 0x57, 0x29, 0x78, 0xce, 0xa9, 0xce, 0xa5, 0x50, 0xda, 0x05, 0x6f, 0x3d, 0x5c, 0x4f, 0x71, 0xaa, 0x3f,
0x07, 0xa6, 0xdf, 0x3d, 0x08, 0xf6, 0x45, 0x4b, 0x18, 0x47, 0x2f, 0x61, 0xac, 0x57, 0x92, 0xc6, 0x0b, 0xf5, 0xc9, 0x81, 0xe9, 0x17, 0x0f, 0x82, 0x3d, 0xb1, 0x24, 0x8c, 0xa3, 0xa7, 0xd0, 0xd5,
0x5e, 0xe2, 0x65, 0xd3, 0x59, 0x9a, 0xdf, 0xd8, 0x3f, 0x77, 0x70, 0x7e, 0xbc, 0x92, 0x14, 0x5b, 0x2b, 0x49, 0x13, 0x6f, 0xe8, 0x8d, 0x06, 0xe3, 0x34, 0xbb, 0xb2, 0x7e, 0xe6, 0xe0, 0xec, 0x70,
0x1e, 0xdd, 0x83, 0x8d, 0x73, 0xd2, 0xf4, 0x34, 0xf6, 0x13, 0x2f, 0x9b, 0x60, 0x97, 0xa4, 0x19, 0x25, 0x29, 0xb6, 0x3c, 0xba, 0x01, 0xbd, 0x53, 0xb2, 0x68, 0x68, 0xe2, 0x0f, 0xbd, 0x51, 0x88,
0x8c, 0x0d, 0x83, 0x26, 0xb0, 0x71, 0xd4, 0x10, 0xc6, 0xa3, 0x5b, 0x26, 0xc4, 0xb4, 0xa6, 0x17, 0x9d, 0x91, 0x8e, 0xa0, 0x6b, 0x18, 0x14, 0x42, 0x6f, 0xb6, 0x20, 0x8c, 0xc7, 0xff, 0x99, 0x27,
0x91, 0x87, 0xe0, 0xb2, 0x6b, 0xe4, 0xa7, 0x39, 0x8c, 0xe7, 0x8b, 0x7d, 0x8c, 0xa6, 0xe0, 0x33, 0xa6, 0x15, 0x3d, 0x8b, 0x3d, 0x04, 0xe7, 0x55, 0x63, 0x3f, 0xcd, 0xa0, 0x3b, 0x99, 0xee, 0x61,
0x69, 0xbb, 0x6f, 0x61, 0x9f, 0x49, 0x74, 0x1f, 0x02, 0xa9, 0xe8, 0x19, 0xbb, 0xb0, 0x85, 0xef, 0x34, 0x00, 0x9f, 0x49, 0x5b, 0xbd, 0x8f, 0x7d, 0x26, 0xd1, 0x4d, 0x08, 0xa4, 0xa2, 0x27, 0xec,
0xe0, 0x21, 0x4b, 0x7f, 0x8c, 0x20, 0xc4, 0xa2, 0xd7, 0x8c, 0xd7, 0xb8, 0x6f, 0x28, 0x8a, 0x60, 0xcc, 0x26, 0xbe, 0x86, 0x5b, 0x2b, 0xfd, 0x00, 0xbd, 0x57, 0x54, 0x4c, 0x67, 0xe8, 0x1e, 0xf4,
0xa4, 0x49, 0x6d, 0x85, 0x13, 0x6c, 0x42, 0xf4, 0x02, 0x82, 0xa5, 0xad, 0x1e, 0xfb, 0xc9, 0x28, 0x4b, 0xd1, 0x70, 0xad, 0x56, 0x45, 0x29, 0xe6, 0x4e, 0x78, 0x88, 0xa3, 0xd6, 0x37, 0x11, 0x73,
0x0b, 0x67, 0xbb, 0xff, 0xbc, 0x0b, 0x1e, 0x60, 0x54, 0xc0, 0xb8, 0x62, 0x4b, 0x15, 0x8f, 0xac, 0x8a, 0x72, 0xe8, 0x96, 0x6c, 0xae, 0x12, 0x7f, 0xd8, 0x19, 0x45, 0xe3, 0xdb, 0x6b, 0x7a, 0x32,
0xe8, 0xe1, 0x1a, 0x91, 0x99, 0x15, 0x5b, 0x10, 0xbd, 0x05, 0x30, 0x3b, 0x2f, 0x15, 0xe1, 0x35, 0xe5, 0xb1, 0x05, 0xd3, 0x1d, 0x08, 0x6d, 0xf2, 0xd7, 0xac, 0xd6, 0x68, 0x0c, 0x3d, 0x6a, 0x52,
0x8d, 0xc7, 0x89, 0x97, 0x85, 0xb3, 0xe4, 0xaa, 0xcc, 0xad, 0x3d, 0xe7, 0x54, 0xe7, 0x47, 0x42, 0x25, 0x9e, 0x0d, 0xbf, 0xb3, 0x26, 0xdc, 0x06, 0x60, 0x87, 0xa6, 0x5f, 0x3b, 0x10, 0x61, 0xd1,
0x69, 0x6c, 0x38, 0x3c, 0x91, 0x97, 0x21, 0x3a, 0x80, 0xad, 0xe1, 0x39, 0xca, 0x86, 0x75, 0x3a, 0x68, 0xc6, 0x2b, 0xdc, 0x2c, 0x28, 0x8a, 0xa1, 0xa3, 0x49, 0xd5, 0x6a, 0x33, 0x4f, 0xf4, 0x04,
0xde, 0xb0, 0x25, 0xd2, 0x35, 0x25, 0x0e, 0x1d, 0xfa, 0x9e, 0x75, 0x1a, 0x87, 0xfc, 0x4f, 0x82, 0x82, 0xb9, 0xed, 0xbd, 0x55, 0xb5, 0xfd, 0xc7, 0x49, 0xe3, 0x16, 0xfe, 0xd9, 0x4a, 0xe7, 0x1f,
0x5e, 0x43, 0xd8, 0x89, 0x5e, 0x55, 0xb4, 0xb4, 0xf3, 0x07, 0xff, 0x9f, 0x1f, 0x1c, 0x3f, 0x37, 0x5b, 0x41, 0x3b, 0x00, 0x66, 0x23, 0x0a, 0x45, 0x78, 0x45, 0x93, 0xee, 0xd0, 0x1b, 0x45, 0xe3,
0xb7, 0xd8, 0x05, 0xe8, 0x3b, 0xaa, 0x4a, 0xda, 0x12, 0xd6, 0xc4, 0xb7, 0x93, 0x51, 0x36, 0xc1, 0xe1, 0xc5, 0x30, 0xb7, 0x14, 0x19, 0xa7, 0x3a, 0x9b, 0x09, 0xa5, 0xb1, 0xe1, 0x70, 0x28, 0xcf,
0x13, 0x73, 0x72, 0x60, 0x0e, 0xd0, 0x23, 0x08, 0x19, 0x3f, 0x15, 0x3d, 0x5f, 0x96, 0x66, 0xcd, 0x9f, 0x68, 0x1f, 0xfa, 0xed, 0xb2, 0x14, 0x0b, 0x56, 0xeb, 0xa4, 0x67, 0x53, 0xa4, 0x6b, 0x52,
0x9b, 0xf6, 0x3b, 0x0c, 0x47, 0xc7, 0xa4, 0x4e, 0x7f, 0x79, 0x10, 0xcc, 0xad, 0x73, 0xd1, 0x09, 0x1c, 0x38, 0xd4, 0x0c, 0x0e, 0x47, 0xfc, 0x97, 0x81, 0x9e, 0x43, 0x54, 0x8b, 0x46, 0x95, 0xb4,
0xdc, 0x75, 0xbb, 0x2c, 0x3b, 0xad, 0x88, 0xa6, 0xf5, 0x6a, 0x70, 0xd3, 0xb3, 0x75, 0xc3, 0x38, 0xb0, 0xfa, 0x83, 0xbf, 0xeb, 0x07, 0xc7, 0x4f, 0x4c, 0x17, 0xdb, 0x00, 0x4d, 0x4d, 0x55, 0x41,
0xc7, 0xbb, 0x87, 0xf8, 0x38, 0x68, 0xf0, 0x74, 0x79, 0x2d, 0x37, 0xce, 0x54, 0x7d, 0x43, 0x87, 0x97, 0x84, 0x2d, 0x92, 0xff, 0x87, 0x9d, 0x51, 0x88, 0x43, 0xe3, 0xd9, 0x37, 0x0e, 0x74, 0x17,
0xd7, 0x5c, 0xe7, 0xcc, 0x2b, 0x9e, 0xc0, 0x96, 0x4f, 0x5f, 0xc1, 0xf4, 0x7a, 0x65, 0xb4, 0x09, 0x22, 0xc6, 0x8f, 0x45, 0xc3, 0xe7, 0x85, 0x19, 0xf3, 0x86, 0xfd, 0x0e, 0xad, 0xeb, 0x90, 0x54,
0xe3, 0xbd, 0x6e, 0xd1, 0x39, 0x33, 0x9e, 0x74, 0x74, 0x21, 0x23, 0x0f, 0x45, 0xb0, 0xb5, 0x90, 0xe9, 0x77, 0x0f, 0x82, 0x89, 0xbd, 0x2b, 0x74, 0x04, 0xd7, 0xdd, 0x2c, 0x8b, 0x5a, 0x2b, 0xa2,
0x8b, 0xb3, 0x43, 0xc1, 0x3f, 0x10, 0x5d, 0x7d, 0x89, 0xfc, 0x77, 0x6f, 0xe0, 0x41, 0x25, 0xda, 0x69, 0xb5, 0x6a, 0x77, 0xfd, 0xd1, 0x3a, 0x31, 0xee, 0x1e, 0xdd, 0x8f, 0x78, 0xdb, 0xc6, 0xe0,
0x9b, 0xfb, 0x1c, 0x79, 0x9f, 0x03, 0x17, 0xfd, 0xf4, 0xb7, 0x3f, 0xcd, 0x30, 0x59, 0xe5, 0x73, 0xc1, 0xfc, 0x92, 0x6d, 0xee, 0x46, 0x35, 0x0b, 0xda, 0xfe, 0xcd, 0x75, 0x77, 0x73, 0x61, 0x27,
0x43, 0xec, 0x49, 0x69, 0x47, 0xa0, 0xea, 0x34, 0xb0, 0xff, 0xd6, 0xf3, 0xdf, 0x01, 0x00, 0x00, 0xb0, 0xe5, 0xd3, 0x67, 0x30, 0xb8, 0x9c, 0x19, 0x6d, 0x40, 0x77, 0xb7, 0x9e, 0xd6, 0xee, 0x54,
0xff, 0xff, 0xa7, 0x6a, 0x97, 0x93, 0xeb, 0x03, 0x00, 0x00, 0x8e, 0x6a, 0x3a, 0x95, 0xb1, 0x87, 0x62, 0xe8, 0x4f, 0xe5, 0xf4, 0xe4, 0x40, 0xf0, 0x37, 0x44,
0x97, 0x1f, 0x63, 0xff, 0xe5, 0x0b, 0xb8, 0x55, 0x8a, 0xe5, 0xd5, 0x75, 0x66, 0xde, 0xfb, 0xc0,
0xbd, 0xbe, 0xf9, 0x9b, 0xef, 0xc6, 0x98, 0xac, 0xb2, 0x89, 0x21, 0x76, 0xa5, 0xb4, 0x12, 0xa8,
0x3a, 0x0e, 0xec, 0xe5, 0x3f, 0xfe, 0x11, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x12, 0x0e, 0x89, 0x89,
0x04, 0x00, 0x00,
} }

View File

@ -37,6 +37,15 @@ message CIDR {
uint32 prefix = 2; uint32 prefix = 2;
} }
message GeoIP {
string country_code = 1;
repeated CIDR cidr = 2;
}
message GeoIPList {
repeated GeoIP entry = 1;
}
message RoutingRule { message RoutingRule {
string tag = 1; string tag = 1;
repeated Domain domain = 2; repeated Domain domain = 2;