diff --git a/proto/agent.pb.go b/proto/agent.pb.go index f7e84d8..ffc02bb 100644 --- a/proto/agent.pb.go +++ b/proto/agent.pb.go @@ -1101,6 +1101,302 @@ func (x *RemoveXrayUserResponse) GetError() string { return "" } +type GetHysteria2StatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetHysteria2StatusRequest) Reset() { + *x = GetHysteria2StatusRequest{} + mi := &file_proto_agent_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetHysteria2StatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHysteria2StatusRequest) ProtoMessage() {} + +func (x *GetHysteria2StatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_agent_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHysteria2StatusRequest.ProtoReflect.Descriptor instead. +func (*GetHysteria2StatusRequest) Descriptor() ([]byte, []int) { + return file_proto_agent_proto_rawDescGZIP(), []int{20} +} + +type GetHysteria2StatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Running bool `protobuf:"varint,1,opt,name=running,proto3" json:"running,omitempty"` + Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetHysteria2StatusResponse) Reset() { + *x = GetHysteria2StatusResponse{} + mi := &file_proto_agent_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetHysteria2StatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHysteria2StatusResponse) ProtoMessage() {} + +func (x *GetHysteria2StatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_agent_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHysteria2StatusResponse.ProtoReflect.Descriptor instead. +func (*GetHysteria2StatusResponse) Descriptor() ([]byte, []int) { + return file_proto_agent_proto_rawDescGZIP(), []int{21} +} + +func (x *GetHysteria2StatusResponse) GetRunning() bool { + if x != nil { + return x.Running + } + return false +} + +func (x *GetHysteria2StatusResponse) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *GetHysteria2StatusResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type AddHysteria2UserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddHysteria2UserRequest) Reset() { + *x = AddHysteria2UserRequest{} + mi := &file_proto_agent_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddHysteria2UserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddHysteria2UserRequest) ProtoMessage() {} + +func (x *AddHysteria2UserRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_agent_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddHysteria2UserRequest.ProtoReflect.Descriptor instead. +func (*AddHysteria2UserRequest) Descriptor() ([]byte, []int) { + return file_proto_agent_proto_rawDescGZIP(), []int{22} +} + +func (x *AddHysteria2UserRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *AddHysteria2UserRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +type AddHysteria2UserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddHysteria2UserResponse) Reset() { + *x = AddHysteria2UserResponse{} + mi := &file_proto_agent_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddHysteria2UserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddHysteria2UserResponse) ProtoMessage() {} + +func (x *AddHysteria2UserResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_agent_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddHysteria2UserResponse.ProtoReflect.Descriptor instead. +func (*AddHysteria2UserResponse) Descriptor() ([]byte, []int) { + return file_proto_agent_proto_rawDescGZIP(), []int{23} +} + +func (x *AddHysteria2UserResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *AddHysteria2UserResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type RemoveHysteria2UserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveHysteria2UserRequest) Reset() { + *x = RemoveHysteria2UserRequest{} + mi := &file_proto_agent_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveHysteria2UserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveHysteria2UserRequest) ProtoMessage() {} + +func (x *RemoveHysteria2UserRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_agent_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveHysteria2UserRequest.ProtoReflect.Descriptor instead. +func (*RemoveHysteria2UserRequest) Descriptor() ([]byte, []int) { + return file_proto_agent_proto_rawDescGZIP(), []int{24} +} + +func (x *RemoveHysteria2UserRequest) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type RemoveHysteria2UserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveHysteria2UserResponse) Reset() { + *x = RemoveHysteria2UserResponse{} + mi := &file_proto_agent_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveHysteria2UserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveHysteria2UserResponse) ProtoMessage() {} + +func (x *RemoveHysteria2UserResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_agent_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveHysteria2UserResponse.ProtoReflect.Descriptor instead. +func (*RemoveHysteria2UserResponse) Descriptor() ([]byte, []int) { + return file_proto_agent_proto_rawDescGZIP(), []int{25} +} + +func (x *RemoveHysteria2UserResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *RemoveHysteria2UserResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + var File_proto_agent_proto protoreflect.FileDescriptor const file_proto_agent_proto_rawDesc = "" + @@ -1182,7 +1478,23 @@ const file_proto_agent_proto_rawDesc = "" + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"H\n" + "\x16RemoveXrayUserResponse\x12\x18\n" + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x14\n" + - "\x05error\x18\x02 \x01(\tR\x05error2\xd1\x05\n" + + "\x05error\x18\x02 \x01(\tR\x05error\"\x1b\n" + + "\x19GetHysteria2StatusRequest\"`\n" + + "\x1aGetHysteria2StatusResponse\x12\x18\n" + + "\arunning\x18\x01 \x01(\bR\arunning\x12\x12\n" + + "\x04port\x18\x02 \x01(\x05R\x04port\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"C\n" + + "\x17AddHysteria2UserRequest\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\"J\n" + + "\x18AddHysteria2UserResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x14\n" + + "\x05error\x18\x02 \x01(\tR\x05error\"0\n" + + "\x1aRemoveHysteria2UserRequest\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"M\n" + + "\x1bRemoveHysteria2UserResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x14\n" + + "\x05error\x18\x02 \x01(\tR\x05error2\xdf\a\n" + "\x0eWireGuardAgent\x12S\n" + "\x10GetClientConfigs\x12\x1e.agent.GetClientConfigsRequest\x1a\x1f.agent.GetClientConfigsResponse\x12M\n" + "\x0eRegisterClient\x12\x1c.agent.RegisterClientRequest\x1a\x1d.agent.RegisterClientResponse\x12S\n" + @@ -1192,7 +1504,10 @@ const file_proto_agent_proto_rawDesc = "" + "\rGetXrayStatus\x12\x1b.agent.GetXrayStatusRequest\x1a\x1c.agent.GetXrayStatusResponse\x12S\n" + "\x10GetXrayPublicKey\x12\x1e.agent.GetXrayPublicKeyRequest\x1a\x1f.agent.GetXrayPublicKeyResponse\x12D\n" + "\vAddXrayUser\x12\x19.agent.AddXrayUserRequest\x1a\x1a.agent.AddXrayUserResponse\x12M\n" + - "\x0eRemoveXrayUser\x12\x1c.agent.RemoveXrayUserRequest\x1a\x1d.agent.RemoveXrayUserResponseB\x13Z\x11l_vpn_proto/protob\x06proto3" + "\x0eRemoveXrayUser\x12\x1c.agent.RemoveXrayUserRequest\x1a\x1d.agent.RemoveXrayUserResponse\x12Y\n" + + "\x12GetHysteria2Status\x12 .agent.GetHysteria2StatusRequest\x1a!.agent.GetHysteria2StatusResponse\x12S\n" + + "\x10AddHysteria2User\x12\x1e.agent.AddHysteria2UserRequest\x1a\x1f.agent.AddHysteria2UserResponse\x12\\\n" + + "\x13RemoveHysteria2User\x12!.agent.RemoveHysteria2UserRequest\x1a\".agent.RemoveHysteria2UserResponseB\x13Z\x11l_vpn_proto/protob\x06proto3" var ( file_proto_agent_proto_rawDescOnce sync.Once @@ -1206,28 +1521,34 @@ func file_proto_agent_proto_rawDescGZIP() []byte { return file_proto_agent_proto_rawDescData } -var file_proto_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_proto_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_proto_agent_proto_goTypes = []any{ - (*GetClientConfigsRequest)(nil), // 0: agent.GetClientConfigsRequest - (*ClientConfig)(nil), // 1: agent.ClientConfig - (*GetClientConfigsResponse)(nil), // 2: agent.GetClientConfigsResponse - (*RegisterClientRequest)(nil), // 3: agent.RegisterClientRequest - (*RegisterClientResponse)(nil), // 4: agent.RegisterClientResponse - (*UnregisterClientRequest)(nil), // 5: agent.UnregisterClientRequest - (*UnregisterClientResponse)(nil), // 6: agent.UnregisterClientResponse - (*GetServerStatusRequest)(nil), // 7: agent.GetServerStatusRequest - (*GetServerStatusResponse)(nil), // 8: agent.GetServerStatusResponse - (*PingHostsRequest)(nil), // 9: agent.PingHostsRequest - (*PingResult)(nil), // 10: agent.PingResult - (*PingHostsResponse)(nil), // 11: agent.PingHostsResponse - (*GetXrayStatusRequest)(nil), // 12: agent.GetXrayStatusRequest - (*GetXrayStatusResponse)(nil), // 13: agent.GetXrayStatusResponse - (*GetXrayPublicKeyRequest)(nil), // 14: agent.GetXrayPublicKeyRequest - (*GetXrayPublicKeyResponse)(nil), // 15: agent.GetXrayPublicKeyResponse - (*AddXrayUserRequest)(nil), // 16: agent.AddXrayUserRequest - (*AddXrayUserResponse)(nil), // 17: agent.AddXrayUserResponse - (*RemoveXrayUserRequest)(nil), // 18: agent.RemoveXrayUserRequest - (*RemoveXrayUserResponse)(nil), // 19: agent.RemoveXrayUserResponse + (*GetClientConfigsRequest)(nil), // 0: agent.GetClientConfigsRequest + (*ClientConfig)(nil), // 1: agent.ClientConfig + (*GetClientConfigsResponse)(nil), // 2: agent.GetClientConfigsResponse + (*RegisterClientRequest)(nil), // 3: agent.RegisterClientRequest + (*RegisterClientResponse)(nil), // 4: agent.RegisterClientResponse + (*UnregisterClientRequest)(nil), // 5: agent.UnregisterClientRequest + (*UnregisterClientResponse)(nil), // 6: agent.UnregisterClientResponse + (*GetServerStatusRequest)(nil), // 7: agent.GetServerStatusRequest + (*GetServerStatusResponse)(nil), // 8: agent.GetServerStatusResponse + (*PingHostsRequest)(nil), // 9: agent.PingHostsRequest + (*PingResult)(nil), // 10: agent.PingResult + (*PingHostsResponse)(nil), // 11: agent.PingHostsResponse + (*GetXrayStatusRequest)(nil), // 12: agent.GetXrayStatusRequest + (*GetXrayStatusResponse)(nil), // 13: agent.GetXrayStatusResponse + (*GetXrayPublicKeyRequest)(nil), // 14: agent.GetXrayPublicKeyRequest + (*GetXrayPublicKeyResponse)(nil), // 15: agent.GetXrayPublicKeyResponse + (*AddXrayUserRequest)(nil), // 16: agent.AddXrayUserRequest + (*AddXrayUserResponse)(nil), // 17: agent.AddXrayUserResponse + (*RemoveXrayUserRequest)(nil), // 18: agent.RemoveXrayUserRequest + (*RemoveXrayUserResponse)(nil), // 19: agent.RemoveXrayUserResponse + (*GetHysteria2StatusRequest)(nil), // 20: agent.GetHysteria2StatusRequest + (*GetHysteria2StatusResponse)(nil), // 21: agent.GetHysteria2StatusResponse + (*AddHysteria2UserRequest)(nil), // 22: agent.AddHysteria2UserRequest + (*AddHysteria2UserResponse)(nil), // 23: agent.AddHysteria2UserResponse + (*RemoveHysteria2UserRequest)(nil), // 24: agent.RemoveHysteria2UserRequest + (*RemoveHysteria2UserResponse)(nil), // 25: agent.RemoveHysteria2UserResponse } var file_proto_agent_proto_depIdxs = []int32{ 1, // 0: agent.GetClientConfigsResponse.clients:type_name -> agent.ClientConfig @@ -1242,17 +1563,23 @@ var file_proto_agent_proto_depIdxs = []int32{ 14, // 9: agent.WireGuardAgent.GetXrayPublicKey:input_type -> agent.GetXrayPublicKeyRequest 16, // 10: agent.WireGuardAgent.AddXrayUser:input_type -> agent.AddXrayUserRequest 18, // 11: agent.WireGuardAgent.RemoveXrayUser:input_type -> agent.RemoveXrayUserRequest - 2, // 12: agent.WireGuardAgent.GetClientConfigs:output_type -> agent.GetClientConfigsResponse - 4, // 13: agent.WireGuardAgent.RegisterClient:output_type -> agent.RegisterClientResponse - 6, // 14: agent.WireGuardAgent.UnregisterClient:output_type -> agent.UnregisterClientResponse - 8, // 15: agent.WireGuardAgent.GetServerStatus:output_type -> agent.GetServerStatusResponse - 11, // 16: agent.WireGuardAgent.PingHosts:output_type -> agent.PingHostsResponse - 13, // 17: agent.WireGuardAgent.GetXrayStatus:output_type -> agent.GetXrayStatusResponse - 15, // 18: agent.WireGuardAgent.GetXrayPublicKey:output_type -> agent.GetXrayPublicKeyResponse - 17, // 19: agent.WireGuardAgent.AddXrayUser:output_type -> agent.AddXrayUserResponse - 19, // 20: agent.WireGuardAgent.RemoveXrayUser:output_type -> agent.RemoveXrayUserResponse - 12, // [12:21] is the sub-list for method output_type - 3, // [3:12] is the sub-list for method input_type + 20, // 12: agent.WireGuardAgent.GetHysteria2Status:input_type -> agent.GetHysteria2StatusRequest + 22, // 13: agent.WireGuardAgent.AddHysteria2User:input_type -> agent.AddHysteria2UserRequest + 24, // 14: agent.WireGuardAgent.RemoveHysteria2User:input_type -> agent.RemoveHysteria2UserRequest + 2, // 15: agent.WireGuardAgent.GetClientConfigs:output_type -> agent.GetClientConfigsResponse + 4, // 16: agent.WireGuardAgent.RegisterClient:output_type -> agent.RegisterClientResponse + 6, // 17: agent.WireGuardAgent.UnregisterClient:output_type -> agent.UnregisterClientResponse + 8, // 18: agent.WireGuardAgent.GetServerStatus:output_type -> agent.GetServerStatusResponse + 11, // 19: agent.WireGuardAgent.PingHosts:output_type -> agent.PingHostsResponse + 13, // 20: agent.WireGuardAgent.GetXrayStatus:output_type -> agent.GetXrayStatusResponse + 15, // 21: agent.WireGuardAgent.GetXrayPublicKey:output_type -> agent.GetXrayPublicKeyResponse + 17, // 22: agent.WireGuardAgent.AddXrayUser:output_type -> agent.AddXrayUserResponse + 19, // 23: agent.WireGuardAgent.RemoveXrayUser:output_type -> agent.RemoveXrayUserResponse + 21, // 24: agent.WireGuardAgent.GetHysteria2Status:output_type -> agent.GetHysteria2StatusResponse + 23, // 25: agent.WireGuardAgent.AddHysteria2User:output_type -> agent.AddHysteria2UserResponse + 25, // 26: agent.WireGuardAgent.RemoveHysteria2User:output_type -> agent.RemoveHysteria2UserResponse + 15, // [15:27] is the sub-list for method output_type + 3, // [3:15] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name @@ -1269,7 +1596,7 @@ func file_proto_agent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_agent_proto_rawDesc), len(file_proto_agent_proto_rawDesc)), NumEnums: 0, - NumMessages: 20, + NumMessages: 26, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/agent.proto b/proto/agent.proto index cbcf058..f23d580 100644 --- a/proto/agent.proto +++ b/proto/agent.proto @@ -16,6 +16,11 @@ service WireGuardAgent { rpc GetXrayPublicKey(GetXrayPublicKeyRequest) returns (GetXrayPublicKeyResponse); rpc AddXrayUser(AddXrayUserRequest) returns (AddXrayUserResponse); rpc RemoveXrayUser(RemoveXrayUserRequest) returns (RemoveXrayUserResponse); + + // Hysteria2 / QUIC management + rpc GetHysteria2Status(GetHysteria2StatusRequest) returns (GetHysteria2StatusResponse); + rpc AddHysteria2User(AddHysteria2UserRequest) returns (AddHysteria2UserResponse); + rpc RemoveHysteria2User(RemoveHysteria2UserRequest) returns (RemoveHysteria2UserResponse); } message GetClientConfigsRequest {} @@ -116,3 +121,29 @@ message RemoveXrayUserResponse { bool success = 1; string error = 2; } + +// ── Hysteria2 messages ──────────────────────────────────────────────────────── + +message GetHysteria2StatusRequest {} +message GetHysteria2StatusResponse { + bool running = 1; + int32 port = 2; + string error = 3; +} + +message AddHysteria2UserRequest { + string uuid = 1; + string email = 2; +} +message AddHysteria2UserResponse { + bool success = 1; + string error = 2; +} + +message RemoveHysteria2UserRequest { + string uuid = 1; +} +message RemoveHysteria2UserResponse { + bool success = 1; + string error = 2; +} diff --git a/proto/agent_grpc.pb.go b/proto/agent_grpc.pb.go index 62aed18..72d1614 100644 --- a/proto/agent_grpc.pb.go +++ b/proto/agent_grpc.pb.go @@ -19,15 +19,18 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - WireGuardAgent_GetClientConfigs_FullMethodName = "/agent.WireGuardAgent/GetClientConfigs" - WireGuardAgent_RegisterClient_FullMethodName = "/agent.WireGuardAgent/RegisterClient" - WireGuardAgent_UnregisterClient_FullMethodName = "/agent.WireGuardAgent/UnregisterClient" - WireGuardAgent_GetServerStatus_FullMethodName = "/agent.WireGuardAgent/GetServerStatus" - WireGuardAgent_PingHosts_FullMethodName = "/agent.WireGuardAgent/PingHosts" - WireGuardAgent_GetXrayStatus_FullMethodName = "/agent.WireGuardAgent/GetXrayStatus" - WireGuardAgent_GetXrayPublicKey_FullMethodName = "/agent.WireGuardAgent/GetXrayPublicKey" - WireGuardAgent_AddXrayUser_FullMethodName = "/agent.WireGuardAgent/AddXrayUser" - WireGuardAgent_RemoveXrayUser_FullMethodName = "/agent.WireGuardAgent/RemoveXrayUser" + WireGuardAgent_GetClientConfigs_FullMethodName = "/agent.WireGuardAgent/GetClientConfigs" + WireGuardAgent_RegisterClient_FullMethodName = "/agent.WireGuardAgent/RegisterClient" + WireGuardAgent_UnregisterClient_FullMethodName = "/agent.WireGuardAgent/UnregisterClient" + WireGuardAgent_GetServerStatus_FullMethodName = "/agent.WireGuardAgent/GetServerStatus" + WireGuardAgent_PingHosts_FullMethodName = "/agent.WireGuardAgent/PingHosts" + WireGuardAgent_GetXrayStatus_FullMethodName = "/agent.WireGuardAgent/GetXrayStatus" + WireGuardAgent_GetXrayPublicKey_FullMethodName = "/agent.WireGuardAgent/GetXrayPublicKey" + WireGuardAgent_AddXrayUser_FullMethodName = "/agent.WireGuardAgent/AddXrayUser" + WireGuardAgent_RemoveXrayUser_FullMethodName = "/agent.WireGuardAgent/RemoveXrayUser" + WireGuardAgent_GetHysteria2Status_FullMethodName = "/agent.WireGuardAgent/GetHysteria2Status" + WireGuardAgent_AddHysteria2User_FullMethodName = "/agent.WireGuardAgent/AddHysteria2User" + WireGuardAgent_RemoveHysteria2User_FullMethodName = "/agent.WireGuardAgent/RemoveHysteria2User" ) // WireGuardAgentClient is the client API for WireGuardAgent service. @@ -44,6 +47,10 @@ type WireGuardAgentClient interface { GetXrayPublicKey(ctx context.Context, in *GetXrayPublicKeyRequest, opts ...grpc.CallOption) (*GetXrayPublicKeyResponse, error) AddXrayUser(ctx context.Context, in *AddXrayUserRequest, opts ...grpc.CallOption) (*AddXrayUserResponse, error) RemoveXrayUser(ctx context.Context, in *RemoveXrayUserRequest, opts ...grpc.CallOption) (*RemoveXrayUserResponse, error) + // Hysteria2 / QUIC management + GetHysteria2Status(ctx context.Context, in *GetHysteria2StatusRequest, opts ...grpc.CallOption) (*GetHysteria2StatusResponse, error) + AddHysteria2User(ctx context.Context, in *AddHysteria2UserRequest, opts ...grpc.CallOption) (*AddHysteria2UserResponse, error) + RemoveHysteria2User(ctx context.Context, in *RemoveHysteria2UserRequest, opts ...grpc.CallOption) (*RemoveHysteria2UserResponse, error) } type wireGuardAgentClient struct { @@ -144,6 +151,36 @@ func (c *wireGuardAgentClient) RemoveXrayUser(ctx context.Context, in *RemoveXra return out, nil } +func (c *wireGuardAgentClient) GetHysteria2Status(ctx context.Context, in *GetHysteria2StatusRequest, opts ...grpc.CallOption) (*GetHysteria2StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetHysteria2StatusResponse) + err := c.cc.Invoke(ctx, WireGuardAgent_GetHysteria2Status_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wireGuardAgentClient) AddHysteria2User(ctx context.Context, in *AddHysteria2UserRequest, opts ...grpc.CallOption) (*AddHysteria2UserResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AddHysteria2UserResponse) + err := c.cc.Invoke(ctx, WireGuardAgent_AddHysteria2User_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *wireGuardAgentClient) RemoveHysteria2User(ctx context.Context, in *RemoveHysteria2UserRequest, opts ...grpc.CallOption) (*RemoveHysteria2UserResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RemoveHysteria2UserResponse) + err := c.cc.Invoke(ctx, WireGuardAgent_RemoveHysteria2User_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // WireGuardAgentServer is the server API for WireGuardAgent service. // All implementations must embed UnimplementedWireGuardAgentServer // for forward compatibility. @@ -158,6 +195,10 @@ type WireGuardAgentServer interface { GetXrayPublicKey(context.Context, *GetXrayPublicKeyRequest) (*GetXrayPublicKeyResponse, error) AddXrayUser(context.Context, *AddXrayUserRequest) (*AddXrayUserResponse, error) RemoveXrayUser(context.Context, *RemoveXrayUserRequest) (*RemoveXrayUserResponse, error) + // Hysteria2 / QUIC management + GetHysteria2Status(context.Context, *GetHysteria2StatusRequest) (*GetHysteria2StatusResponse, error) + AddHysteria2User(context.Context, *AddHysteria2UserRequest) (*AddHysteria2UserResponse, error) + RemoveHysteria2User(context.Context, *RemoveHysteria2UserRequest) (*RemoveHysteria2UserResponse, error) mustEmbedUnimplementedWireGuardAgentServer() } @@ -195,6 +236,15 @@ func (UnimplementedWireGuardAgentServer) AddXrayUser(context.Context, *AddXrayUs func (UnimplementedWireGuardAgentServer) RemoveXrayUser(context.Context, *RemoveXrayUserRequest) (*RemoveXrayUserResponse, error) { return nil, status.Error(codes.Unimplemented, "method RemoveXrayUser not implemented") } +func (UnimplementedWireGuardAgentServer) GetHysteria2Status(context.Context, *GetHysteria2StatusRequest) (*GetHysteria2StatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetHysteria2Status not implemented") +} +func (UnimplementedWireGuardAgentServer) AddHysteria2User(context.Context, *AddHysteria2UserRequest) (*AddHysteria2UserResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AddHysteria2User not implemented") +} +func (UnimplementedWireGuardAgentServer) RemoveHysteria2User(context.Context, *RemoveHysteria2UserRequest) (*RemoveHysteria2UserResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RemoveHysteria2User not implemented") +} func (UnimplementedWireGuardAgentServer) mustEmbedUnimplementedWireGuardAgentServer() {} func (UnimplementedWireGuardAgentServer) testEmbeddedByValue() {} @@ -378,6 +428,60 @@ func _WireGuardAgent_RemoveXrayUser_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _WireGuardAgent_GetHysteria2Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetHysteria2StatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WireGuardAgentServer).GetHysteria2Status(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WireGuardAgent_GetHysteria2Status_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WireGuardAgentServer).GetHysteria2Status(ctx, req.(*GetHysteria2StatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WireGuardAgent_AddHysteria2User_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddHysteria2UserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WireGuardAgentServer).AddHysteria2User(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WireGuardAgent_AddHysteria2User_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WireGuardAgentServer).AddHysteria2User(ctx, req.(*AddHysteria2UserRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WireGuardAgent_RemoveHysteria2User_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveHysteria2UserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WireGuardAgentServer).RemoveHysteria2User(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WireGuardAgent_RemoveHysteria2User_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WireGuardAgentServer).RemoveHysteria2User(ctx, req.(*RemoveHysteria2UserRequest)) + } + return interceptor(ctx, in, info, handler) +} + // WireGuardAgent_ServiceDesc is the grpc.ServiceDesc for WireGuardAgent service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -421,6 +525,18 @@ var WireGuardAgent_ServiceDesc = grpc.ServiceDesc{ MethodName: "RemoveXrayUser", Handler: _WireGuardAgent_RemoveXrayUser_Handler, }, + { + MethodName: "GetHysteria2Status", + Handler: _WireGuardAgent_GetHysteria2Status_Handler, + }, + { + MethodName: "AddHysteria2User", + Handler: _WireGuardAgent_AddHysteria2User_Handler, + }, + { + MethodName: "RemoveHysteria2User", + Handler: _WireGuardAgent_RemoveHysteria2User_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "proto/agent.proto",