From eb4573d103d1ab1c915831aad41a00ceb6034973 Mon Sep 17 00:00:00 2001 From: moloch-- <875022+moloch--@users.noreply.github.com> Date: Mon, 28 Jun 2021 17:36:15 -0500 Subject: [PATCH] Updated pb --- client/command/generate.go | 12 +- client/command/tasks.go | 2 +- go.sum | 14 - protobuf/clientpb/client.pb.go | 973 +++++++++++++++++------------ protobuf/clientpb/client.proto | 31 +- protobuf/commonpb/common.pb.go | 2 +- protobuf/rpcpb/services.pb.go | 825 ++++++++++++------------ protobuf/rpcpb/services.proto | 1 + protobuf/rpcpb/services_grpc.pb.go | 36 ++ protobuf/sliverpb/sliver.pb.go | 2 +- server/db/models/implant.go | 2 +- server/generate/binaries.go | 2 +- server/generate/binaries_test.go | 4 +- server/rpc/rpc-backdoor.go | 2 +- server/rpc/rpc-generate.go | 18 +- server/rpc/rpc-priv.go | 2 +- server/rpc/rpc-tasks.go | 10 +- 17 files changed, 1079 insertions(+), 859 deletions(-) diff --git a/client/command/generate.go b/client/command/generate.go index e2398ca726..26e83eb956 100644 --- a/client/command/generate.go +++ b/client/command/generate.go @@ -341,22 +341,22 @@ func parseCompileFlags(ctx *grumble.Context, rpc rpcpb.SliverRPCClient) *clientp isShellcode := false format := ctx.Flags.String("format") - var configFormat clientpb.ImplantConfig_OutputFormat + var configFormat clientpb.OutputFormat switch format { case "exe": - configFormat = clientpb.ImplantConfig_EXECUTABLE + configFormat = clientpb.OutputFormat_EXECUTABLE case "shared": - configFormat = clientpb.ImplantConfig_SHARED_LIB + configFormat = clientpb.OutputFormat_SHARED_LIB isSharedLib = true case "shellcode": - configFormat = clientpb.ImplantConfig_SHELLCODE + configFormat = clientpb.OutputFormat_SHELLCODE isShellcode = true case "service": - configFormat = clientpb.ImplantConfig_SERVICE + configFormat = clientpb.OutputFormat_SERVICE isService = true default: // default to exe - configFormat = clientpb.ImplantConfig_EXECUTABLE + configFormat = clientpb.OutputFormat_EXECUTABLE } targetOS := strings.ToLower(ctx.Flags.String("os")) diff --git a/client/command/tasks.go b/client/command/tasks.go index d213147ec9..42cd1a58b5 100644 --- a/client/command/tasks.go +++ b/client/command/tasks.go @@ -428,7 +428,7 @@ func getActiveSliverConfig() *clientpb.ImplantConfig { ReconnectInterval: uint32(60), PollInterval: uint32(1), - Format: clientpb.ImplantConfig_SHELLCODE, + Format: clientpb.OutputFormat_SHELLCODE, IsSharedLib: true, C2: c2s, } diff --git a/go.sum b/go.sum index aef05d4cc9..df91810e05 100644 --- a/go.sum +++ b/go.sum @@ -289,16 +289,6 @@ github.com/lesnuages/go-socks5 v0.0.0-20210409090601-adbe23bd0194 h1:k4VboDB9x// github.com/lesnuages/go-socks5 v0.0.0-20210409090601-adbe23bd0194/go.mod h1:0p7Kyo90yOpoiH+cElGtWjhneXBBcaB+kJggBU1snEY= github.com/lesnuages/go-winio v0.4.19 h1:lFDu1mnhg5em+8zTHO4ChSD11J56xkyE8m3N8IrVmbA= github.com/lesnuages/go-winio v0.4.19/go.mod h1:rm7jf4kBcldxMeljR7c7XY1qVCBc+8z3PtSgkrT9Clk= -github.com/lesnuages/snitch v0.0.0-20210622140401-a8ca6ff38eee h1:hsW2S5ruvWIW2jsME5BtA08lciltp80fdRCn5Cgny4k= -github.com/lesnuages/snitch v0.0.0-20210622140401-a8ca6ff38eee/go.mod h1:RfXlAVJYL7gUoZ9VMMon4LqrPiAjC8x62Ntbse4a4s0= -github.com/lesnuages/snitch v0.2.0 h1:5cEE/jHit74JvNwDOM2LMkc+PjKZGglLf4C61SVt2F8= -github.com/lesnuages/snitch v0.2.0/go.mod h1:RfXlAVJYL7gUoZ9VMMon4LqrPiAjC8x62Ntbse4a4s0= -github.com/lesnuages/snitch v0.3.0 h1:mu+mZCRZwHF1RDlr9YP/r11tvSPgLrq7NNvhVslNtkg= -github.com/lesnuages/snitch v0.3.0/go.mod h1:RfXlAVJYL7gUoZ9VMMon4LqrPiAjC8x62Ntbse4a4s0= -github.com/lesnuages/snitch v0.4.0 h1:4rhpAe1+XmZKqPvTXus8tcN4ycATfiv1WuIra3d+K+I= -github.com/lesnuages/snitch v0.4.0/go.mod h1:RfXlAVJYL7gUoZ9VMMon4LqrPiAjC8x62Ntbse4a4s0= -github.com/lesnuages/snitch v0.5.0 h1:9r4x7dUYn4OrnHy7y0iwB/jdIIWpQy2Mm8txWb59494= -github.com/lesnuages/snitch v0.5.0/go.mod h1:RfXlAVJYL7gUoZ9VMMon4LqrPiAjC8x62Ntbse4a4s0= github.com/lesnuages/snitch v0.6.0 h1:vOao32MdYDHYDcTAq2CKszDh6Dn8Bv1Gmgc8uVh193U= github.com/lesnuages/snitch v0.6.0/go.mod h1:RfXlAVJYL7gUoZ9VMMon4LqrPiAjC8x62Ntbse4a4s0= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -454,8 +444,6 @@ golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210317152858-513c2a44f670 h1:gzMM0EjIYiRmJI3+jBdFuoynZlpxa2JQZsolKu09BXo= -golang.org/x/crypto v0.0.0-20210317152858-513c2a44f670/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e h1:gsTQYXdTw2Gq7RBsWvlQ91b+aEQ6bXFUngBGuR8sPpI= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -561,8 +549,6 @@ golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 h1:F5Gozwx4I1xtr/sr/8CFbb57iKi3297KFs0QDbGN60A= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= diff --git a/protobuf/clientpb/client.pb.go b/protobuf/clientpb/client.pb.go index 89edc211b0..39c018c08b 100644 --- a/protobuf/clientpb/client.pb.go +++ b/protobuf/clientpb/client.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.15.8 +// protoc v3.17.3 // source: clientpb/client.proto package clientpb @@ -21,105 +21,105 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type StageProtocol int32 +type OutputFormat int32 const ( - StageProtocol_TCP StageProtocol = 0 - StageProtocol_HTTP StageProtocol = 1 - StageProtocol_HTTPS StageProtocol = 2 + OutputFormat_SHARED_LIB OutputFormat = 0 + OutputFormat_SHELLCODE OutputFormat = 1 + OutputFormat_EXECUTABLE OutputFormat = 2 + OutputFormat_SERVICE OutputFormat = 3 ) -// Enum value maps for StageProtocol. +// Enum value maps for OutputFormat. var ( - StageProtocol_name = map[int32]string{ - 0: "TCP", - 1: "HTTP", - 2: "HTTPS", + OutputFormat_name = map[int32]string{ + 0: "SHARED_LIB", + 1: "SHELLCODE", + 2: "EXECUTABLE", + 3: "SERVICE", } - StageProtocol_value = map[string]int32{ - "TCP": 0, - "HTTP": 1, - "HTTPS": 2, + OutputFormat_value = map[string]int32{ + "SHARED_LIB": 0, + "SHELLCODE": 1, + "EXECUTABLE": 2, + "SERVICE": 3, } ) -func (x StageProtocol) Enum() *StageProtocol { - p := new(StageProtocol) +func (x OutputFormat) Enum() *OutputFormat { + p := new(OutputFormat) *p = x return p } -func (x StageProtocol) String() string { +func (x OutputFormat) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (StageProtocol) Descriptor() protoreflect.EnumDescriptor { +func (OutputFormat) Descriptor() protoreflect.EnumDescriptor { return file_clientpb_client_proto_enumTypes[0].Descriptor() } -func (StageProtocol) Type() protoreflect.EnumType { +func (OutputFormat) Type() protoreflect.EnumType { return &file_clientpb_client_proto_enumTypes[0] } -func (x StageProtocol) Number() protoreflect.EnumNumber { +func (x OutputFormat) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use StageProtocol.Descriptor instead. -func (StageProtocol) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use OutputFormat.Descriptor instead. +func (OutputFormat) EnumDescriptor() ([]byte, []int) { return file_clientpb_client_proto_rawDescGZIP(), []int{0} } -type ImplantConfig_OutputFormat int32 +type StageProtocol int32 const ( - ImplantConfig_SHARED_LIB ImplantConfig_OutputFormat = 0 - ImplantConfig_SHELLCODE ImplantConfig_OutputFormat = 1 - ImplantConfig_EXECUTABLE ImplantConfig_OutputFormat = 2 - ImplantConfig_SERVICE ImplantConfig_OutputFormat = 3 + StageProtocol_TCP StageProtocol = 0 + StageProtocol_HTTP StageProtocol = 1 + StageProtocol_HTTPS StageProtocol = 2 ) -// Enum value maps for ImplantConfig_OutputFormat. +// Enum value maps for StageProtocol. var ( - ImplantConfig_OutputFormat_name = map[int32]string{ - 0: "SHARED_LIB", - 1: "SHELLCODE", - 2: "EXECUTABLE", - 3: "SERVICE", + StageProtocol_name = map[int32]string{ + 0: "TCP", + 1: "HTTP", + 2: "HTTPS", } - ImplantConfig_OutputFormat_value = map[string]int32{ - "SHARED_LIB": 0, - "SHELLCODE": 1, - "EXECUTABLE": 2, - "SERVICE": 3, + StageProtocol_value = map[string]int32{ + "TCP": 0, + "HTTP": 1, + "HTTPS": 2, } ) -func (x ImplantConfig_OutputFormat) Enum() *ImplantConfig_OutputFormat { - p := new(ImplantConfig_OutputFormat) +func (x StageProtocol) Enum() *StageProtocol { + p := new(StageProtocol) *p = x return p } -func (x ImplantConfig_OutputFormat) String() string { +func (x StageProtocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ImplantConfig_OutputFormat) Descriptor() protoreflect.EnumDescriptor { +func (StageProtocol) Descriptor() protoreflect.EnumDescriptor { return file_clientpb_client_proto_enumTypes[1].Descriptor() } -func (ImplantConfig_OutputFormat) Type() protoreflect.EnumType { +func (StageProtocol) Type() protoreflect.EnumType { return &file_clientpb_client_proto_enumTypes[1] } -func (x ImplantConfig_OutputFormat) Number() protoreflect.EnumNumber { +func (x StageProtocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ImplantConfig_OutputFormat.Descriptor instead. -func (ImplantConfig_OutputFormat) EnumDescriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{3, 0} +// Deprecated: Use StageProtocol.Descriptor instead. +func (StageProtocol) EnumDescriptor() ([]byte, []int) { + return file_clientpb_client_proto_rawDescGZIP(), []int{1} } // [ Version ] ---------------------------------------- @@ -528,18 +528,18 @@ type ImplantConfig struct { MaxConnectionErrors uint32 `protobuf:"varint,9,opt,name=MaxConnectionErrors,proto3" json:"MaxConnectionErrors,omitempty"` PollInterval uint32 `protobuf:"varint,38,opt,name=PollInterval,proto3" json:"PollInterval,omitempty"` // c2 - C2 []*ImplantC2 `protobuf:"bytes,10,rep,name=C2,proto3" json:"C2,omitempty"` - CanaryDomains []string `protobuf:"bytes,11,rep,name=CanaryDomains,proto3" json:"CanaryDomains,omitempty"` - LimitDomainJoined bool `protobuf:"varint,20,opt,name=LimitDomainJoined,proto3" json:"LimitDomainJoined,omitempty"` - LimitDatetime string `protobuf:"bytes,21,opt,name=LimitDatetime,proto3" json:"LimitDatetime,omitempty"` - LimitHostname string `protobuf:"bytes,22,opt,name=LimitHostname,proto3" json:"LimitHostname,omitempty"` - LimitUsername string `protobuf:"bytes,23,opt,name=LimitUsername,proto3" json:"LimitUsername,omitempty"` - LimitFileExists string `protobuf:"bytes,32,opt,name=LimitFileExists,proto3" json:"LimitFileExists,omitempty"` - Format ImplantConfig_OutputFormat `protobuf:"varint,25,opt,name=Format,proto3,enum=clientpb.ImplantConfig_OutputFormat" json:"Format,omitempty"` - IsSharedLib bool `protobuf:"varint,26,opt,name=IsSharedLib,proto3" json:"IsSharedLib,omitempty"` - FileName string `protobuf:"bytes,27,opt,name=FileName,proto3" json:"FileName,omitempty"` - IsService bool `protobuf:"varint,28,opt,name=IsService,proto3" json:"IsService,omitempty"` - IsShellcode bool `protobuf:"varint,29,opt,name=IsShellcode,proto3" json:"IsShellcode,omitempty"` + C2 []*ImplantC2 `protobuf:"bytes,10,rep,name=C2,proto3" json:"C2,omitempty"` + CanaryDomains []string `protobuf:"bytes,11,rep,name=CanaryDomains,proto3" json:"CanaryDomains,omitempty"` + LimitDomainJoined bool `protobuf:"varint,20,opt,name=LimitDomainJoined,proto3" json:"LimitDomainJoined,omitempty"` + LimitDatetime string `protobuf:"bytes,21,opt,name=LimitDatetime,proto3" json:"LimitDatetime,omitempty"` + LimitHostname string `protobuf:"bytes,22,opt,name=LimitHostname,proto3" json:"LimitHostname,omitempty"` + LimitUsername string `protobuf:"bytes,23,opt,name=LimitUsername,proto3" json:"LimitUsername,omitempty"` + LimitFileExists string `protobuf:"bytes,32,opt,name=LimitFileExists,proto3" json:"LimitFileExists,omitempty"` + Format OutputFormat `protobuf:"varint,25,opt,name=Format,proto3,enum=clientpb.OutputFormat" json:"Format,omitempty"` + IsSharedLib bool `protobuf:"varint,26,opt,name=IsSharedLib,proto3" json:"IsSharedLib,omitempty"` + FileName string `protobuf:"bytes,27,opt,name=FileName,proto3" json:"FileName,omitempty"` + IsService bool `protobuf:"varint,28,opt,name=IsService,proto3" json:"IsService,omitempty"` + IsShellcode bool `protobuf:"varint,29,opt,name=IsShellcode,proto3" json:"IsShellcode,omitempty"` } func (x *ImplantConfig) Reset() { @@ -742,11 +742,11 @@ func (x *ImplantConfig) GetLimitFileExists() string { return "" } -func (x *ImplantConfig) GetFormat() ImplantConfig_OutputFormat { +func (x *ImplantConfig) GetFormat() OutputFormat { if x != nil { return x.Format } - return ImplantConfig_SHARED_LIB + return OutputFormat_SHARED_LIB } func (x *ImplantConfig) GetIsSharedLib() bool { @@ -825,6 +825,132 @@ func (x *ImplantBuilds) GetConfigs() map[string]*ImplantConfig { return nil } +type CompilerTarget struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GOOS string `protobuf:"bytes,1,opt,name=GOOS,proto3" json:"GOOS,omitempty"` // The server's OS + GOARCH string `protobuf:"bytes,2,opt,name=GOARCH,proto3" json:"GOARCH,omitempty"` // The server's Arch + Format OutputFormat `protobuf:"varint,3,opt,name=Format,proto3,enum=clientpb.OutputFormat" json:"Format,omitempty"` +} + +func (x *CompilerTarget) Reset() { + *x = CompilerTarget{} + if protoimpl.UnsafeEnabled { + mi := &file_clientpb_client_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompilerTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompilerTarget) ProtoMessage() {} + +func (x *CompilerTarget) ProtoReflect() protoreflect.Message { + mi := &file_clientpb_client_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompilerTarget.ProtoReflect.Descriptor instead. +func (*CompilerTarget) Descriptor() ([]byte, []int) { + return file_clientpb_client_proto_rawDescGZIP(), []int{5} +} + +func (x *CompilerTarget) GetGOOS() string { + if x != nil { + return x.GOOS + } + return "" +} + +func (x *CompilerTarget) GetGOARCH() string { + if x != nil { + return x.GOARCH + } + return "" +} + +func (x *CompilerTarget) GetFormat() OutputFormat { + if x != nil { + return x.Format + } + return OutputFormat_SHARED_LIB +} + +type Compiler struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GOOS string `protobuf:"bytes,1,opt,name=GOOS,proto3" json:"GOOS,omitempty"` // The server's OS + GOARCH string `protobuf:"bytes,2,opt,name=GOARCH,proto3" json:"GOARCH,omitempty"` // The server's Arch + Targets []*CompilerTarget `protobuf:"bytes,3,rep,name=Targets,proto3" json:"Targets,omitempty"` +} + +func (x *Compiler) Reset() { + *x = Compiler{} + if protoimpl.UnsafeEnabled { + mi := &file_clientpb_client_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Compiler) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Compiler) ProtoMessage() {} + +func (x *Compiler) ProtoReflect() protoreflect.Message { + mi := &file_clientpb_client_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Compiler.ProtoReflect.Descriptor instead. +func (*Compiler) Descriptor() ([]byte, []int) { + return file_clientpb_client_proto_rawDescGZIP(), []int{6} +} + +func (x *Compiler) GetGOOS() string { + if x != nil { + return x.GOOS + } + return "" +} + +func (x *Compiler) GetGOARCH() string { + if x != nil { + return x.GOARCH + } + return "" +} + +func (x *Compiler) GetTargets() []*CompilerTarget { + if x != nil { + return x.Targets + } + return nil +} + type DeleteReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -836,7 +962,7 @@ type DeleteReq struct { func (x *DeleteReq) Reset() { *x = DeleteReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[5] + mi := &file_clientpb_client_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -849,7 +975,7 @@ func (x *DeleteReq) String() string { func (*DeleteReq) ProtoMessage() {} func (x *DeleteReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[5] + mi := &file_clientpb_client_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -862,7 +988,7 @@ func (x *DeleteReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteReq.ProtoReflect.Descriptor instead. func (*DeleteReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{5} + return file_clientpb_client_proto_rawDescGZIP(), []int{7} } func (x *DeleteReq) GetName() string { @@ -889,7 +1015,7 @@ type DNSCanary struct { func (x *DNSCanary) Reset() { *x = DNSCanary{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[6] + mi := &file_clientpb_client_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +1028,7 @@ func (x *DNSCanary) String() string { func (*DNSCanary) ProtoMessage() {} func (x *DNSCanary) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[6] + mi := &file_clientpb_client_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,7 +1041,7 @@ func (x *DNSCanary) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSCanary.ProtoReflect.Descriptor instead. func (*DNSCanary) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{6} + return file_clientpb_client_proto_rawDescGZIP(), []int{8} } func (x *DNSCanary) GetImplantName() string { @@ -971,7 +1097,7 @@ type Canaries struct { func (x *Canaries) Reset() { *x = Canaries{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[7] + mi := &file_clientpb_client_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -984,7 +1110,7 @@ func (x *Canaries) String() string { func (*Canaries) ProtoMessage() {} func (x *Canaries) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[7] + mi := &file_clientpb_client_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -997,7 +1123,7 @@ func (x *Canaries) ProtoReflect() protoreflect.Message { // Deprecated: Use Canaries.ProtoReflect.Descriptor instead. func (*Canaries) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{7} + return file_clientpb_client_proto_rawDescGZIP(), []int{9} } func (x *Canaries) GetCanaries() []*DNSCanary { @@ -1019,7 +1145,7 @@ type UniqueWGIP struct { func (x *UniqueWGIP) Reset() { *x = UniqueWGIP{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[8] + mi := &file_clientpb_client_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1032,7 +1158,7 @@ func (x *UniqueWGIP) String() string { func (*UniqueWGIP) ProtoMessage() {} func (x *UniqueWGIP) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[8] + mi := &file_clientpb_client_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1045,7 +1171,7 @@ func (x *UniqueWGIP) ProtoReflect() protoreflect.Message { // Deprecated: Use UniqueWGIP.ProtoReflect.Descriptor instead. func (*UniqueWGIP) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{8} + return file_clientpb_client_proto_rawDescGZIP(), []int{10} } func (x *UniqueWGIP) GetIP() string { @@ -1067,7 +1193,7 @@ type ImplantProfile struct { func (x *ImplantProfile) Reset() { *x = ImplantProfile{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[9] + mi := &file_clientpb_client_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1080,7 +1206,7 @@ func (x *ImplantProfile) String() string { func (*ImplantProfile) ProtoMessage() {} func (x *ImplantProfile) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[9] + mi := &file_clientpb_client_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1093,7 +1219,7 @@ func (x *ImplantProfile) ProtoReflect() protoreflect.Message { // Deprecated: Use ImplantProfile.ProtoReflect.Descriptor instead. func (*ImplantProfile) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{9} + return file_clientpb_client_proto_rawDescGZIP(), []int{11} } func (x *ImplantProfile) GetName() string { @@ -1121,7 +1247,7 @@ type ImplantProfiles struct { func (x *ImplantProfiles) Reset() { *x = ImplantProfiles{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[10] + mi := &file_clientpb_client_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1134,7 +1260,7 @@ func (x *ImplantProfiles) String() string { func (*ImplantProfiles) ProtoMessage() {} func (x *ImplantProfiles) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[10] + mi := &file_clientpb_client_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1147,7 +1273,7 @@ func (x *ImplantProfiles) ProtoReflect() protoreflect.Message { // Deprecated: Use ImplantProfiles.ProtoReflect.Descriptor instead. func (*ImplantProfiles) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{10} + return file_clientpb_client_proto_rawDescGZIP(), []int{12} } func (x *ImplantProfiles) GetProfiles() []*ImplantProfile { @@ -1168,7 +1294,7 @@ type RegenerateReq struct { func (x *RegenerateReq) Reset() { *x = RegenerateReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[11] + mi := &file_clientpb_client_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1307,7 @@ func (x *RegenerateReq) String() string { func (*RegenerateReq) ProtoMessage() {} func (x *RegenerateReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[11] + mi := &file_clientpb_client_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1320,7 @@ func (x *RegenerateReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RegenerateReq.ProtoReflect.Descriptor instead. func (*RegenerateReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{11} + return file_clientpb_client_proto_rawDescGZIP(), []int{13} } func (x *RegenerateReq) GetImplantName() string { @@ -1220,7 +1346,7 @@ type Job struct { func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[12] + mi := &file_clientpb_client_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1233,7 +1359,7 @@ func (x *Job) String() string { func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[12] + mi := &file_clientpb_client_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1246,7 +1372,7 @@ func (x *Job) ProtoReflect() protoreflect.Message { // Deprecated: Use Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{12} + return file_clientpb_client_proto_rawDescGZIP(), []int{14} } func (x *Job) GetID() uint32 { @@ -1303,7 +1429,7 @@ type Jobs struct { func (x *Jobs) Reset() { *x = Jobs{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[13] + mi := &file_clientpb_client_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1316,7 +1442,7 @@ func (x *Jobs) String() string { func (*Jobs) ProtoMessage() {} func (x *Jobs) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[13] + mi := &file_clientpb_client_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1329,7 +1455,7 @@ func (x *Jobs) ProtoReflect() protoreflect.Message { // Deprecated: Use Jobs.ProtoReflect.Descriptor instead. func (*Jobs) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{13} + return file_clientpb_client_proto_rawDescGZIP(), []int{15} } func (x *Jobs) GetActive() []*Job { @@ -1350,7 +1476,7 @@ type KillJobReq struct { func (x *KillJobReq) Reset() { *x = KillJobReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[14] + mi := &file_clientpb_client_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1363,7 +1489,7 @@ func (x *KillJobReq) String() string { func (*KillJobReq) ProtoMessage() {} func (x *KillJobReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[14] + mi := &file_clientpb_client_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1376,7 +1502,7 @@ func (x *KillJobReq) ProtoReflect() protoreflect.Message { // Deprecated: Use KillJobReq.ProtoReflect.Descriptor instead. func (*KillJobReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{14} + return file_clientpb_client_proto_rawDescGZIP(), []int{16} } func (x *KillJobReq) GetID() uint32 { @@ -1398,7 +1524,7 @@ type KillJob struct { func (x *KillJob) Reset() { *x = KillJob{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[15] + mi := &file_clientpb_client_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1411,7 +1537,7 @@ func (x *KillJob) String() string { func (*KillJob) ProtoMessage() {} func (x *KillJob) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[15] + mi := &file_clientpb_client_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1424,7 +1550,7 @@ func (x *KillJob) ProtoReflect() protoreflect.Message { // Deprecated: Use KillJob.ProtoReflect.Descriptor instead. func (*KillJob) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{15} + return file_clientpb_client_proto_rawDescGZIP(), []int{17} } func (x *KillJob) GetID() uint32 { @@ -1455,7 +1581,7 @@ type MTLSListenerReq struct { func (x *MTLSListenerReq) Reset() { *x = MTLSListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[16] + mi := &file_clientpb_client_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1468,7 +1594,7 @@ func (x *MTLSListenerReq) String() string { func (*MTLSListenerReq) ProtoMessage() {} func (x *MTLSListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[16] + mi := &file_clientpb_client_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1481,7 +1607,7 @@ func (x *MTLSListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MTLSListenerReq.ProtoReflect.Descriptor instead. func (*MTLSListenerReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{16} + return file_clientpb_client_proto_rawDescGZIP(), []int{18} } func (x *MTLSListenerReq) GetHost() string { @@ -1516,7 +1642,7 @@ type MTLSListener struct { func (x *MTLSListener) Reset() { *x = MTLSListener{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[17] + mi := &file_clientpb_client_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1529,7 +1655,7 @@ func (x *MTLSListener) String() string { func (*MTLSListener) ProtoMessage() {} func (x *MTLSListener) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[17] + mi := &file_clientpb_client_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1542,7 +1668,7 @@ func (x *MTLSListener) ProtoReflect() protoreflect.Message { // Deprecated: Use MTLSListener.ProtoReflect.Descriptor instead. func (*MTLSListener) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{17} + return file_clientpb_client_proto_rawDescGZIP(), []int{19} } func (x *MTLSListener) GetJobID() uint32 { @@ -1567,7 +1693,7 @@ type WGListenerReq struct { func (x *WGListenerReq) Reset() { *x = WGListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[18] + mi := &file_clientpb_client_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1580,7 +1706,7 @@ func (x *WGListenerReq) String() string { func (*WGListenerReq) ProtoMessage() {} func (x *WGListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[18] + mi := &file_clientpb_client_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1593,7 +1719,7 @@ func (x *WGListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WGListenerReq.ProtoReflect.Descriptor instead. func (*WGListenerReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{18} + return file_clientpb_client_proto_rawDescGZIP(), []int{20} } func (x *WGListenerReq) GetPort() uint32 { @@ -1642,7 +1768,7 @@ type WGListener struct { func (x *WGListener) Reset() { *x = WGListener{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[19] + mi := &file_clientpb_client_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1655,7 +1781,7 @@ func (x *WGListener) String() string { func (*WGListener) ProtoMessage() {} func (x *WGListener) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[19] + mi := &file_clientpb_client_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1668,7 +1794,7 @@ func (x *WGListener) ProtoReflect() protoreflect.Message { // Deprecated: Use WGListener.ProtoReflect.Descriptor instead. func (*WGListener) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{19} + return file_clientpb_client_proto_rawDescGZIP(), []int{21} } func (x *WGListener) GetJobID() uint32 { @@ -1693,7 +1819,7 @@ type DNSListenerReq struct { func (x *DNSListenerReq) Reset() { *x = DNSListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[20] + mi := &file_clientpb_client_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1706,7 +1832,7 @@ func (x *DNSListenerReq) String() string { func (*DNSListenerReq) ProtoMessage() {} func (x *DNSListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[20] + mi := &file_clientpb_client_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1719,7 +1845,7 @@ func (x *DNSListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSListenerReq.ProtoReflect.Descriptor instead. func (*DNSListenerReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{20} + return file_clientpb_client_proto_rawDescGZIP(), []int{22} } func (x *DNSListenerReq) GetDomains() []string { @@ -1768,7 +1894,7 @@ type DNSListener struct { func (x *DNSListener) Reset() { *x = DNSListener{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[21] + mi := &file_clientpb_client_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1781,7 +1907,7 @@ func (x *DNSListener) String() string { func (*DNSListener) ProtoMessage() {} func (x *DNSListener) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[21] + mi := &file_clientpb_client_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1794,7 +1920,7 @@ func (x *DNSListener) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSListener.ProtoReflect.Descriptor instead. func (*DNSListener) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{21} + return file_clientpb_client_proto_rawDescGZIP(), []int{23} } func (x *DNSListener) GetJobID() uint32 { @@ -1823,7 +1949,7 @@ type HTTPListenerReq struct { func (x *HTTPListenerReq) Reset() { *x = HTTPListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[22] + mi := &file_clientpb_client_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1836,7 +1962,7 @@ func (x *HTTPListenerReq) String() string { func (*HTTPListenerReq) ProtoMessage() {} func (x *HTTPListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[22] + mi := &file_clientpb_client_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1849,7 +1975,7 @@ func (x *HTTPListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use HTTPListenerReq.ProtoReflect.Descriptor instead. func (*HTTPListenerReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{22} + return file_clientpb_client_proto_rawDescGZIP(), []int{24} } func (x *HTTPListenerReq) GetDomain() string { @@ -1928,7 +2054,7 @@ type NamedPipesReq struct { func (x *NamedPipesReq) Reset() { *x = NamedPipesReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[23] + mi := &file_clientpb_client_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1941,7 +2067,7 @@ func (x *NamedPipesReq) String() string { func (*NamedPipesReq) ProtoMessage() {} func (x *NamedPipesReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[23] + mi := &file_clientpb_client_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1954,7 +2080,7 @@ func (x *NamedPipesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use NamedPipesReq.ProtoReflect.Descriptor instead. func (*NamedPipesReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{23} + return file_clientpb_client_proto_rawDescGZIP(), []int{25} } func (x *NamedPipesReq) GetPipeName() string { @@ -1984,7 +2110,7 @@ type NamedPipes struct { func (x *NamedPipes) Reset() { *x = NamedPipes{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[24] + mi := &file_clientpb_client_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1997,7 +2123,7 @@ func (x *NamedPipes) String() string { func (*NamedPipes) ProtoMessage() {} func (x *NamedPipes) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[24] + mi := &file_clientpb_client_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2010,7 +2136,7 @@ func (x *NamedPipes) ProtoReflect() protoreflect.Message { // Deprecated: Use NamedPipes.ProtoReflect.Descriptor instead. func (*NamedPipes) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{24} + return file_clientpb_client_proto_rawDescGZIP(), []int{26} } func (x *NamedPipes) GetSuccess() bool { @@ -2047,7 +2173,7 @@ type TCPPivotReq struct { func (x *TCPPivotReq) Reset() { *x = TCPPivotReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[25] + mi := &file_clientpb_client_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2060,7 +2186,7 @@ func (x *TCPPivotReq) String() string { func (*TCPPivotReq) ProtoMessage() {} func (x *TCPPivotReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[25] + mi := &file_clientpb_client_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2073,7 +2199,7 @@ func (x *TCPPivotReq) ProtoReflect() protoreflect.Message { // Deprecated: Use TCPPivotReq.ProtoReflect.Descriptor instead. func (*TCPPivotReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{25} + return file_clientpb_client_proto_rawDescGZIP(), []int{27} } func (x *TCPPivotReq) GetAddress() string { @@ -2103,7 +2229,7 @@ type TCPPivot struct { func (x *TCPPivot) Reset() { *x = TCPPivot{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[26] + mi := &file_clientpb_client_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2116,7 +2242,7 @@ func (x *TCPPivot) String() string { func (*TCPPivot) ProtoMessage() {} func (x *TCPPivot) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[26] + mi := &file_clientpb_client_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2129,7 +2255,7 @@ func (x *TCPPivot) ProtoReflect() protoreflect.Message { // Deprecated: Use TCPPivot.ProtoReflect.Descriptor instead. func (*TCPPivot) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{26} + return file_clientpb_client_proto_rawDescGZIP(), []int{28} } func (x *TCPPivot) GetSuccess() bool { @@ -2164,7 +2290,7 @@ type HTTPListener struct { func (x *HTTPListener) Reset() { *x = HTTPListener{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[27] + mi := &file_clientpb_client_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2177,7 +2303,7 @@ func (x *HTTPListener) String() string { func (*HTTPListener) ProtoMessage() {} func (x *HTTPListener) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[27] + mi := &file_clientpb_client_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2190,7 +2316,7 @@ func (x *HTTPListener) ProtoReflect() protoreflect.Message { // Deprecated: Use HTTPListener.ProtoReflect.Descriptor instead. func (*HTTPListener) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{27} + return file_clientpb_client_proto_rawDescGZIP(), []int{29} } func (x *HTTPListener) GetJobID() uint32 { @@ -2212,7 +2338,7 @@ type Sessions struct { func (x *Sessions) Reset() { *x = Sessions{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[28] + mi := &file_clientpb_client_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2225,7 +2351,7 @@ func (x *Sessions) String() string { func (*Sessions) ProtoMessage() {} func (x *Sessions) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[28] + mi := &file_clientpb_client_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2238,7 +2364,7 @@ func (x *Sessions) ProtoReflect() protoreflect.Message { // Deprecated: Use Sessions.ProtoReflect.Descriptor instead. func (*Sessions) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{28} + return file_clientpb_client_proto_rawDescGZIP(), []int{30} } func (x *Sessions) GetSessions() []*Session { @@ -2262,7 +2388,7 @@ type UpdateSession struct { func (x *UpdateSession) Reset() { *x = UpdateSession{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[29] + mi := &file_clientpb_client_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2275,7 +2401,7 @@ func (x *UpdateSession) String() string { func (*UpdateSession) ProtoMessage() {} func (x *UpdateSession) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[29] + mi := &file_clientpb_client_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2288,7 +2414,7 @@ func (x *UpdateSession) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSession.ProtoReflect.Descriptor instead. func (*UpdateSession) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{29} + return file_clientpb_client_proto_rawDescGZIP(), []int{31} } func (x *UpdateSession) GetSessionID() uint32 { @@ -2330,7 +2456,7 @@ type GenerateReq struct { func (x *GenerateReq) Reset() { *x = GenerateReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[30] + mi := &file_clientpb_client_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2343,7 +2469,7 @@ func (x *GenerateReq) String() string { func (*GenerateReq) ProtoMessage() {} func (x *GenerateReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[30] + mi := &file_clientpb_client_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2356,7 +2482,7 @@ func (x *GenerateReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateReq.ProtoReflect.Descriptor instead. func (*GenerateReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{30} + return file_clientpb_client_proto_rawDescGZIP(), []int{32} } func (x *GenerateReq) GetConfig() *ImplantConfig { @@ -2377,7 +2503,7 @@ type Generate struct { func (x *Generate) Reset() { *x = Generate{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[31] + mi := &file_clientpb_client_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2390,7 +2516,7 @@ func (x *Generate) String() string { func (*Generate) ProtoMessage() {} func (x *Generate) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[31] + mi := &file_clientpb_client_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2403,7 +2529,7 @@ func (x *Generate) ProtoReflect() protoreflect.Message { // Deprecated: Use Generate.ProtoReflect.Descriptor instead. func (*Generate) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{31} + return file_clientpb_client_proto_rawDescGZIP(), []int{33} } func (x *Generate) GetFile() *commonpb.File { @@ -2429,7 +2555,7 @@ type MSFReq struct { func (x *MSFReq) Reset() { *x = MSFReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[32] + mi := &file_clientpb_client_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2442,7 +2568,7 @@ func (x *MSFReq) String() string { func (*MSFReq) ProtoMessage() {} func (x *MSFReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[32] + mi := &file_clientpb_client_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2455,7 +2581,7 @@ func (x *MSFReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MSFReq.ProtoReflect.Descriptor instead. func (*MSFReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{32} + return file_clientpb_client_proto_rawDescGZIP(), []int{34} } func (x *MSFReq) GetPayload() string { @@ -2517,7 +2643,7 @@ type MSFRemoteReq struct { func (x *MSFRemoteReq) Reset() { *x = MSFRemoteReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[33] + mi := &file_clientpb_client_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2530,7 +2656,7 @@ func (x *MSFRemoteReq) String() string { func (*MSFRemoteReq) ProtoMessage() {} func (x *MSFRemoteReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[33] + mi := &file_clientpb_client_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2543,7 +2669,7 @@ func (x *MSFRemoteReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MSFRemoteReq.ProtoReflect.Descriptor instead. func (*MSFRemoteReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{33} + return file_clientpb_client_proto_rawDescGZIP(), []int{35} } func (x *MSFRemoteReq) GetPayload() string { @@ -2612,7 +2738,7 @@ type StagerListenerReq struct { func (x *StagerListenerReq) Reset() { *x = StagerListenerReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[34] + mi := &file_clientpb_client_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2625,7 +2751,7 @@ func (x *StagerListenerReq) String() string { func (*StagerListenerReq) ProtoMessage() {} func (x *StagerListenerReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[34] + mi := &file_clientpb_client_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2638,7 +2764,7 @@ func (x *StagerListenerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StagerListenerReq.ProtoReflect.Descriptor instead. func (*StagerListenerReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{34} + return file_clientpb_client_proto_rawDescGZIP(), []int{36} } func (x *StagerListenerReq) GetProtocol() StageProtocol { @@ -2701,7 +2827,7 @@ type StagerListener struct { func (x *StagerListener) Reset() { *x = StagerListener{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[35] + mi := &file_clientpb_client_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2714,7 +2840,7 @@ func (x *StagerListener) String() string { func (*StagerListener) ProtoMessage() {} func (x *StagerListener) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[35] + mi := &file_clientpb_client_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2727,7 +2853,7 @@ func (x *StagerListener) ProtoReflect() protoreflect.Message { // Deprecated: Use StagerListener.ProtoReflect.Descriptor instead. func (*StagerListener) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{35} + return file_clientpb_client_proto_rawDescGZIP(), []int{37} } func (x *StagerListener) GetJobID() uint32 { @@ -2750,7 +2876,7 @@ type ShellcodeRDIReq struct { func (x *ShellcodeRDIReq) Reset() { *x = ShellcodeRDIReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[36] + mi := &file_clientpb_client_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2763,7 +2889,7 @@ func (x *ShellcodeRDIReq) String() string { func (*ShellcodeRDIReq) ProtoMessage() {} func (x *ShellcodeRDIReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[36] + mi := &file_clientpb_client_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2776,7 +2902,7 @@ func (x *ShellcodeRDIReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ShellcodeRDIReq.ProtoReflect.Descriptor instead. func (*ShellcodeRDIReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{36} + return file_clientpb_client_proto_rawDescGZIP(), []int{38} } func (x *ShellcodeRDIReq) GetData() []byte { @@ -2811,7 +2937,7 @@ type ShellcodeRDI struct { func (x *ShellcodeRDI) Reset() { *x = ShellcodeRDI{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[37] + mi := &file_clientpb_client_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2824,7 +2950,7 @@ func (x *ShellcodeRDI) String() string { func (*ShellcodeRDI) ProtoMessage() {} func (x *ShellcodeRDI) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[37] + mi := &file_clientpb_client_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2837,7 +2963,7 @@ func (x *ShellcodeRDI) ProtoReflect() protoreflect.Message { // Deprecated: Use ShellcodeRDI.ProtoReflect.Descriptor instead. func (*ShellcodeRDI) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{37} + return file_clientpb_client_proto_rawDescGZIP(), []int{39} } func (x *ShellcodeRDI) GetData() []byte { @@ -2864,7 +2990,7 @@ type MsfStagerReq struct { func (x *MsfStagerReq) Reset() { *x = MsfStagerReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[38] + mi := &file_clientpb_client_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2877,7 +3003,7 @@ func (x *MsfStagerReq) String() string { func (*MsfStagerReq) ProtoMessage() {} func (x *MsfStagerReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[38] + mi := &file_clientpb_client_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2890,7 +3016,7 @@ func (x *MsfStagerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MsfStagerReq.ProtoReflect.Descriptor instead. func (*MsfStagerReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{38} + return file_clientpb_client_proto_rawDescGZIP(), []int{40} } func (x *MsfStagerReq) GetArch() string { @@ -2953,7 +3079,7 @@ type MsfStager struct { func (x *MsfStager) Reset() { *x = MsfStager{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[39] + mi := &file_clientpb_client_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2966,7 +3092,7 @@ func (x *MsfStager) String() string { func (*MsfStager) ProtoMessage() {} func (x *MsfStager) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[39] + mi := &file_clientpb_client_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2979,7 +3105,7 @@ func (x *MsfStager) ProtoReflect() protoreflect.Message { // Deprecated: Use MsfStager.ProtoReflect.Descriptor instead. func (*MsfStager) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{39} + return file_clientpb_client_proto_rawDescGZIP(), []int{41} } func (x *MsfStager) GetFile() *commonpb.File { @@ -3004,7 +3130,7 @@ type GetSystemReq struct { func (x *GetSystemReq) Reset() { *x = GetSystemReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[40] + mi := &file_clientpb_client_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3017,7 +3143,7 @@ func (x *GetSystemReq) String() string { func (*GetSystemReq) ProtoMessage() {} func (x *GetSystemReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[40] + mi := &file_clientpb_client_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3030,7 +3156,7 @@ func (x *GetSystemReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSystemReq.ProtoReflect.Descriptor instead. func (*GetSystemReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{40} + return file_clientpb_client_proto_rawDescGZIP(), []int{42} } func (x *GetSystemReq) GetHostingProcess() string { @@ -3069,7 +3195,7 @@ type MigrateReq struct { func (x *MigrateReq) Reset() { *x = MigrateReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[41] + mi := &file_clientpb_client_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3082,7 +3208,7 @@ func (x *MigrateReq) String() string { func (*MigrateReq) ProtoMessage() {} func (x *MigrateReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[41] + mi := &file_clientpb_client_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3095,7 +3221,7 @@ func (x *MigrateReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateReq.ProtoReflect.Descriptor instead. func (*MigrateReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{41} + return file_clientpb_client_proto_rawDescGZIP(), []int{43} } func (x *MigrateReq) GetPid() uint32 { @@ -3131,7 +3257,7 @@ type CreateTunnelReq struct { func (x *CreateTunnelReq) Reset() { *x = CreateTunnelReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[42] + mi := &file_clientpb_client_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3144,7 +3270,7 @@ func (x *CreateTunnelReq) String() string { func (*CreateTunnelReq) ProtoMessage() {} func (x *CreateTunnelReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[42] + mi := &file_clientpb_client_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3157,7 +3283,7 @@ func (x *CreateTunnelReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTunnelReq.ProtoReflect.Descriptor instead. func (*CreateTunnelReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{42} + return file_clientpb_client_proto_rawDescGZIP(), []int{44} } func (x *CreateTunnelReq) GetRequest() *commonpb.Request { @@ -3179,7 +3305,7 @@ type CreateTunnel struct { func (x *CreateTunnel) Reset() { *x = CreateTunnel{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[43] + mi := &file_clientpb_client_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3192,7 +3318,7 @@ func (x *CreateTunnel) String() string { func (*CreateTunnel) ProtoMessage() {} func (x *CreateTunnel) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[43] + mi := &file_clientpb_client_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3205,7 +3331,7 @@ func (x *CreateTunnel) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTunnel.ProtoReflect.Descriptor instead. func (*CreateTunnel) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{43} + return file_clientpb_client_proto_rawDescGZIP(), []int{45} } func (x *CreateTunnel) GetSessionID() uint32 { @@ -3234,7 +3360,7 @@ type CloseTunnelReq struct { func (x *CloseTunnelReq) Reset() { *x = CloseTunnelReq{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[44] + mi := &file_clientpb_client_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3247,7 +3373,7 @@ func (x *CloseTunnelReq) String() string { func (*CloseTunnelReq) ProtoMessage() {} func (x *CloseTunnelReq) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[44] + mi := &file_clientpb_client_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3260,7 +3386,7 @@ func (x *CloseTunnelReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CloseTunnelReq.ProtoReflect.Descriptor instead. func (*CloseTunnelReq) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{44} + return file_clientpb_client_proto_rawDescGZIP(), []int{46} } func (x *CloseTunnelReq) GetTunnelID() uint64 { @@ -3277,7 +3403,7 @@ func (x *CloseTunnelReq) GetRequest() *commonpb.Request { return nil } -// [ events ] ---------------------------------------- +// [ Events ] ---------------------------------------- type Client struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3291,7 +3417,7 @@ type Client struct { func (x *Client) Reset() { *x = Client{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[45] + mi := &file_clientpb_client_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3304,7 +3430,7 @@ func (x *Client) String() string { func (*Client) ProtoMessage() {} func (x *Client) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[45] + mi := &file_clientpb_client_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3317,7 +3443,7 @@ func (x *Client) ProtoReflect() protoreflect.Message { // Deprecated: Use Client.ProtoReflect.Descriptor instead. func (*Client) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{45} + return file_clientpb_client_proto_rawDescGZIP(), []int{47} } func (x *Client) GetID() uint32 { @@ -3357,7 +3483,7 @@ type Event struct { func (x *Event) Reset() { *x = Event{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[46] + mi := &file_clientpb_client_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3370,7 +3496,7 @@ func (x *Event) String() string { func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[46] + mi := &file_clientpb_client_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3383,7 +3509,7 @@ func (x *Event) ProtoReflect() protoreflect.Message { // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{46} + return file_clientpb_client_proto_rawDescGZIP(), []int{48} } func (x *Event) GetEventType() string { @@ -3439,7 +3565,7 @@ type Operators struct { func (x *Operators) Reset() { *x = Operators{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[47] + mi := &file_clientpb_client_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3452,7 +3578,7 @@ func (x *Operators) String() string { func (*Operators) ProtoMessage() {} func (x *Operators) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[47] + mi := &file_clientpb_client_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3465,7 +3591,7 @@ func (x *Operators) ProtoReflect() protoreflect.Message { // Deprecated: Use Operators.ProtoReflect.Descriptor instead. func (*Operators) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{47} + return file_clientpb_client_proto_rawDescGZIP(), []int{49} } func (x *Operators) GetOperators() []*Operator { @@ -3487,7 +3613,7 @@ type Operator struct { func (x *Operator) Reset() { *x = Operator{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[48] + mi := &file_clientpb_client_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3500,7 +3626,7 @@ func (x *Operator) String() string { func (*Operator) ProtoMessage() {} func (x *Operator) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[48] + mi := &file_clientpb_client_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3513,7 +3639,7 @@ func (x *Operator) ProtoReflect() protoreflect.Message { // Deprecated: Use Operator.ProtoReflect.Descriptor instead. func (*Operator) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{48} + return file_clientpb_client_proto_rawDescGZIP(), []int{50} } func (x *Operator) GetOnline() bool { @@ -3530,7 +3656,7 @@ func (x *Operator) GetName() string { return "" } -// [ websites ] ---------------------------------------- +// [ Websites ] ---------------------------------------- type WebContent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3545,7 +3671,7 @@ type WebContent struct { func (x *WebContent) Reset() { *x = WebContent{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[49] + mi := &file_clientpb_client_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3558,7 +3684,7 @@ func (x *WebContent) String() string { func (*WebContent) ProtoMessage() {} func (x *WebContent) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[49] + mi := &file_clientpb_client_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3571,7 +3697,7 @@ func (x *WebContent) ProtoReflect() protoreflect.Message { // Deprecated: Use WebContent.ProtoReflect.Descriptor instead. func (*WebContent) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{49} + return file_clientpb_client_proto_rawDescGZIP(), []int{51} } func (x *WebContent) GetPath() string { @@ -3614,7 +3740,7 @@ type WebsiteAddContent struct { func (x *WebsiteAddContent) Reset() { *x = WebsiteAddContent{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[50] + mi := &file_clientpb_client_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3627,7 +3753,7 @@ func (x *WebsiteAddContent) String() string { func (*WebsiteAddContent) ProtoMessage() {} func (x *WebsiteAddContent) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[50] + mi := &file_clientpb_client_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3640,7 +3766,7 @@ func (x *WebsiteAddContent) ProtoReflect() protoreflect.Message { // Deprecated: Use WebsiteAddContent.ProtoReflect.Descriptor instead. func (*WebsiteAddContent) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{50} + return file_clientpb_client_proto_rawDescGZIP(), []int{52} } func (x *WebsiteAddContent) GetName() string { @@ -3669,7 +3795,7 @@ type WebsiteRemoveContent struct { func (x *WebsiteRemoveContent) Reset() { *x = WebsiteRemoveContent{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[51] + mi := &file_clientpb_client_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3682,7 +3808,7 @@ func (x *WebsiteRemoveContent) String() string { func (*WebsiteRemoveContent) ProtoMessage() {} func (x *WebsiteRemoveContent) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[51] + mi := &file_clientpb_client_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3695,7 +3821,7 @@ func (x *WebsiteRemoveContent) ProtoReflect() protoreflect.Message { // Deprecated: Use WebsiteRemoveContent.ProtoReflect.Descriptor instead. func (*WebsiteRemoveContent) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{51} + return file_clientpb_client_proto_rawDescGZIP(), []int{53} } func (x *WebsiteRemoveContent) GetName() string { @@ -3724,7 +3850,7 @@ type Website struct { func (x *Website) Reset() { *x = Website{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[52] + mi := &file_clientpb_client_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3737,7 +3863,7 @@ func (x *Website) String() string { func (*Website) ProtoMessage() {} func (x *Website) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[52] + mi := &file_clientpb_client_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3750,7 +3876,7 @@ func (x *Website) ProtoReflect() protoreflect.Message { // Deprecated: Use Website.ProtoReflect.Descriptor instead. func (*Website) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{52} + return file_clientpb_client_proto_rawDescGZIP(), []int{54} } func (x *Website) GetName() string { @@ -3778,7 +3904,7 @@ type Websites struct { func (x *Websites) Reset() { *x = Websites{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[53] + mi := &file_clientpb_client_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3791,7 +3917,7 @@ func (x *Websites) String() string { func (*Websites) ProtoMessage() {} func (x *Websites) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[53] + mi := &file_clientpb_client_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3804,7 +3930,7 @@ func (x *Websites) ProtoReflect() protoreflect.Message { // Deprecated: Use Websites.ProtoReflect.Descriptor instead. func (*Websites) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{53} + return file_clientpb_client_proto_rawDescGZIP(), []int{55} } func (x *Websites) GetWebsites() []*Website { @@ -3828,7 +3954,7 @@ type WGClientConfig struct { func (x *WGClientConfig) Reset() { *x = WGClientConfig{} if protoimpl.UnsafeEnabled { - mi := &file_clientpb_client_proto_msgTypes[54] + mi := &file_clientpb_client_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3841,7 +3967,7 @@ func (x *WGClientConfig) String() string { func (*WGClientConfig) ProtoMessage() {} func (x *WGClientConfig) ProtoReflect() protoreflect.Message { - mi := &file_clientpb_client_proto_msgTypes[54] + mi := &file_clientpb_client_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3854,7 +3980,7 @@ func (x *WGClientConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use WGClientConfig.ProtoReflect.Descriptor instead. func (*WGClientConfig) Descriptor() ([]byte, []int) { - return file_clientpb_client_proto_rawDescGZIP(), []int{54} + return file_clientpb_client_proto_rawDescGZIP(), []int{56} } func (x *WGClientConfig) GetServerPubKey() string { @@ -3945,7 +4071,7 @@ var file_clientpb_client_proto_rawDesc = []byte{ 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x52, 0x4c, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0xd6, 0x08, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x73, 0x22, 0xfc, 0x07, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x4f, 0x4f, 0x53, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x47, 0x4f, 0x4f, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x4f, 0x41, 0x52, 0x43, 0x48, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x4f, 0x41, 0x52, 0x43, @@ -3998,34 +4124,42 @@ var file_clientpb_client_proto_rawDesc = []byte{ 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, - 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4c, 0x69, - 0x62, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x4c, 0x69, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x1c, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x49, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1d, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x63, 0x6f, 0x64, 0x65, - 0x22, 0x4a, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x42, 0x10, 0x00, - 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, - 0x0e, 0x0a, 0x0a, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, - 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x03, 0x22, 0xa4, 0x01, 0x0a, - 0x0d, 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x3e, - 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6c, 0x61, - 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x53, - 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6c, 0x61, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x1f, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x69, 0x73, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x4c, 0x69, 0x62, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, + 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x49, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x63, 0x6f, + 0x64, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, + 0x2e, 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x1a, 0x53, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, + 0x2e, 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x47, + 0x4f, 0x4f, 0x53, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x47, 0x4f, 0x4f, 0x53, 0x12, + 0x16, 0x0a, 0x06, 0x47, 0x4f, 0x41, 0x52, 0x43, 0x48, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x47, 0x4f, 0x41, 0x52, 0x43, 0x48, 0x12, 0x2e, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x70, 0x62, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, + 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x6a, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x4f, 0x4f, 0x53, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x47, 0x4f, 0x4f, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x4f, 0x41, 0x52, 0x43, + 0x48, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x4f, 0x41, 0x52, 0x43, 0x48, 0x12, + 0x32, 0x0a, 0x07, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x73, 0x22, 0x1f, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6d, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, @@ -4337,13 +4471,18 @@ var file_clientpb_client_proto_rawDesc = []byte{ 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x50, 0x2a, 0x2d, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x48, 0x54, 0x54, 0x50, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x53, 0x10, - 0x02, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x49, 0x50, 0x2a, 0x4a, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x42, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x43, 0x4f, 0x44, 0x45, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x03, 0x2a, 0x2d, + 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, + 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, + 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x53, 0x10, 0x02, 0x42, 0x2f, 0x5a, + 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x69, 0x73, 0x68, + 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4359,114 +4498,118 @@ func file_clientpb_client_proto_rawDescGZIP() []byte { } var file_clientpb_client_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_clientpb_client_proto_msgTypes = make([]protoimpl.MessageInfo, 58) +var file_clientpb_client_proto_msgTypes = make([]protoimpl.MessageInfo, 60) var file_clientpb_client_proto_goTypes = []interface{}{ - (StageProtocol)(0), // 0: clientpb.StageProtocol - (ImplantConfig_OutputFormat)(0), // 1: clientpb.ImplantConfig.OutputFormat - (*Version)(nil), // 2: clientpb.Version - (*Session)(nil), // 3: clientpb.Session - (*ImplantC2)(nil), // 4: clientpb.ImplantC2 - (*ImplantConfig)(nil), // 5: clientpb.ImplantConfig - (*ImplantBuilds)(nil), // 6: clientpb.ImplantBuilds - (*DeleteReq)(nil), // 7: clientpb.DeleteReq - (*DNSCanary)(nil), // 8: clientpb.DNSCanary - (*Canaries)(nil), // 9: clientpb.Canaries - (*UniqueWGIP)(nil), // 10: clientpb.UniqueWGIP - (*ImplantProfile)(nil), // 11: clientpb.ImplantProfile - (*ImplantProfiles)(nil), // 12: clientpb.ImplantProfiles - (*RegenerateReq)(nil), // 13: clientpb.RegenerateReq - (*Job)(nil), // 14: clientpb.Job - (*Jobs)(nil), // 15: clientpb.Jobs - (*KillJobReq)(nil), // 16: clientpb.KillJobReq - (*KillJob)(nil), // 17: clientpb.KillJob - (*MTLSListenerReq)(nil), // 18: clientpb.MTLSListenerReq - (*MTLSListener)(nil), // 19: clientpb.MTLSListener - (*WGListenerReq)(nil), // 20: clientpb.WGListenerReq - (*WGListener)(nil), // 21: clientpb.WGListener - (*DNSListenerReq)(nil), // 22: clientpb.DNSListenerReq - (*DNSListener)(nil), // 23: clientpb.DNSListener - (*HTTPListenerReq)(nil), // 24: clientpb.HTTPListenerReq - (*NamedPipesReq)(nil), // 25: clientpb.NamedPipesReq - (*NamedPipes)(nil), // 26: clientpb.NamedPipes - (*TCPPivotReq)(nil), // 27: clientpb.TCPPivotReq - (*TCPPivot)(nil), // 28: clientpb.TCPPivot - (*HTTPListener)(nil), // 29: clientpb.HTTPListener - (*Sessions)(nil), // 30: clientpb.Sessions - (*UpdateSession)(nil), // 31: clientpb.UpdateSession - (*GenerateReq)(nil), // 32: clientpb.GenerateReq - (*Generate)(nil), // 33: clientpb.Generate - (*MSFReq)(nil), // 34: clientpb.MSFReq - (*MSFRemoteReq)(nil), // 35: clientpb.MSFRemoteReq - (*StagerListenerReq)(nil), // 36: clientpb.StagerListenerReq - (*StagerListener)(nil), // 37: clientpb.StagerListener - (*ShellcodeRDIReq)(nil), // 38: clientpb.ShellcodeRDIReq - (*ShellcodeRDI)(nil), // 39: clientpb.ShellcodeRDI - (*MsfStagerReq)(nil), // 40: clientpb.MsfStagerReq - (*MsfStager)(nil), // 41: clientpb.MsfStager - (*GetSystemReq)(nil), // 42: clientpb.GetSystemReq - (*MigrateReq)(nil), // 43: clientpb.MigrateReq - (*CreateTunnelReq)(nil), // 44: clientpb.CreateTunnelReq - (*CreateTunnel)(nil), // 45: clientpb.CreateTunnel - (*CloseTunnelReq)(nil), // 46: clientpb.CloseTunnelReq - (*Client)(nil), // 47: clientpb.Client - (*Event)(nil), // 48: clientpb.Event - (*Operators)(nil), // 49: clientpb.Operators - (*Operator)(nil), // 50: clientpb.Operator - (*WebContent)(nil), // 51: clientpb.WebContent - (*WebsiteAddContent)(nil), // 52: clientpb.WebsiteAddContent - (*WebsiteRemoveContent)(nil), // 53: clientpb.WebsiteRemoveContent - (*Website)(nil), // 54: clientpb.Website - (*Websites)(nil), // 55: clientpb.Websites - (*WGClientConfig)(nil), // 56: clientpb.WGClientConfig - nil, // 57: clientpb.ImplantBuilds.ConfigsEntry - nil, // 58: clientpb.WebsiteAddContent.ContentsEntry - nil, // 59: clientpb.Website.ContentsEntry - (*commonpb.Request)(nil), // 60: commonpb.Request - (*commonpb.Response)(nil), // 61: commonpb.Response - (*commonpb.File)(nil), // 62: commonpb.File + (OutputFormat)(0), // 0: clientpb.OutputFormat + (StageProtocol)(0), // 1: clientpb.StageProtocol + (*Version)(nil), // 2: clientpb.Version + (*Session)(nil), // 3: clientpb.Session + (*ImplantC2)(nil), // 4: clientpb.ImplantC2 + (*ImplantConfig)(nil), // 5: clientpb.ImplantConfig + (*ImplantBuilds)(nil), // 6: clientpb.ImplantBuilds + (*CompilerTarget)(nil), // 7: clientpb.CompilerTarget + (*Compiler)(nil), // 8: clientpb.Compiler + (*DeleteReq)(nil), // 9: clientpb.DeleteReq + (*DNSCanary)(nil), // 10: clientpb.DNSCanary + (*Canaries)(nil), // 11: clientpb.Canaries + (*UniqueWGIP)(nil), // 12: clientpb.UniqueWGIP + (*ImplantProfile)(nil), // 13: clientpb.ImplantProfile + (*ImplantProfiles)(nil), // 14: clientpb.ImplantProfiles + (*RegenerateReq)(nil), // 15: clientpb.RegenerateReq + (*Job)(nil), // 16: clientpb.Job + (*Jobs)(nil), // 17: clientpb.Jobs + (*KillJobReq)(nil), // 18: clientpb.KillJobReq + (*KillJob)(nil), // 19: clientpb.KillJob + (*MTLSListenerReq)(nil), // 20: clientpb.MTLSListenerReq + (*MTLSListener)(nil), // 21: clientpb.MTLSListener + (*WGListenerReq)(nil), // 22: clientpb.WGListenerReq + (*WGListener)(nil), // 23: clientpb.WGListener + (*DNSListenerReq)(nil), // 24: clientpb.DNSListenerReq + (*DNSListener)(nil), // 25: clientpb.DNSListener + (*HTTPListenerReq)(nil), // 26: clientpb.HTTPListenerReq + (*NamedPipesReq)(nil), // 27: clientpb.NamedPipesReq + (*NamedPipes)(nil), // 28: clientpb.NamedPipes + (*TCPPivotReq)(nil), // 29: clientpb.TCPPivotReq + (*TCPPivot)(nil), // 30: clientpb.TCPPivot + (*HTTPListener)(nil), // 31: clientpb.HTTPListener + (*Sessions)(nil), // 32: clientpb.Sessions + (*UpdateSession)(nil), // 33: clientpb.UpdateSession + (*GenerateReq)(nil), // 34: clientpb.GenerateReq + (*Generate)(nil), // 35: clientpb.Generate + (*MSFReq)(nil), // 36: clientpb.MSFReq + (*MSFRemoteReq)(nil), // 37: clientpb.MSFRemoteReq + (*StagerListenerReq)(nil), // 38: clientpb.StagerListenerReq + (*StagerListener)(nil), // 39: clientpb.StagerListener + (*ShellcodeRDIReq)(nil), // 40: clientpb.ShellcodeRDIReq + (*ShellcodeRDI)(nil), // 41: clientpb.ShellcodeRDI + (*MsfStagerReq)(nil), // 42: clientpb.MsfStagerReq + (*MsfStager)(nil), // 43: clientpb.MsfStager + (*GetSystemReq)(nil), // 44: clientpb.GetSystemReq + (*MigrateReq)(nil), // 45: clientpb.MigrateReq + (*CreateTunnelReq)(nil), // 46: clientpb.CreateTunnelReq + (*CreateTunnel)(nil), // 47: clientpb.CreateTunnel + (*CloseTunnelReq)(nil), // 48: clientpb.CloseTunnelReq + (*Client)(nil), // 49: clientpb.Client + (*Event)(nil), // 50: clientpb.Event + (*Operators)(nil), // 51: clientpb.Operators + (*Operator)(nil), // 52: clientpb.Operator + (*WebContent)(nil), // 53: clientpb.WebContent + (*WebsiteAddContent)(nil), // 54: clientpb.WebsiteAddContent + (*WebsiteRemoveContent)(nil), // 55: clientpb.WebsiteRemoveContent + (*Website)(nil), // 56: clientpb.Website + (*Websites)(nil), // 57: clientpb.Websites + (*WGClientConfig)(nil), // 58: clientpb.WGClientConfig + nil, // 59: clientpb.ImplantBuilds.ConfigsEntry + nil, // 60: clientpb.WebsiteAddContent.ContentsEntry + nil, // 61: clientpb.Website.ContentsEntry + (*commonpb.Request)(nil), // 62: commonpb.Request + (*commonpb.Response)(nil), // 63: commonpb.Response + (*commonpb.File)(nil), // 64: commonpb.File } var file_clientpb_client_proto_depIdxs = []int32{ 4, // 0: clientpb.ImplantConfig.C2:type_name -> clientpb.ImplantC2 - 1, // 1: clientpb.ImplantConfig.Format:type_name -> clientpb.ImplantConfig.OutputFormat - 57, // 2: clientpb.ImplantBuilds.Configs:type_name -> clientpb.ImplantBuilds.ConfigsEntry - 8, // 3: clientpb.Canaries.Canaries:type_name -> clientpb.DNSCanary - 5, // 4: clientpb.ImplantProfile.Config:type_name -> clientpb.ImplantConfig - 11, // 5: clientpb.ImplantProfiles.Profiles:type_name -> clientpb.ImplantProfile - 14, // 6: clientpb.Jobs.Active:type_name -> clientpb.Job - 60, // 7: clientpb.NamedPipesReq.Request:type_name -> commonpb.Request - 61, // 8: clientpb.NamedPipes.Response:type_name -> commonpb.Response - 60, // 9: clientpb.TCPPivotReq.Request:type_name -> commonpb.Request - 61, // 10: clientpb.TCPPivot.Response:type_name -> commonpb.Response - 3, // 11: clientpb.Sessions.Sessions:type_name -> clientpb.Session - 5, // 12: clientpb.GenerateReq.Config:type_name -> clientpb.ImplantConfig - 62, // 13: clientpb.Generate.File:type_name -> commonpb.File - 60, // 14: clientpb.MSFReq.Request:type_name -> commonpb.Request - 60, // 15: clientpb.MSFRemoteReq.Request:type_name -> commonpb.Request - 0, // 16: clientpb.StagerListenerReq.Protocol:type_name -> clientpb.StageProtocol - 0, // 17: clientpb.MsfStagerReq.Protocol:type_name -> clientpb.StageProtocol - 62, // 18: clientpb.MsfStager.File:type_name -> commonpb.File - 5, // 19: clientpb.GetSystemReq.Config:type_name -> clientpb.ImplantConfig - 60, // 20: clientpb.GetSystemReq.Request:type_name -> commonpb.Request - 5, // 21: clientpb.MigrateReq.Config:type_name -> clientpb.ImplantConfig - 60, // 22: clientpb.MigrateReq.Request:type_name -> commonpb.Request - 60, // 23: clientpb.CreateTunnelReq.Request:type_name -> commonpb.Request - 60, // 24: clientpb.CloseTunnelReq.Request:type_name -> commonpb.Request - 50, // 25: clientpb.Client.Operator:type_name -> clientpb.Operator - 3, // 26: clientpb.Event.Session:type_name -> clientpb.Session - 14, // 27: clientpb.Event.Job:type_name -> clientpb.Job - 47, // 28: clientpb.Event.Client:type_name -> clientpb.Client - 50, // 29: clientpb.Operators.Operators:type_name -> clientpb.Operator - 58, // 30: clientpb.WebsiteAddContent.Contents:type_name -> clientpb.WebsiteAddContent.ContentsEntry - 59, // 31: clientpb.Website.Contents:type_name -> clientpb.Website.ContentsEntry - 54, // 32: clientpb.Websites.Websites:type_name -> clientpb.Website - 5, // 33: clientpb.ImplantBuilds.ConfigsEntry.value:type_name -> clientpb.ImplantConfig - 51, // 34: clientpb.WebsiteAddContent.ContentsEntry.value:type_name -> clientpb.WebContent - 51, // 35: clientpb.Website.ContentsEntry.value:type_name -> clientpb.WebContent - 36, // [36:36] is the sub-list for method output_type - 36, // [36:36] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 0, // 1: clientpb.ImplantConfig.Format:type_name -> clientpb.OutputFormat + 59, // 2: clientpb.ImplantBuilds.Configs:type_name -> clientpb.ImplantBuilds.ConfigsEntry + 0, // 3: clientpb.CompilerTarget.Format:type_name -> clientpb.OutputFormat + 7, // 4: clientpb.Compiler.Targets:type_name -> clientpb.CompilerTarget + 10, // 5: clientpb.Canaries.Canaries:type_name -> clientpb.DNSCanary + 5, // 6: clientpb.ImplantProfile.Config:type_name -> clientpb.ImplantConfig + 13, // 7: clientpb.ImplantProfiles.Profiles:type_name -> clientpb.ImplantProfile + 16, // 8: clientpb.Jobs.Active:type_name -> clientpb.Job + 62, // 9: clientpb.NamedPipesReq.Request:type_name -> commonpb.Request + 63, // 10: clientpb.NamedPipes.Response:type_name -> commonpb.Response + 62, // 11: clientpb.TCPPivotReq.Request:type_name -> commonpb.Request + 63, // 12: clientpb.TCPPivot.Response:type_name -> commonpb.Response + 3, // 13: clientpb.Sessions.Sessions:type_name -> clientpb.Session + 5, // 14: clientpb.GenerateReq.Config:type_name -> clientpb.ImplantConfig + 64, // 15: clientpb.Generate.File:type_name -> commonpb.File + 62, // 16: clientpb.MSFReq.Request:type_name -> commonpb.Request + 62, // 17: clientpb.MSFRemoteReq.Request:type_name -> commonpb.Request + 1, // 18: clientpb.StagerListenerReq.Protocol:type_name -> clientpb.StageProtocol + 1, // 19: clientpb.MsfStagerReq.Protocol:type_name -> clientpb.StageProtocol + 64, // 20: clientpb.MsfStager.File:type_name -> commonpb.File + 5, // 21: clientpb.GetSystemReq.Config:type_name -> clientpb.ImplantConfig + 62, // 22: clientpb.GetSystemReq.Request:type_name -> commonpb.Request + 5, // 23: clientpb.MigrateReq.Config:type_name -> clientpb.ImplantConfig + 62, // 24: clientpb.MigrateReq.Request:type_name -> commonpb.Request + 62, // 25: clientpb.CreateTunnelReq.Request:type_name -> commonpb.Request + 62, // 26: clientpb.CloseTunnelReq.Request:type_name -> commonpb.Request + 52, // 27: clientpb.Client.Operator:type_name -> clientpb.Operator + 3, // 28: clientpb.Event.Session:type_name -> clientpb.Session + 16, // 29: clientpb.Event.Job:type_name -> clientpb.Job + 49, // 30: clientpb.Event.Client:type_name -> clientpb.Client + 52, // 31: clientpb.Operators.Operators:type_name -> clientpb.Operator + 60, // 32: clientpb.WebsiteAddContent.Contents:type_name -> clientpb.WebsiteAddContent.ContentsEntry + 61, // 33: clientpb.Website.Contents:type_name -> clientpb.Website.ContentsEntry + 56, // 34: clientpb.Websites.Websites:type_name -> clientpb.Website + 5, // 35: clientpb.ImplantBuilds.ConfigsEntry.value:type_name -> clientpb.ImplantConfig + 53, // 36: clientpb.WebsiteAddContent.ContentsEntry.value:type_name -> clientpb.WebContent + 53, // 37: clientpb.Website.ContentsEntry.value:type_name -> clientpb.WebContent + 38, // [38:38] is the sub-list for method output_type + 38, // [38:38] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_clientpb_client_proto_init() } @@ -4536,7 +4679,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteReq); i { + switch v := v.(*CompilerTarget); i { case 0: return &v.state case 1: @@ -4548,7 +4691,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DNSCanary); i { + switch v := v.(*Compiler); i { case 0: return &v.state case 1: @@ -4560,7 +4703,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Canaries); i { + switch v := v.(*DeleteReq); i { case 0: return &v.state case 1: @@ -4572,7 +4715,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UniqueWGIP); i { + switch v := v.(*DNSCanary); i { case 0: return &v.state case 1: @@ -4584,7 +4727,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImplantProfile); i { + switch v := v.(*Canaries); i { case 0: return &v.state case 1: @@ -4596,7 +4739,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImplantProfiles); i { + switch v := v.(*UniqueWGIP); i { case 0: return &v.state case 1: @@ -4608,7 +4751,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegenerateReq); i { + switch v := v.(*ImplantProfile); i { case 0: return &v.state case 1: @@ -4620,7 +4763,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job); i { + switch v := v.(*ImplantProfiles); i { case 0: return &v.state case 1: @@ -4632,7 +4775,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Jobs); i { + switch v := v.(*RegenerateReq); i { case 0: return &v.state case 1: @@ -4644,7 +4787,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KillJobReq); i { + switch v := v.(*Job); i { case 0: return &v.state case 1: @@ -4656,7 +4799,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KillJob); i { + switch v := v.(*Jobs); i { case 0: return &v.state case 1: @@ -4668,7 +4811,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MTLSListenerReq); i { + switch v := v.(*KillJobReq); i { case 0: return &v.state case 1: @@ -4680,7 +4823,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MTLSListener); i { + switch v := v.(*KillJob); i { case 0: return &v.state case 1: @@ -4692,7 +4835,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGListenerReq); i { + switch v := v.(*MTLSListenerReq); i { case 0: return &v.state case 1: @@ -4704,7 +4847,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WGListener); i { + switch v := v.(*MTLSListener); i { case 0: return &v.state case 1: @@ -4716,7 +4859,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DNSListenerReq); i { + switch v := v.(*WGListenerReq); i { case 0: return &v.state case 1: @@ -4728,7 +4871,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DNSListener); i { + switch v := v.(*WGListener); i { case 0: return &v.state case 1: @@ -4740,7 +4883,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPListenerReq); i { + switch v := v.(*DNSListenerReq); i { case 0: return &v.state case 1: @@ -4752,7 +4895,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamedPipesReq); i { + switch v := v.(*DNSListener); i { case 0: return &v.state case 1: @@ -4764,7 +4907,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamedPipes); i { + switch v := v.(*HTTPListenerReq); i { case 0: return &v.state case 1: @@ -4776,7 +4919,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TCPPivotReq); i { + switch v := v.(*NamedPipesReq); i { case 0: return &v.state case 1: @@ -4788,7 +4931,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TCPPivot); i { + switch v := v.(*NamedPipes); i { case 0: return &v.state case 1: @@ -4800,7 +4943,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPListener); i { + switch v := v.(*TCPPivotReq); i { case 0: return &v.state case 1: @@ -4812,7 +4955,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Sessions); i { + switch v := v.(*TCPPivot); i { case 0: return &v.state case 1: @@ -4824,7 +4967,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSession); i { + switch v := v.(*HTTPListener); i { case 0: return &v.state case 1: @@ -4836,7 +4979,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateReq); i { + switch v := v.(*Sessions); i { case 0: return &v.state case 1: @@ -4848,7 +4991,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Generate); i { + switch v := v.(*UpdateSession); i { case 0: return &v.state case 1: @@ -4860,7 +5003,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MSFReq); i { + switch v := v.(*GenerateReq); i { case 0: return &v.state case 1: @@ -4872,7 +5015,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MSFRemoteReq); i { + switch v := v.(*Generate); i { case 0: return &v.state case 1: @@ -4884,7 +5027,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StagerListenerReq); i { + switch v := v.(*MSFReq); i { case 0: return &v.state case 1: @@ -4896,7 +5039,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StagerListener); i { + switch v := v.(*MSFRemoteReq); i { case 0: return &v.state case 1: @@ -4908,7 +5051,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShellcodeRDIReq); i { + switch v := v.(*StagerListenerReq); i { case 0: return &v.state case 1: @@ -4920,7 +5063,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShellcodeRDI); i { + switch v := v.(*StagerListener); i { case 0: return &v.state case 1: @@ -4932,7 +5075,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsfStagerReq); i { + switch v := v.(*ShellcodeRDIReq); i { case 0: return &v.state case 1: @@ -4944,7 +5087,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsfStager); i { + switch v := v.(*ShellcodeRDI); i { case 0: return &v.state case 1: @@ -4956,7 +5099,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSystemReq); i { + switch v := v.(*MsfStagerReq); i { case 0: return &v.state case 1: @@ -4968,7 +5111,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MigrateReq); i { + switch v := v.(*MsfStager); i { case 0: return &v.state case 1: @@ -4980,7 +5123,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTunnelReq); i { + switch v := v.(*GetSystemReq); i { case 0: return &v.state case 1: @@ -4992,7 +5135,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTunnel); i { + switch v := v.(*MigrateReq); i { case 0: return &v.state case 1: @@ -5004,7 +5147,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseTunnelReq); i { + switch v := v.(*CreateTunnelReq); i { case 0: return &v.state case 1: @@ -5016,7 +5159,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Client); i { + switch v := v.(*CreateTunnel); i { case 0: return &v.state case 1: @@ -5028,7 +5171,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Event); i { + switch v := v.(*CloseTunnelReq); i { case 0: return &v.state case 1: @@ -5040,7 +5183,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Operators); i { + switch v := v.(*Client); i { case 0: return &v.state case 1: @@ -5052,7 +5195,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Operator); i { + switch v := v.(*Event); i { case 0: return &v.state case 1: @@ -5064,7 +5207,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WebContent); i { + switch v := v.(*Operators); i { case 0: return &v.state case 1: @@ -5076,7 +5219,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WebsiteAddContent); i { + switch v := v.(*Operator); i { case 0: return &v.state case 1: @@ -5088,7 +5231,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WebsiteRemoveContent); i { + switch v := v.(*WebContent); i { case 0: return &v.state case 1: @@ -5100,7 +5243,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Website); i { + switch v := v.(*WebsiteAddContent); i { case 0: return &v.state case 1: @@ -5112,7 +5255,7 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Websites); i { + switch v := v.(*WebsiteRemoveContent); i { case 0: return &v.state case 1: @@ -5124,6 +5267,30 @@ func file_clientpb_client_proto_init() { } } file_clientpb_client_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Website); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_clientpb_client_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Websites); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_clientpb_client_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WGClientConfig); i { case 0: return &v.state @@ -5142,7 +5309,7 @@ func file_clientpb_client_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_clientpb_client_proto_rawDesc, NumEnums: 2, - NumMessages: 58, + NumMessages: 60, NumExtensions: 0, NumServices: 0, }, diff --git a/protobuf/clientpb/client.proto b/protobuf/clientpb/client.proto index b3c1f9ecb8..185e7d9756 100644 --- a/protobuf/clientpb/client.proto +++ b/protobuf/clientpb/client.proto @@ -51,6 +51,13 @@ message ImplantC2 { string Options = 3; // Protocol specific options } +enum OutputFormat { + SHARED_LIB = 0; + SHELLCODE = 1; + EXECUTABLE = 2; + SERVICE = 3; +} + message ImplantConfig { string GOOS = 1; string GOARCH = 2; @@ -82,12 +89,6 @@ message ImplantConfig { string LimitUsername = 23; string LimitFileExists = 32; - enum OutputFormat { - SHARED_LIB = 0; - SHELLCODE = 1; - EXECUTABLE = 2; - SERVICE = 3; - } OutputFormat Format = 25; bool IsSharedLib = 26; @@ -101,6 +102,18 @@ message ImplantBuilds { map Configs = 1; } +message CompilerTarget { + string GOOS = 1; // The server's OS + string GOARCH = 2; // The server's Arch + OutputFormat Format = 3; +} + +message Compiler { + string GOOS = 1; // The server's OS + string GOARCH = 2; // The server's Arch + repeated CompilerTarget Targets = 3; +} + message DeleteReq { string Name = 1; } @@ -363,7 +376,7 @@ message CloseTunnelReq { commonpb.Request Request = 9; } -// [ events ] ---------------------------------------- +// [ Events ] ---------------------------------------- message Client { uint32 ID = 1; string Name = 2; @@ -390,7 +403,7 @@ message Operator { string Name = 2; } -// [ websites ] ---------------------------------------- +// [ Websites ] ---------------------------------------- message WebContent { string Path = 1; string ContentType = 2; @@ -419,7 +432,7 @@ message Websites { } -// [Wireguard] +// [ Wireguard ] ---------------------------------------- message WGClientConfig { string ServerPubKey = 1; diff --git a/protobuf/commonpb/common.pb.go b/protobuf/commonpb/common.pb.go index 2f450bf1f3..d42bbd21d7 100644 --- a/protobuf/commonpb/common.pb.go +++ b/protobuf/commonpb/common.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.15.8 +// protoc v3.17.3 // source: commonpb/common.proto package commonpb diff --git a/protobuf/rpcpb/services.pb.go b/protobuf/rpcpb/services.pb.go index a94bfbdb6b..d40a8bc94d 100644 --- a/protobuf/rpcpb/services.pb.go +++ b/protobuf/rpcpb/services.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.15.8 +// protoc v3.17.3 // source: rpcpb/services.proto package rpcpb @@ -31,7 +31,7 @@ var file_rpcpb_services_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x32, 0xa4, 0x28, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x52, 0x50, 0x43, + 0x74, 0x6f, 0x32, 0xd8, 0x28, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x52, 0x50, 0x43, 0x12, 0x30, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, @@ -139,224 +139,228 @@ var file_rpcpb_services_proto_rawDesc = []byte{ 0x6f, 0x64, 0x65, 0x52, 0x44, 0x49, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x44, 0x49, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, - 0x6c, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x44, 0x49, 0x12, 0x2f, 0x0a, 0x08, 0x57, 0x65, 0x62, - 0x73, 0x69, 0x74, 0x65, 0x73, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, - 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x57, 0x65, - 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, - 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x0d, 0x57, - 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x11, 0x2e, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x1a, - 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x43, 0x0a, 0x11, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, - 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, - 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x14, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x49, 0x0a, - 0x14, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, - 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, - 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, - 0x12, 0x0e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x1a, 0x0e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x12, 0x23, 0x0a, 0x02, 0x50, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x50, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x50, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, - 0x74, 0x65, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, - 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x12, - 0x35, 0x0a, 0x08, 0x49, 0x66, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x15, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, 0x66, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, 0x66, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, - 0x74, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x74, - 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x02, 0x4c, 0x73, - 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x0c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x12, - 0x24, 0x0a, 0x02, 0x43, 0x64, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x43, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x50, 0x77, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x50, 0x77, 0x64, 0x12, 0x10, 0x2e, 0x73, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x0d, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x77, 0x64, 0x12, 0x23, 0x0a, - 0x02, 0x52, 0x6d, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, - 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x0c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x52, 0x6d, 0x12, 0x2c, 0x0a, 0x05, 0x4d, 0x6b, 0x64, 0x69, 0x72, 0x12, 0x12, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, 0x6b, 0x64, 0x69, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, 0x6b, 0x64, 0x69, 0x72, - 0x12, 0x35, 0x0a, 0x08, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x15, 0x2e, 0x73, - 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3e, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, - 0x71, 0x1a, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x05, 0x52, 0x75, 0x6e, 0x41, - 0x73, 0x12, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e, - 0x41, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, - 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x65, 0x72, - 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x52, 0x65, 0x76, 0x54, 0x6f, 0x53, - 0x65, 0x6c, 0x66, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, - 0x65, 0x76, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x76, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, - 0x12, 0x38, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x2e, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x54, 0x61, - 0x73, 0x6b, 0x12, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x03, 0x4d, 0x73, 0x66, 0x12, 0x10, 0x2e, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x53, 0x46, 0x52, 0x65, 0x71, 0x1a, 0x0f, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, - 0x34, 0x0a, 0x09, 0x4d, 0x73, 0x66, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x53, 0x46, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, - 0x41, 0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x12, 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x6d, - 0x62, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, - 0x79, 0x12, 0x32, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x14, 0x2e, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, - 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x53, 0x69, 0x64, 0x65, 0x6c, - 0x6f, 0x61, 0x64, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, - 0x69, 0x64, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, - 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x69, 0x64, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3b, - 0x0a, 0x08, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x44, 0x6c, 0x6c, 0x12, 0x1b, 0x2e, 0x73, 0x6c, 0x69, - 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x70, 0x61, 0x77, - 0x6e, 0x44, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x44, 0x6c, 0x6c, 0x12, 0x3b, 0x0a, 0x0a, 0x53, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, - 0x64, 0x50, 0x69, 0x70, 0x65, 0x73, 0x12, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, - 0x50, 0x69, 0x70, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x54, 0x43, 0x50, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x54, 0x43, 0x50, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x43, 0x50, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x12, - 0x39, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x73, 0x12, 0x16, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x2e, 0x73, 0x6c, 0x69, - 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0b, - 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0d, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, + 0x6c, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x44, 0x49, 0x12, 0x32, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x2f, 0x0a, + 0x08, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x73, 0x12, 0x2f, + 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x1a, 0x11, 0x2e, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, + 0x33, 0x0a, 0x0d, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, + 0x69, 0x74, 0x65, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x11, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x41, + 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x41, 0x64, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, + 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x14, 0x57, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x11, + 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x12, 0x49, 0x0a, 0x14, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x04, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, + 0x50, 0x69, 0x6e, 0x67, 0x1a, 0x0e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x02, 0x50, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0c, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x54, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x49, 0x66, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, 0x66, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x49, 0x66, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x07, 0x4e, 0x65, + 0x74, 0x73, 0x74, 0x61, 0x74, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x12, 0x23, + 0x0a, 0x02, 0x4c, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, + 0x4c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x4c, 0x73, 0x12, 0x24, 0x0a, 0x02, 0x43, 0x64, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x43, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x77, 0x64, 0x12, 0x26, 0x0a, 0x03, 0x50, 0x77, 0x64, + 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x77, 0x64, 0x52, + 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x77, + 0x64, 0x12, 0x23, 0x0a, 0x02, 0x52, 0x6d, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x52, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x0c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x70, 0x62, 0x2e, 0x52, 0x6d, 0x12, 0x2c, 0x0a, 0x05, 0x4d, 0x6b, 0x64, 0x69, 0x72, 0x12, + 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, 0x6b, 0x64, 0x69, 0x72, + 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, + 0x6b, 0x64, 0x69, 0x72, 0x12, 0x35, 0x0a, 0x08, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3e, 0x0a, 0x0b, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x18, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, + 0x6d, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x05, + 0x52, 0x75, 0x6e, 0x41, 0x73, 0x12, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x49, 0x6d, + 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, + 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x52, 0x65, + 0x76, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x52, 0x65, 0x76, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x1a, + 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x76, 0x54, 0x6f, + 0x53, 0x65, 0x6c, 0x66, 0x12, 0x38, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x29, + 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x03, 0x4d, 0x73, 0x66, + 0x12, 0x10, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x53, 0x46, 0x52, + 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x09, 0x4d, 0x73, 0x66, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x53, 0x46, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x0f, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x12, 0x1c, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, + 0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x73, 0x73, + 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x12, 0x3c, 0x0a, + 0x0c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x53, + 0x69, 0x64, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x53, 0x69, 0x64, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x12, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x69, 0x64, 0x65, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x44, 0x6c, 0x6c, 0x12, 0x1b, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, + 0x53, 0x70, 0x61, 0x77, 0x6e, 0x44, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x44, 0x6c, 0x6c, 0x12, + 0x3b, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x17, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x3b, 0x0a, 0x0a, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x73, 0x12, 0x17, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4e, + 0x61, 0x6d, 0x65, 0x64, 0x50, 0x69, 0x70, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x54, 0x43, 0x50, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x70, 0x62, 0x2e, 0x54, 0x43, 0x50, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x43, 0x50, 0x50, 0x69, + 0x76, 0x6f, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x76, 0x6f, 0x74, + 0x73, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, + 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x38, 0x0a, 0x09, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, - 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x06, 0x47, 0x65, - 0x74, 0x45, 0x6e, 0x76, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x45, 0x6e, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x06, 0x53, 0x65, 0x74, - 0x45, 0x6e, 0x76, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, - 0x65, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x35, 0x0a, 0x08, 0x55, 0x6e, - 0x73, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x45, 0x6e, - 0x76, 0x12, 0x35, 0x0a, 0x08, 0x42, 0x61, 0x63, 0x6b, 0x64, 0x6f, 0x6f, 0x72, 0x12, 0x15, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x64, 0x6f, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x42, 0x61, 0x63, 0x6b, 0x64, 0x6f, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x12, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x73, + 0x12, 0x3e, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x1a, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x09, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x6b, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, + 0x0a, 0x06, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, + 0x06, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x35, + 0x0a, 0x08, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, + 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x73, + 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x35, 0x0a, 0x08, 0x42, 0x61, 0x63, 0x6b, 0x64, 0x6f, 0x6f, + 0x72, 0x12, 0x15, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, + 0x6b, 0x64, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x64, 0x6f, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0c, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x12, 0x19, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x12, + 0x44, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x12, 0x1a, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x12, 0x50, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, - 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x12, 0x4e, 0x0a, 0x12, 0x57, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x73, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, - 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x57, 0x47, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x72, - 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x57, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, - 0x73, 0x12, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, - 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x73, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x53, 0x53, + 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x17, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x70, 0x62, 0x2e, 0x53, 0x53, 0x48, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, + 0x71, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x53, 0x48, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x4e, 0x0a, 0x12, 0x57, 0x47, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x57, 0x47, 0x53, 0x74, 0x6f, + 0x70, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x73, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x50, 0x6f, 0x72, 0x74, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x57, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, + 0x63, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x57, 0x47, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x63, + 0x6b, 0x73, 0x12, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, + 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, - 0x3a, 0x0a, 0x0b, 0x57, 0x47, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x18, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, - 0x73, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x57, - 0x47, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, - 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x12, 0x57, 0x47, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1b, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x12, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, - 0x65, 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x14, - 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, - 0x64, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, - 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x32, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x30, 0x0a, 0x0b, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, - 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x0f, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, - 0x0a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x2e, 0x73, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, - 0x61, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x28, 0x01, 0x30, 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, - 0x62, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, - 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4b, 0x0a, 0x10, 0x57, 0x47, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, + 0x47, 0x54, 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x19, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x54, + 0x43, 0x50, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x12, + 0x57, 0x47, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, + 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, + 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x53, 0x68, 0x65, + 0x6c, 0x6c, 0x12, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, + 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, + 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x77, 0x64, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, + 0x72, 0x74, 0x66, 0x77, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x32, 0x0a, 0x0c, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x10, 0x2e, + 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, + 0x30, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, + 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, + 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x28, 0x01, 0x30, 0x01, 0x12, + 0x2c, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, 0x2c, 0x5a, + 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x69, 0x73, 0x68, + 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var file_rpcpb_services_proto_goTypes = []interface{}{ @@ -450,49 +454,50 @@ var file_rpcpb_services_proto_goTypes = []interface{}{ (*clientpb.ImplantProfiles)(nil), // 87: clientpb.ImplantProfiles (*clientpb.MsfStager)(nil), // 88: clientpb.MsfStager (*clientpb.ShellcodeRDI)(nil), // 89: clientpb.ShellcodeRDI - (*clientpb.Websites)(nil), // 90: clientpb.Websites - (*sliverpb.Ps)(nil), // 91: sliverpb.Ps - (*sliverpb.Terminate)(nil), // 92: sliverpb.Terminate - (*sliverpb.Ifconfig)(nil), // 93: sliverpb.Ifconfig - (*sliverpb.Netstat)(nil), // 94: sliverpb.Netstat - (*sliverpb.Ls)(nil), // 95: sliverpb.Ls - (*sliverpb.Pwd)(nil), // 96: sliverpb.Pwd - (*sliverpb.Rm)(nil), // 97: sliverpb.Rm - (*sliverpb.Mkdir)(nil), // 98: sliverpb.Mkdir - (*sliverpb.Download)(nil), // 99: sliverpb.Download - (*sliverpb.Upload)(nil), // 100: sliverpb.Upload - (*sliverpb.ProcessDump)(nil), // 101: sliverpb.ProcessDump - (*sliverpb.RunAs)(nil), // 102: sliverpb.RunAs - (*sliverpb.Impersonate)(nil), // 103: sliverpb.Impersonate - (*sliverpb.RevToSelf)(nil), // 104: sliverpb.RevToSelf - (*sliverpb.GetSystem)(nil), // 105: sliverpb.GetSystem - (*sliverpb.Task)(nil), // 106: sliverpb.Task - (*sliverpb.ExecuteAssembly)(nil), // 107: sliverpb.ExecuteAssembly - (*sliverpb.Migrate)(nil), // 108: sliverpb.Migrate - (*sliverpb.Execute)(nil), // 109: sliverpb.Execute - (*sliverpb.Sideload)(nil), // 110: sliverpb.Sideload - (*sliverpb.SpawnDll)(nil), // 111: sliverpb.SpawnDll - (*sliverpb.Screenshot)(nil), // 112: sliverpb.Screenshot - (*sliverpb.NamedPipes)(nil), // 113: sliverpb.NamedPipes - (*sliverpb.TCPPivot)(nil), // 114: sliverpb.TCPPivot - (*sliverpb.PivotList)(nil), // 115: sliverpb.PivotList - (*sliverpb.ServiceInfo)(nil), // 116: sliverpb.ServiceInfo - (*sliverpb.MakeToken)(nil), // 117: sliverpb.MakeToken - (*sliverpb.EnvInfo)(nil), // 118: sliverpb.EnvInfo - (*sliverpb.SetEnv)(nil), // 119: sliverpb.SetEnv - (*sliverpb.UnsetEnv)(nil), // 120: sliverpb.UnsetEnv - (*sliverpb.Backdoor)(nil), // 121: sliverpb.Backdoor - (*sliverpb.RegistryRead)(nil), // 122: sliverpb.RegistryRead - (*sliverpb.RegistryWrite)(nil), // 123: sliverpb.RegistryWrite - (*sliverpb.RegistryCreateKey)(nil), // 124: sliverpb.RegistryCreateKey - (*sliverpb.SSHCommand)(nil), // 125: sliverpb.SSHCommand - (*sliverpb.WGPortForward)(nil), // 126: sliverpb.WGPortForward - (*sliverpb.WGSocks)(nil), // 127: sliverpb.WGSocks - (*sliverpb.WGTCPForwarders)(nil), // 128: sliverpb.WGTCPForwarders - (*sliverpb.WGSocksServers)(nil), // 129: sliverpb.WGSocksServers - (*sliverpb.Shell)(nil), // 130: sliverpb.Shell - (*sliverpb.Portfwd)(nil), // 131: sliverpb.Portfwd - (*clientpb.Event)(nil), // 132: clientpb.Event + (*clientpb.Compiler)(nil), // 90: clientpb.Compiler + (*clientpb.Websites)(nil), // 91: clientpb.Websites + (*sliverpb.Ps)(nil), // 92: sliverpb.Ps + (*sliverpb.Terminate)(nil), // 93: sliverpb.Terminate + (*sliverpb.Ifconfig)(nil), // 94: sliverpb.Ifconfig + (*sliverpb.Netstat)(nil), // 95: sliverpb.Netstat + (*sliverpb.Ls)(nil), // 96: sliverpb.Ls + (*sliverpb.Pwd)(nil), // 97: sliverpb.Pwd + (*sliverpb.Rm)(nil), // 98: sliverpb.Rm + (*sliverpb.Mkdir)(nil), // 99: sliverpb.Mkdir + (*sliverpb.Download)(nil), // 100: sliverpb.Download + (*sliverpb.Upload)(nil), // 101: sliverpb.Upload + (*sliverpb.ProcessDump)(nil), // 102: sliverpb.ProcessDump + (*sliverpb.RunAs)(nil), // 103: sliverpb.RunAs + (*sliverpb.Impersonate)(nil), // 104: sliverpb.Impersonate + (*sliverpb.RevToSelf)(nil), // 105: sliverpb.RevToSelf + (*sliverpb.GetSystem)(nil), // 106: sliverpb.GetSystem + (*sliverpb.Task)(nil), // 107: sliverpb.Task + (*sliverpb.ExecuteAssembly)(nil), // 108: sliverpb.ExecuteAssembly + (*sliverpb.Migrate)(nil), // 109: sliverpb.Migrate + (*sliverpb.Execute)(nil), // 110: sliverpb.Execute + (*sliverpb.Sideload)(nil), // 111: sliverpb.Sideload + (*sliverpb.SpawnDll)(nil), // 112: sliverpb.SpawnDll + (*sliverpb.Screenshot)(nil), // 113: sliverpb.Screenshot + (*sliverpb.NamedPipes)(nil), // 114: sliverpb.NamedPipes + (*sliverpb.TCPPivot)(nil), // 115: sliverpb.TCPPivot + (*sliverpb.PivotList)(nil), // 116: sliverpb.PivotList + (*sliverpb.ServiceInfo)(nil), // 117: sliverpb.ServiceInfo + (*sliverpb.MakeToken)(nil), // 118: sliverpb.MakeToken + (*sliverpb.EnvInfo)(nil), // 119: sliverpb.EnvInfo + (*sliverpb.SetEnv)(nil), // 120: sliverpb.SetEnv + (*sliverpb.UnsetEnv)(nil), // 121: sliverpb.UnsetEnv + (*sliverpb.Backdoor)(nil), // 122: sliverpb.Backdoor + (*sliverpb.RegistryRead)(nil), // 123: sliverpb.RegistryRead + (*sliverpb.RegistryWrite)(nil), // 124: sliverpb.RegistryWrite + (*sliverpb.RegistryCreateKey)(nil), // 125: sliverpb.RegistryCreateKey + (*sliverpb.SSHCommand)(nil), // 126: sliverpb.SSHCommand + (*sliverpb.WGPortForward)(nil), // 127: sliverpb.WGPortForward + (*sliverpb.WGSocks)(nil), // 128: sliverpb.WGSocks + (*sliverpb.WGTCPForwarders)(nil), // 129: sliverpb.WGTCPForwarders + (*sliverpb.WGSocksServers)(nil), // 130: sliverpb.WGSocksServers + (*sliverpb.Shell)(nil), // 131: sliverpb.Shell + (*sliverpb.Portfwd)(nil), // 132: sliverpb.Portfwd + (*clientpb.Event)(nil), // 133: clientpb.Event } var file_rpcpb_services_proto_depIdxs = []int32{ 0, // 0: rpcpb.SliverRPC.GetVersion:input_type -> commonpb.Empty @@ -523,156 +528,158 @@ var file_rpcpb_services_proto_depIdxs = []int32{ 12, // 25: rpcpb.SliverRPC.SaveImplantProfile:input_type -> clientpb.ImplantProfile 13, // 26: rpcpb.SliverRPC.MsfStage:input_type -> clientpb.MsfStagerReq 14, // 27: rpcpb.SliverRPC.ShellcodeRDI:input_type -> clientpb.ShellcodeRDIReq - 0, // 28: rpcpb.SliverRPC.Websites:input_type -> commonpb.Empty - 15, // 29: rpcpb.SliverRPC.Website:input_type -> clientpb.Website - 15, // 30: rpcpb.SliverRPC.WebsiteRemove:input_type -> clientpb.Website - 16, // 31: rpcpb.SliverRPC.WebsiteAddContent:input_type -> clientpb.WebsiteAddContent - 16, // 32: rpcpb.SliverRPC.WebsiteUpdateContent:input_type -> clientpb.WebsiteAddContent - 17, // 33: rpcpb.SliverRPC.WebsiteRemoveContent:input_type -> clientpb.WebsiteRemoveContent - 18, // 34: rpcpb.SliverRPC.Ping:input_type -> sliverpb.Ping - 19, // 35: rpcpb.SliverRPC.Ps:input_type -> sliverpb.PsReq - 20, // 36: rpcpb.SliverRPC.Terminate:input_type -> sliverpb.TerminateReq - 21, // 37: rpcpb.SliverRPC.Ifconfig:input_type -> sliverpb.IfconfigReq - 22, // 38: rpcpb.SliverRPC.Netstat:input_type -> sliverpb.NetstatReq - 23, // 39: rpcpb.SliverRPC.Ls:input_type -> sliverpb.LsReq - 24, // 40: rpcpb.SliverRPC.Cd:input_type -> sliverpb.CdReq - 25, // 41: rpcpb.SliverRPC.Pwd:input_type -> sliverpb.PwdReq - 26, // 42: rpcpb.SliverRPC.Rm:input_type -> sliverpb.RmReq - 27, // 43: rpcpb.SliverRPC.Mkdir:input_type -> sliverpb.MkdirReq - 28, // 44: rpcpb.SliverRPC.Download:input_type -> sliverpb.DownloadReq - 29, // 45: rpcpb.SliverRPC.Upload:input_type -> sliverpb.UploadReq - 30, // 46: rpcpb.SliverRPC.ProcessDump:input_type -> sliverpb.ProcessDumpReq - 31, // 47: rpcpb.SliverRPC.RunAs:input_type -> sliverpb.RunAsReq - 32, // 48: rpcpb.SliverRPC.Impersonate:input_type -> sliverpb.ImpersonateReq - 33, // 49: rpcpb.SliverRPC.RevToSelf:input_type -> sliverpb.RevToSelfReq - 34, // 50: rpcpb.SliverRPC.GetSystem:input_type -> clientpb.GetSystemReq - 35, // 51: rpcpb.SliverRPC.Task:input_type -> sliverpb.TaskReq - 36, // 52: rpcpb.SliverRPC.Msf:input_type -> clientpb.MSFReq - 37, // 53: rpcpb.SliverRPC.MsfRemote:input_type -> clientpb.MSFRemoteReq - 38, // 54: rpcpb.SliverRPC.ExecuteAssembly:input_type -> sliverpb.ExecuteAssemblyReq - 39, // 55: rpcpb.SliverRPC.Migrate:input_type -> clientpb.MigrateReq - 40, // 56: rpcpb.SliverRPC.Execute:input_type -> sliverpb.ExecuteReq - 41, // 57: rpcpb.SliverRPC.ExecuteToken:input_type -> sliverpb.ExecuteTokenReq - 42, // 58: rpcpb.SliverRPC.Sideload:input_type -> sliverpb.SideloadReq - 43, // 59: rpcpb.SliverRPC.SpawnDll:input_type -> sliverpb.InvokeSpawnDllReq - 44, // 60: rpcpb.SliverRPC.Screenshot:input_type -> sliverpb.ScreenshotReq - 45, // 61: rpcpb.SliverRPC.NamedPipes:input_type -> sliverpb.NamedPipesReq - 46, // 62: rpcpb.SliverRPC.TCPListener:input_type -> sliverpb.TCPPivotReq - 47, // 63: rpcpb.SliverRPC.ListPivots:input_type -> sliverpb.PivotListReq - 48, // 64: rpcpb.SliverRPC.StartService:input_type -> sliverpb.StartServiceReq - 49, // 65: rpcpb.SliverRPC.StopService:input_type -> sliverpb.StopServiceReq - 50, // 66: rpcpb.SliverRPC.RemoveService:input_type -> sliverpb.RemoveServiceReq - 51, // 67: rpcpb.SliverRPC.MakeToken:input_type -> sliverpb.MakeTokenReq - 52, // 68: rpcpb.SliverRPC.GetEnv:input_type -> sliverpb.EnvReq - 53, // 69: rpcpb.SliverRPC.SetEnv:input_type -> sliverpb.SetEnvReq - 54, // 70: rpcpb.SliverRPC.UnsetEnv:input_type -> sliverpb.UnsetEnvReq - 55, // 71: rpcpb.SliverRPC.Backdoor:input_type -> sliverpb.BackdoorReq - 56, // 72: rpcpb.SliverRPC.RegistryRead:input_type -> sliverpb.RegistryReadReq - 57, // 73: rpcpb.SliverRPC.RegistryWrite:input_type -> sliverpb.RegistryWriteReq - 58, // 74: rpcpb.SliverRPC.RegistryCreateKey:input_type -> sliverpb.RegistryCreateKeyReq - 59, // 75: rpcpb.SliverRPC.RunSSHCommand:input_type -> sliverpb.SSHCommandReq - 60, // 76: rpcpb.SliverRPC.WGStartPortForward:input_type -> sliverpb.WGPortForwardStartReq - 61, // 77: rpcpb.SliverRPC.WGStopPortForward:input_type -> sliverpb.WGPortForwardStopReq - 62, // 78: rpcpb.SliverRPC.WGStartSocks:input_type -> sliverpb.WGSocksStartReq - 63, // 79: rpcpb.SliverRPC.WGStopSocks:input_type -> sliverpb.WGSocksStopReq - 64, // 80: rpcpb.SliverRPC.WGListForwarders:input_type -> sliverpb.WGTCPForwardersReq - 65, // 81: rpcpb.SliverRPC.WGListSocksServers:input_type -> sliverpb.WGSocksServersReq - 66, // 82: rpcpb.SliverRPC.Shell:input_type -> sliverpb.ShellReq - 67, // 83: rpcpb.SliverRPC.Portfwd:input_type -> sliverpb.PortfwdReq - 68, // 84: rpcpb.SliverRPC.CreateTunnel:input_type -> sliverpb.Tunnel - 68, // 85: rpcpb.SliverRPC.CloseTunnel:input_type -> sliverpb.Tunnel - 69, // 86: rpcpb.SliverRPC.TunnelData:input_type -> sliverpb.TunnelData - 0, // 87: rpcpb.SliverRPC.Events:input_type -> commonpb.Empty - 70, // 88: rpcpb.SliverRPC.GetVersion:output_type -> clientpb.Version - 71, // 89: rpcpb.SliverRPC.GetOperators:output_type -> clientpb.Operators - 72, // 90: rpcpb.SliverRPC.GetSessions:output_type -> clientpb.Sessions - 0, // 91: rpcpb.SliverRPC.KillSession:output_type -> commonpb.Empty - 73, // 92: rpcpb.SliverRPC.UpdateSession:output_type -> clientpb.Session - 74, // 93: rpcpb.SliverRPC.MonitorStart:output_type -> commonpb.Response - 0, // 94: rpcpb.SliverRPC.MonitorStop:output_type -> commonpb.Empty - 75, // 95: rpcpb.SliverRPC.GetJobs:output_type -> clientpb.Jobs - 76, // 96: rpcpb.SliverRPC.KillJob:output_type -> clientpb.KillJob - 77, // 97: rpcpb.SliverRPC.StartMTLSListener:output_type -> clientpb.MTLSListener - 78, // 98: rpcpb.SliverRPC.StartWGListener:output_type -> clientpb.WGListener - 79, // 99: rpcpb.SliverRPC.StartDNSListener:output_type -> clientpb.DNSListener - 80, // 100: rpcpb.SliverRPC.StartHTTPSListener:output_type -> clientpb.HTTPListener - 80, // 101: rpcpb.SliverRPC.StartHTTPListener:output_type -> clientpb.HTTPListener - 81, // 102: rpcpb.SliverRPC.StartTCPStagerListener:output_type -> clientpb.StagerListener - 81, // 103: rpcpb.SliverRPC.StartHTTPStagerListener:output_type -> clientpb.StagerListener - 82, // 104: rpcpb.SliverRPC.Generate:output_type -> clientpb.Generate - 82, // 105: rpcpb.SliverRPC.Regenerate:output_type -> clientpb.Generate - 83, // 106: rpcpb.SliverRPC.ImplantBuilds:output_type -> clientpb.ImplantBuilds - 0, // 107: rpcpb.SliverRPC.DeleteImplantBuild:output_type -> commonpb.Empty - 84, // 108: rpcpb.SliverRPC.Canaries:output_type -> clientpb.Canaries - 85, // 109: rpcpb.SliverRPC.GenerateWGClientConfig:output_type -> clientpb.WGClientConfig - 86, // 110: rpcpb.SliverRPC.GenerateUniqueIP:output_type -> clientpb.UniqueWGIP - 87, // 111: rpcpb.SliverRPC.ImplantProfiles:output_type -> clientpb.ImplantProfiles - 0, // 112: rpcpb.SliverRPC.DeleteImplantProfile:output_type -> commonpb.Empty - 12, // 113: rpcpb.SliverRPC.SaveImplantProfile:output_type -> clientpb.ImplantProfile - 88, // 114: rpcpb.SliverRPC.MsfStage:output_type -> clientpb.MsfStager - 89, // 115: rpcpb.SliverRPC.ShellcodeRDI:output_type -> clientpb.ShellcodeRDI - 90, // 116: rpcpb.SliverRPC.Websites:output_type -> clientpb.Websites - 15, // 117: rpcpb.SliverRPC.Website:output_type -> clientpb.Website - 0, // 118: rpcpb.SliverRPC.WebsiteRemove:output_type -> commonpb.Empty - 15, // 119: rpcpb.SliverRPC.WebsiteAddContent:output_type -> clientpb.Website - 15, // 120: rpcpb.SliverRPC.WebsiteUpdateContent:output_type -> clientpb.Website - 15, // 121: rpcpb.SliverRPC.WebsiteRemoveContent:output_type -> clientpb.Website - 18, // 122: rpcpb.SliverRPC.Ping:output_type -> sliverpb.Ping - 91, // 123: rpcpb.SliverRPC.Ps:output_type -> sliverpb.Ps - 92, // 124: rpcpb.SliverRPC.Terminate:output_type -> sliverpb.Terminate - 93, // 125: rpcpb.SliverRPC.Ifconfig:output_type -> sliverpb.Ifconfig - 94, // 126: rpcpb.SliverRPC.Netstat:output_type -> sliverpb.Netstat - 95, // 127: rpcpb.SliverRPC.Ls:output_type -> sliverpb.Ls - 96, // 128: rpcpb.SliverRPC.Cd:output_type -> sliverpb.Pwd - 96, // 129: rpcpb.SliverRPC.Pwd:output_type -> sliverpb.Pwd - 97, // 130: rpcpb.SliverRPC.Rm:output_type -> sliverpb.Rm - 98, // 131: rpcpb.SliverRPC.Mkdir:output_type -> sliverpb.Mkdir - 99, // 132: rpcpb.SliverRPC.Download:output_type -> sliverpb.Download - 100, // 133: rpcpb.SliverRPC.Upload:output_type -> sliverpb.Upload - 101, // 134: rpcpb.SliverRPC.ProcessDump:output_type -> sliverpb.ProcessDump - 102, // 135: rpcpb.SliverRPC.RunAs:output_type -> sliverpb.RunAs - 103, // 136: rpcpb.SliverRPC.Impersonate:output_type -> sliverpb.Impersonate - 104, // 137: rpcpb.SliverRPC.RevToSelf:output_type -> sliverpb.RevToSelf - 105, // 138: rpcpb.SliverRPC.GetSystem:output_type -> sliverpb.GetSystem - 106, // 139: rpcpb.SliverRPC.Task:output_type -> sliverpb.Task - 0, // 140: rpcpb.SliverRPC.Msf:output_type -> commonpb.Empty - 0, // 141: rpcpb.SliverRPC.MsfRemote:output_type -> commonpb.Empty - 107, // 142: rpcpb.SliverRPC.ExecuteAssembly:output_type -> sliverpb.ExecuteAssembly - 108, // 143: rpcpb.SliverRPC.Migrate:output_type -> sliverpb.Migrate - 109, // 144: rpcpb.SliverRPC.Execute:output_type -> sliverpb.Execute - 109, // 145: rpcpb.SliverRPC.ExecuteToken:output_type -> sliverpb.Execute - 110, // 146: rpcpb.SliverRPC.Sideload:output_type -> sliverpb.Sideload - 111, // 147: rpcpb.SliverRPC.SpawnDll:output_type -> sliverpb.SpawnDll - 112, // 148: rpcpb.SliverRPC.Screenshot:output_type -> sliverpb.Screenshot - 113, // 149: rpcpb.SliverRPC.NamedPipes:output_type -> sliverpb.NamedPipes - 114, // 150: rpcpb.SliverRPC.TCPListener:output_type -> sliverpb.TCPPivot - 115, // 151: rpcpb.SliverRPC.ListPivots:output_type -> sliverpb.PivotList - 116, // 152: rpcpb.SliverRPC.StartService:output_type -> sliverpb.ServiceInfo - 116, // 153: rpcpb.SliverRPC.StopService:output_type -> sliverpb.ServiceInfo - 116, // 154: rpcpb.SliverRPC.RemoveService:output_type -> sliverpb.ServiceInfo - 117, // 155: rpcpb.SliverRPC.MakeToken:output_type -> sliverpb.MakeToken - 118, // 156: rpcpb.SliverRPC.GetEnv:output_type -> sliverpb.EnvInfo - 119, // 157: rpcpb.SliverRPC.SetEnv:output_type -> sliverpb.SetEnv - 120, // 158: rpcpb.SliverRPC.UnsetEnv:output_type -> sliverpb.UnsetEnv - 121, // 159: rpcpb.SliverRPC.Backdoor:output_type -> sliverpb.Backdoor - 122, // 160: rpcpb.SliverRPC.RegistryRead:output_type -> sliverpb.RegistryRead - 123, // 161: rpcpb.SliverRPC.RegistryWrite:output_type -> sliverpb.RegistryWrite - 124, // 162: rpcpb.SliverRPC.RegistryCreateKey:output_type -> sliverpb.RegistryCreateKey - 125, // 163: rpcpb.SliverRPC.RunSSHCommand:output_type -> sliverpb.SSHCommand - 126, // 164: rpcpb.SliverRPC.WGStartPortForward:output_type -> sliverpb.WGPortForward - 126, // 165: rpcpb.SliverRPC.WGStopPortForward:output_type -> sliverpb.WGPortForward - 127, // 166: rpcpb.SliverRPC.WGStartSocks:output_type -> sliverpb.WGSocks - 127, // 167: rpcpb.SliverRPC.WGStopSocks:output_type -> sliverpb.WGSocks - 128, // 168: rpcpb.SliverRPC.WGListForwarders:output_type -> sliverpb.WGTCPForwarders - 129, // 169: rpcpb.SliverRPC.WGListSocksServers:output_type -> sliverpb.WGSocksServers - 130, // 170: rpcpb.SliverRPC.Shell:output_type -> sliverpb.Shell - 131, // 171: rpcpb.SliverRPC.Portfwd:output_type -> sliverpb.Portfwd - 68, // 172: rpcpb.SliverRPC.CreateTunnel:output_type -> sliverpb.Tunnel - 0, // 173: rpcpb.SliverRPC.CloseTunnel:output_type -> commonpb.Empty - 69, // 174: rpcpb.SliverRPC.TunnelData:output_type -> sliverpb.TunnelData - 132, // 175: rpcpb.SliverRPC.Events:output_type -> clientpb.Event - 88, // [88:176] is the sub-list for method output_type - 0, // [0:88] is the sub-list for method input_type + 0, // 28: rpcpb.SliverRPC.GetCompiler:input_type -> commonpb.Empty + 0, // 29: rpcpb.SliverRPC.Websites:input_type -> commonpb.Empty + 15, // 30: rpcpb.SliverRPC.Website:input_type -> clientpb.Website + 15, // 31: rpcpb.SliverRPC.WebsiteRemove:input_type -> clientpb.Website + 16, // 32: rpcpb.SliverRPC.WebsiteAddContent:input_type -> clientpb.WebsiteAddContent + 16, // 33: rpcpb.SliverRPC.WebsiteUpdateContent:input_type -> clientpb.WebsiteAddContent + 17, // 34: rpcpb.SliverRPC.WebsiteRemoveContent:input_type -> clientpb.WebsiteRemoveContent + 18, // 35: rpcpb.SliverRPC.Ping:input_type -> sliverpb.Ping + 19, // 36: rpcpb.SliverRPC.Ps:input_type -> sliverpb.PsReq + 20, // 37: rpcpb.SliverRPC.Terminate:input_type -> sliverpb.TerminateReq + 21, // 38: rpcpb.SliverRPC.Ifconfig:input_type -> sliverpb.IfconfigReq + 22, // 39: rpcpb.SliverRPC.Netstat:input_type -> sliverpb.NetstatReq + 23, // 40: rpcpb.SliverRPC.Ls:input_type -> sliverpb.LsReq + 24, // 41: rpcpb.SliverRPC.Cd:input_type -> sliverpb.CdReq + 25, // 42: rpcpb.SliverRPC.Pwd:input_type -> sliverpb.PwdReq + 26, // 43: rpcpb.SliverRPC.Rm:input_type -> sliverpb.RmReq + 27, // 44: rpcpb.SliverRPC.Mkdir:input_type -> sliverpb.MkdirReq + 28, // 45: rpcpb.SliverRPC.Download:input_type -> sliverpb.DownloadReq + 29, // 46: rpcpb.SliverRPC.Upload:input_type -> sliverpb.UploadReq + 30, // 47: rpcpb.SliverRPC.ProcessDump:input_type -> sliverpb.ProcessDumpReq + 31, // 48: rpcpb.SliverRPC.RunAs:input_type -> sliverpb.RunAsReq + 32, // 49: rpcpb.SliverRPC.Impersonate:input_type -> sliverpb.ImpersonateReq + 33, // 50: rpcpb.SliverRPC.RevToSelf:input_type -> sliverpb.RevToSelfReq + 34, // 51: rpcpb.SliverRPC.GetSystem:input_type -> clientpb.GetSystemReq + 35, // 52: rpcpb.SliverRPC.Task:input_type -> sliverpb.TaskReq + 36, // 53: rpcpb.SliverRPC.Msf:input_type -> clientpb.MSFReq + 37, // 54: rpcpb.SliverRPC.MsfRemote:input_type -> clientpb.MSFRemoteReq + 38, // 55: rpcpb.SliverRPC.ExecuteAssembly:input_type -> sliverpb.ExecuteAssemblyReq + 39, // 56: rpcpb.SliverRPC.Migrate:input_type -> clientpb.MigrateReq + 40, // 57: rpcpb.SliverRPC.Execute:input_type -> sliverpb.ExecuteReq + 41, // 58: rpcpb.SliverRPC.ExecuteToken:input_type -> sliverpb.ExecuteTokenReq + 42, // 59: rpcpb.SliverRPC.Sideload:input_type -> sliverpb.SideloadReq + 43, // 60: rpcpb.SliverRPC.SpawnDll:input_type -> sliverpb.InvokeSpawnDllReq + 44, // 61: rpcpb.SliverRPC.Screenshot:input_type -> sliverpb.ScreenshotReq + 45, // 62: rpcpb.SliverRPC.NamedPipes:input_type -> sliverpb.NamedPipesReq + 46, // 63: rpcpb.SliverRPC.TCPListener:input_type -> sliverpb.TCPPivotReq + 47, // 64: rpcpb.SliverRPC.ListPivots:input_type -> sliverpb.PivotListReq + 48, // 65: rpcpb.SliverRPC.StartService:input_type -> sliverpb.StartServiceReq + 49, // 66: rpcpb.SliverRPC.StopService:input_type -> sliverpb.StopServiceReq + 50, // 67: rpcpb.SliverRPC.RemoveService:input_type -> sliverpb.RemoveServiceReq + 51, // 68: rpcpb.SliverRPC.MakeToken:input_type -> sliverpb.MakeTokenReq + 52, // 69: rpcpb.SliverRPC.GetEnv:input_type -> sliverpb.EnvReq + 53, // 70: rpcpb.SliverRPC.SetEnv:input_type -> sliverpb.SetEnvReq + 54, // 71: rpcpb.SliverRPC.UnsetEnv:input_type -> sliverpb.UnsetEnvReq + 55, // 72: rpcpb.SliverRPC.Backdoor:input_type -> sliverpb.BackdoorReq + 56, // 73: rpcpb.SliverRPC.RegistryRead:input_type -> sliverpb.RegistryReadReq + 57, // 74: rpcpb.SliverRPC.RegistryWrite:input_type -> sliverpb.RegistryWriteReq + 58, // 75: rpcpb.SliverRPC.RegistryCreateKey:input_type -> sliverpb.RegistryCreateKeyReq + 59, // 76: rpcpb.SliverRPC.RunSSHCommand:input_type -> sliverpb.SSHCommandReq + 60, // 77: rpcpb.SliverRPC.WGStartPortForward:input_type -> sliverpb.WGPortForwardStartReq + 61, // 78: rpcpb.SliverRPC.WGStopPortForward:input_type -> sliverpb.WGPortForwardStopReq + 62, // 79: rpcpb.SliverRPC.WGStartSocks:input_type -> sliverpb.WGSocksStartReq + 63, // 80: rpcpb.SliverRPC.WGStopSocks:input_type -> sliverpb.WGSocksStopReq + 64, // 81: rpcpb.SliverRPC.WGListForwarders:input_type -> sliverpb.WGTCPForwardersReq + 65, // 82: rpcpb.SliverRPC.WGListSocksServers:input_type -> sliverpb.WGSocksServersReq + 66, // 83: rpcpb.SliverRPC.Shell:input_type -> sliverpb.ShellReq + 67, // 84: rpcpb.SliverRPC.Portfwd:input_type -> sliverpb.PortfwdReq + 68, // 85: rpcpb.SliverRPC.CreateTunnel:input_type -> sliverpb.Tunnel + 68, // 86: rpcpb.SliverRPC.CloseTunnel:input_type -> sliverpb.Tunnel + 69, // 87: rpcpb.SliverRPC.TunnelData:input_type -> sliverpb.TunnelData + 0, // 88: rpcpb.SliverRPC.Events:input_type -> commonpb.Empty + 70, // 89: rpcpb.SliverRPC.GetVersion:output_type -> clientpb.Version + 71, // 90: rpcpb.SliverRPC.GetOperators:output_type -> clientpb.Operators + 72, // 91: rpcpb.SliverRPC.GetSessions:output_type -> clientpb.Sessions + 0, // 92: rpcpb.SliverRPC.KillSession:output_type -> commonpb.Empty + 73, // 93: rpcpb.SliverRPC.UpdateSession:output_type -> clientpb.Session + 74, // 94: rpcpb.SliverRPC.MonitorStart:output_type -> commonpb.Response + 0, // 95: rpcpb.SliverRPC.MonitorStop:output_type -> commonpb.Empty + 75, // 96: rpcpb.SliverRPC.GetJobs:output_type -> clientpb.Jobs + 76, // 97: rpcpb.SliverRPC.KillJob:output_type -> clientpb.KillJob + 77, // 98: rpcpb.SliverRPC.StartMTLSListener:output_type -> clientpb.MTLSListener + 78, // 99: rpcpb.SliverRPC.StartWGListener:output_type -> clientpb.WGListener + 79, // 100: rpcpb.SliverRPC.StartDNSListener:output_type -> clientpb.DNSListener + 80, // 101: rpcpb.SliverRPC.StartHTTPSListener:output_type -> clientpb.HTTPListener + 80, // 102: rpcpb.SliverRPC.StartHTTPListener:output_type -> clientpb.HTTPListener + 81, // 103: rpcpb.SliverRPC.StartTCPStagerListener:output_type -> clientpb.StagerListener + 81, // 104: rpcpb.SliverRPC.StartHTTPStagerListener:output_type -> clientpb.StagerListener + 82, // 105: rpcpb.SliverRPC.Generate:output_type -> clientpb.Generate + 82, // 106: rpcpb.SliverRPC.Regenerate:output_type -> clientpb.Generate + 83, // 107: rpcpb.SliverRPC.ImplantBuilds:output_type -> clientpb.ImplantBuilds + 0, // 108: rpcpb.SliverRPC.DeleteImplantBuild:output_type -> commonpb.Empty + 84, // 109: rpcpb.SliverRPC.Canaries:output_type -> clientpb.Canaries + 85, // 110: rpcpb.SliverRPC.GenerateWGClientConfig:output_type -> clientpb.WGClientConfig + 86, // 111: rpcpb.SliverRPC.GenerateUniqueIP:output_type -> clientpb.UniqueWGIP + 87, // 112: rpcpb.SliverRPC.ImplantProfiles:output_type -> clientpb.ImplantProfiles + 0, // 113: rpcpb.SliverRPC.DeleteImplantProfile:output_type -> commonpb.Empty + 12, // 114: rpcpb.SliverRPC.SaveImplantProfile:output_type -> clientpb.ImplantProfile + 88, // 115: rpcpb.SliverRPC.MsfStage:output_type -> clientpb.MsfStager + 89, // 116: rpcpb.SliverRPC.ShellcodeRDI:output_type -> clientpb.ShellcodeRDI + 90, // 117: rpcpb.SliverRPC.GetCompiler:output_type -> clientpb.Compiler + 91, // 118: rpcpb.SliverRPC.Websites:output_type -> clientpb.Websites + 15, // 119: rpcpb.SliverRPC.Website:output_type -> clientpb.Website + 0, // 120: rpcpb.SliverRPC.WebsiteRemove:output_type -> commonpb.Empty + 15, // 121: rpcpb.SliverRPC.WebsiteAddContent:output_type -> clientpb.Website + 15, // 122: rpcpb.SliverRPC.WebsiteUpdateContent:output_type -> clientpb.Website + 15, // 123: rpcpb.SliverRPC.WebsiteRemoveContent:output_type -> clientpb.Website + 18, // 124: rpcpb.SliverRPC.Ping:output_type -> sliverpb.Ping + 92, // 125: rpcpb.SliverRPC.Ps:output_type -> sliverpb.Ps + 93, // 126: rpcpb.SliverRPC.Terminate:output_type -> sliverpb.Terminate + 94, // 127: rpcpb.SliverRPC.Ifconfig:output_type -> sliverpb.Ifconfig + 95, // 128: rpcpb.SliverRPC.Netstat:output_type -> sliverpb.Netstat + 96, // 129: rpcpb.SliverRPC.Ls:output_type -> sliverpb.Ls + 97, // 130: rpcpb.SliverRPC.Cd:output_type -> sliverpb.Pwd + 97, // 131: rpcpb.SliverRPC.Pwd:output_type -> sliverpb.Pwd + 98, // 132: rpcpb.SliverRPC.Rm:output_type -> sliverpb.Rm + 99, // 133: rpcpb.SliverRPC.Mkdir:output_type -> sliverpb.Mkdir + 100, // 134: rpcpb.SliverRPC.Download:output_type -> sliverpb.Download + 101, // 135: rpcpb.SliverRPC.Upload:output_type -> sliverpb.Upload + 102, // 136: rpcpb.SliverRPC.ProcessDump:output_type -> sliverpb.ProcessDump + 103, // 137: rpcpb.SliverRPC.RunAs:output_type -> sliverpb.RunAs + 104, // 138: rpcpb.SliverRPC.Impersonate:output_type -> sliverpb.Impersonate + 105, // 139: rpcpb.SliverRPC.RevToSelf:output_type -> sliverpb.RevToSelf + 106, // 140: rpcpb.SliverRPC.GetSystem:output_type -> sliverpb.GetSystem + 107, // 141: rpcpb.SliverRPC.Task:output_type -> sliverpb.Task + 0, // 142: rpcpb.SliverRPC.Msf:output_type -> commonpb.Empty + 0, // 143: rpcpb.SliverRPC.MsfRemote:output_type -> commonpb.Empty + 108, // 144: rpcpb.SliverRPC.ExecuteAssembly:output_type -> sliverpb.ExecuteAssembly + 109, // 145: rpcpb.SliverRPC.Migrate:output_type -> sliverpb.Migrate + 110, // 146: rpcpb.SliverRPC.Execute:output_type -> sliverpb.Execute + 110, // 147: rpcpb.SliverRPC.ExecuteToken:output_type -> sliverpb.Execute + 111, // 148: rpcpb.SliverRPC.Sideload:output_type -> sliverpb.Sideload + 112, // 149: rpcpb.SliverRPC.SpawnDll:output_type -> sliverpb.SpawnDll + 113, // 150: rpcpb.SliverRPC.Screenshot:output_type -> sliverpb.Screenshot + 114, // 151: rpcpb.SliverRPC.NamedPipes:output_type -> sliverpb.NamedPipes + 115, // 152: rpcpb.SliverRPC.TCPListener:output_type -> sliverpb.TCPPivot + 116, // 153: rpcpb.SliverRPC.ListPivots:output_type -> sliverpb.PivotList + 117, // 154: rpcpb.SliverRPC.StartService:output_type -> sliverpb.ServiceInfo + 117, // 155: rpcpb.SliverRPC.StopService:output_type -> sliverpb.ServiceInfo + 117, // 156: rpcpb.SliverRPC.RemoveService:output_type -> sliverpb.ServiceInfo + 118, // 157: rpcpb.SliverRPC.MakeToken:output_type -> sliverpb.MakeToken + 119, // 158: rpcpb.SliverRPC.GetEnv:output_type -> sliverpb.EnvInfo + 120, // 159: rpcpb.SliverRPC.SetEnv:output_type -> sliverpb.SetEnv + 121, // 160: rpcpb.SliverRPC.UnsetEnv:output_type -> sliverpb.UnsetEnv + 122, // 161: rpcpb.SliverRPC.Backdoor:output_type -> sliverpb.Backdoor + 123, // 162: rpcpb.SliverRPC.RegistryRead:output_type -> sliverpb.RegistryRead + 124, // 163: rpcpb.SliverRPC.RegistryWrite:output_type -> sliverpb.RegistryWrite + 125, // 164: rpcpb.SliverRPC.RegistryCreateKey:output_type -> sliverpb.RegistryCreateKey + 126, // 165: rpcpb.SliverRPC.RunSSHCommand:output_type -> sliverpb.SSHCommand + 127, // 166: rpcpb.SliverRPC.WGStartPortForward:output_type -> sliverpb.WGPortForward + 127, // 167: rpcpb.SliverRPC.WGStopPortForward:output_type -> sliverpb.WGPortForward + 128, // 168: rpcpb.SliverRPC.WGStartSocks:output_type -> sliverpb.WGSocks + 128, // 169: rpcpb.SliverRPC.WGStopSocks:output_type -> sliverpb.WGSocks + 129, // 170: rpcpb.SliverRPC.WGListForwarders:output_type -> sliverpb.WGTCPForwarders + 130, // 171: rpcpb.SliverRPC.WGListSocksServers:output_type -> sliverpb.WGSocksServers + 131, // 172: rpcpb.SliverRPC.Shell:output_type -> sliverpb.Shell + 132, // 173: rpcpb.SliverRPC.Portfwd:output_type -> sliverpb.Portfwd + 68, // 174: rpcpb.SliverRPC.CreateTunnel:output_type -> sliverpb.Tunnel + 0, // 175: rpcpb.SliverRPC.CloseTunnel:output_type -> commonpb.Empty + 69, // 176: rpcpb.SliverRPC.TunnelData:output_type -> sliverpb.TunnelData + 133, // 177: rpcpb.SliverRPC.Events:output_type -> clientpb.Event + 89, // [89:178] is the sub-list for method output_type + 0, // [0:89] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/protobuf/rpcpb/services.proto b/protobuf/rpcpb/services.proto index fb8023c3b3..98b10e2bde 100644 --- a/protobuf/rpcpb/services.proto +++ b/protobuf/rpcpb/services.proto @@ -52,6 +52,7 @@ service SliverRPC { rpc SaveImplantProfile(clientpb.ImplantProfile) returns (clientpb.ImplantProfile); rpc MsfStage(clientpb.MsfStagerReq) returns (clientpb.MsfStager); rpc ShellcodeRDI(clientpb.ShellcodeRDIReq) returns (clientpb.ShellcodeRDI); + rpc GetCompiler(commonpb.Empty) returns (clientpb.Compiler); // *** Websites *** rpc Websites(commonpb.Empty) returns (clientpb.Websites); diff --git a/protobuf/rpcpb/services_grpc.pb.go b/protobuf/rpcpb/services_grpc.pb.go index aa5aec2616..642767a1e1 100644 --- a/protobuf/rpcpb/services_grpc.pb.go +++ b/protobuf/rpcpb/services_grpc.pb.go @@ -57,6 +57,7 @@ type SliverRPCClient interface { SaveImplantProfile(ctx context.Context, in *clientpb.ImplantProfile, opts ...grpc.CallOption) (*clientpb.ImplantProfile, error) MsfStage(ctx context.Context, in *clientpb.MsfStagerReq, opts ...grpc.CallOption) (*clientpb.MsfStager, error) ShellcodeRDI(ctx context.Context, in *clientpb.ShellcodeRDIReq, opts ...grpc.CallOption) (*clientpb.ShellcodeRDI, error) + GetCompiler(ctx context.Context, in *commonpb.Empty, opts ...grpc.CallOption) (*clientpb.Compiler, error) // *** Websites *** Websites(ctx context.Context, in *commonpb.Empty, opts ...grpc.CallOption) (*clientpb.Websites, error) Website(ctx context.Context, in *clientpb.Website, opts ...grpc.CallOption) (*clientpb.Website, error) @@ -385,6 +386,15 @@ func (c *sliverRPCClient) ShellcodeRDI(ctx context.Context, in *clientpb.Shellco return out, nil } +func (c *sliverRPCClient) GetCompiler(ctx context.Context, in *commonpb.Empty, opts ...grpc.CallOption) (*clientpb.Compiler, error) { + out := new(clientpb.Compiler) + err := c.cc.Invoke(ctx, "/rpcpb.SliverRPC/GetCompiler", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *sliverRPCClient) Websites(ctx context.Context, in *commonpb.Empty, opts ...grpc.CallOption) (*clientpb.Websites, error) { out := new(clientpb.Websites) err := c.cc.Invoke(ctx, "/rpcpb.SliverRPC/Websites", in, out, opts...) @@ -1010,6 +1020,7 @@ type SliverRPCServer interface { SaveImplantProfile(context.Context, *clientpb.ImplantProfile) (*clientpb.ImplantProfile, error) MsfStage(context.Context, *clientpb.MsfStagerReq) (*clientpb.MsfStager, error) ShellcodeRDI(context.Context, *clientpb.ShellcodeRDIReq) (*clientpb.ShellcodeRDI, error) + GetCompiler(context.Context, *commonpb.Empty) (*clientpb.Compiler, error) // *** Websites *** Websites(context.Context, *commonpb.Empty) (*clientpb.Websites, error) Website(context.Context, *clientpb.Website) (*clientpb.Website, error) @@ -1167,6 +1178,9 @@ func (UnimplementedSliverRPCServer) MsfStage(context.Context, *clientpb.MsfStage func (UnimplementedSliverRPCServer) ShellcodeRDI(context.Context, *clientpb.ShellcodeRDIReq) (*clientpb.ShellcodeRDI, error) { return nil, status.Errorf(codes.Unimplemented, "method ShellcodeRDI not implemented") } +func (UnimplementedSliverRPCServer) GetCompiler(context.Context, *commonpb.Empty) (*clientpb.Compiler, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCompiler not implemented") +} func (UnimplementedSliverRPCServer) Websites(context.Context, *commonpb.Empty) (*clientpb.Websites, error) { return nil, status.Errorf(codes.Unimplemented, "method Websites not implemented") } @@ -1864,6 +1878,24 @@ func _SliverRPC_ShellcodeRDI_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _SliverRPC_GetCompiler_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(commonpb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SliverRPCServer).GetCompiler(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/rpcpb.SliverRPC/GetCompiler", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SliverRPCServer).GetCompiler(ctx, req.(*commonpb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + func _SliverRPC_Websites_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(commonpb.Empty) if err := dec(in); err != nil { @@ -3074,6 +3106,10 @@ var SliverRPC_ServiceDesc = grpc.ServiceDesc{ MethodName: "ShellcodeRDI", Handler: _SliverRPC_ShellcodeRDI_Handler, }, + { + MethodName: "GetCompiler", + Handler: _SliverRPC_GetCompiler_Handler, + }, { MethodName: "Websites", Handler: _SliverRPC_Websites_Handler, diff --git a/protobuf/sliverpb/sliver.pb.go b/protobuf/sliverpb/sliver.pb.go index 3af6f26574..26ce18b898 100644 --- a/protobuf/sliverpb/sliver.pb.go +++ b/protobuf/sliverpb/sliver.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.15.8 +// protoc v3.17.3 // source: sliverpb/sliver.proto package sliverpb diff --git a/server/db/models/implant.go b/server/db/models/implant.go index 45726deb81..2cc194881f 100644 --- a/server/db/models/implant.go +++ b/server/db/models/implant.go @@ -104,7 +104,7 @@ type ImplantConfig struct { LimitFileExists string // Output Format - Format clientpb.ImplantConfig_OutputFormat + Format clientpb.OutputFormat // For IsSharedLib bool IsSharedLib bool diff --git a/server/generate/binaries.go b/server/generate/binaries.go index 61d90a0feb..09b8cf725c 100644 --- a/server/generate/binaries.go +++ b/server/generate/binaries.go @@ -310,7 +310,7 @@ func SliverShellcode(name string, config *models.ImplantConfig) (string, error) if err != nil { return "", err } - config.Format = clientpb.ImplantConfig_SHELLCODE + config.Format = clientpb.OutputFormat_SHELLCODE // Save to database saveBuildErr := ImplantBuildSave(name, config, dest) if saveBuildErr != nil { diff --git a/server/generate/binaries_test.go b/server/generate/binaries_test.go index ab20ac0af9..b02e96d14a 100644 --- a/server/generate/binaries_test.go +++ b/server/generate/binaries_test.go @@ -218,7 +218,7 @@ func multiWindowsService(t *testing.T, goos string, goarch string, debug bool) { config := &models.ImplantConfig{ GOOS: goos, GOARCH: goarch, - Format: clientpb.ImplantConfig_SERVICE, + Format: clientpb.OutputFormat_SERVICE, C2: []models.ImplantC2{ {URL: "mtls://1.example.com"}, @@ -330,7 +330,7 @@ func multiLibrary(t *testing.T, goos string, goarch string, debug bool) { Debug: debug, ObfuscateSymbols: false, - Format: clientpb.ImplantConfig_SHARED_LIB, + Format: clientpb.OutputFormat_SHARED_LIB, IsSharedLib: true, WGc2Enabled: true, WGImplantPrivKey: "153be871d7e54545c01a9700880f86fc83087275669c9237b9bcd617ddbfa43f", diff --git a/server/rpc/rpc-backdoor.go b/server/rpc/rpc-backdoor.go index 79556452fc..4017845138 100644 --- a/server/rpc/rpc-backdoor.go +++ b/server/rpc/rpc-backdoor.go @@ -52,7 +52,7 @@ func (rpc *Server) Backdoor(ctx context.Context, req *sliverpb.BackdoorReq) (*sl return nil, fmt.Errorf("no profile found for name %s", req.ProfileName) } - if p.Config.Format != clientpb.ImplantConfig_SHELLCODE { + if p.Config.Format != clientpb.OutputFormat_SHELLCODE { return nil, fmt.Errorf("please select a profile targeting a shellcode format") } diff --git a/server/rpc/rpc-generate.go b/server/rpc/rpc-generate.go index b936866b53..c718026c94 100644 --- a/server/rpc/rpc-generate.go +++ b/server/rpc/rpc-generate.go @@ -24,6 +24,7 @@ import ( "fmt" "io/ioutil" "path" + "runtime" consts "github.com/bishopfox/sliver/client/constants" "github.com/bishopfox/sliver/protobuf/clientpb" @@ -49,14 +50,14 @@ func (rpc *Server) Generate(ctx context.Context, req *clientpb.GenerateReq) (*cl return nil, errors.New("Invalid implant config") } switch req.Config.Format { - case clientpb.ImplantConfig_SERVICE: + case clientpb.OutputFormat_SERVICE: fallthrough - case clientpb.ImplantConfig_EXECUTABLE: + case clientpb.OutputFormat_EXECUTABLE: fPath, err = generate.SliverExecutable(name, config) break - case clientpb.ImplantConfig_SHARED_LIB: + case clientpb.OutputFormat_SHARED_LIB: fPath, err = generate.SliverSharedLibrary(name, config) - case clientpb.ImplantConfig_SHELLCODE: + case clientpb.OutputFormat_SHELLCODE: fPath, err = generate.SliverShellcode(name, config) } @@ -229,3 +230,12 @@ func (rpc *Server) ShellcodeRDI(ctx context.Context, req *clientpb.ShellcodeRDIR shellcode, err := generate.ShellcodeRDIFromBytes(req.GetData(), req.GetFunctionName(), req.GetArguments()) return &clientpb.ShellcodeRDI{Data: shellcode}, err } + +func (rpc *Server) GetCompiler(ctx context.Context, _ *commonpb.Empty) (*clientpb.Compiler, error) { + compiler := &clientpb.Compiler{ + GOOS: runtime.GOOS, + GOARCH: runtime.GOARCH, + Targets: []*clientpb.CompilerTarget{}, + } + return compiler, nil +} diff --git a/server/rpc/rpc-priv.go b/server/rpc/rpc-priv.go index cdd3211361..d902b99900 100644 --- a/server/rpc/rpc-priv.go +++ b/server/rpc/rpc-priv.go @@ -79,7 +79,7 @@ func (rpc *Server) GetSystem(ctx context.Context, req *clientpb.GetSystemReq) (* return nil, err } } - config.Format = clientpb.ImplantConfig_SHELLCODE + config.Format = clientpb.OutputFormat_SHELLCODE config.ObfuscateSymbols = false shellcodePath, err := generate.SliverShellcode(name, config) if err != nil { diff --git a/server/rpc/rpc-tasks.go b/server/rpc/rpc-tasks.go index 214c312bea..ca011e2c2c 100644 --- a/server/rpc/rpc-tasks.go +++ b/server/rpc/rpc-tasks.go @@ -67,7 +67,7 @@ func (rpc *Server) Migrate(ctx context.Context, req *clientpb.MigrateReq) (*sliv return nil, err } } - config.Format = clientpb.ImplantConfig_SHELLCODE + config.Format = clientpb.OutputFormat_SHELLCODE config.ObfuscateSymbols = true shellcodePath, err := generate.SliverShellcode(name, config) if err != nil { @@ -224,13 +224,13 @@ func getSliverShellcode(name string) ([]byte, error) { } switch build.ImplantConfig.Format { - case clientpb.ImplantConfig_SHELLCODE: + case clientpb.OutputFormat_SHELLCODE: fileData, err := generate.ImplantFileFromBuild(build) if err != nil { return data, err } data = fileData - case clientpb.ImplantConfig_EXECUTABLE: + case clientpb.OutputFormat_EXECUTABLE: // retrieve EXE from db fileData, err := generate.ImplantFileFromBuild(build) rpcLog.Debugf("Found implant. Len: %d\n", len(fileData)) @@ -242,7 +242,7 @@ func getSliverShellcode(name string) ([]byte, error) { rpcLog.Errorf("DonutShellcodeFromPE error: %v\n", err) return data, err } - case clientpb.ImplantConfig_SHARED_LIB: + case clientpb.OutputFormat_SHARED_LIB: // retrieve DLL from db fileData, err := generate.ImplantFileFromBuild(build) if err != nil { @@ -252,7 +252,7 @@ func getSliverShellcode(name string) ([]byte, error) { if err != nil { return data, err } - case clientpb.ImplantConfig_SERVICE: + case clientpb.OutputFormat_SERVICE: fallthrough default: err = fmt.Errorf("no existing shellcode found")