瀏覽代碼

feat: 添加节点端口使用情况表

BaiLuoYan 2 月之前
父節點
當前提交
088ecbb2d1

+ 11 - 1
pb/client/gogameclient/go_game_client.go

@@ -1,5 +1,5 @@
 // Code generated by goctl. DO NOT EDIT.
-// goctl 1.8.5
+// goctl 1.9.2
 // Source: gorpc.proto
 
 package gogameclient
@@ -447,6 +447,16 @@ type (
 	VpnServerLocationListReq                             = pb.VpnServerLocationListReq
 	VpnServerLocationListResp                            = pb.VpnServerLocationListResp
 	VpnServerLocationVo                                  = pb.VpnServerLocationVo
+	VpnServerPortAddReq                                  = pb.VpnServerPortAddReq
+	VpnServerPortAddResp                                 = pb.VpnServerPortAddResp
+	VpnServerPortDelReq                                  = pb.VpnServerPortDelReq
+	VpnServerPortGetReq                                  = pb.VpnServerPortGetReq
+	VpnServerPortGetResp                                 = pb.VpnServerPortGetResp
+	VpnServerPortListReq                                 = pb.VpnServerPortListReq
+	VpnServerPortListResp                                = pb.VpnServerPortListResp
+	VpnServerPortUpdateReq                               = pb.VpnServerPortUpdateReq
+	VpnServerPortUpdateResp                              = pb.VpnServerPortUpdateResp
+	VpnServerPortVo                                      = pb.VpnServerPortVo
 	VpnServerVo                                          = pb.VpnServerVo
 	VpnTagBatchAddReq                                    = pb.VpnTagBatchAddReq
 	VpnTagBatchAddResp                                   = pb.VpnTagBatchAddResp

+ 11 - 1
pb/client/goplanclient/go_plan_client.go

@@ -1,5 +1,5 @@
 // Code generated by goctl. DO NOT EDIT.
-// goctl 1.8.5
+// goctl 1.9.2
 // Source: gorpc.proto
 
 package goplanclient
@@ -447,6 +447,16 @@ type (
 	VpnServerLocationListReq                             = pb.VpnServerLocationListReq
 	VpnServerLocationListResp                            = pb.VpnServerLocationListResp
 	VpnServerLocationVo                                  = pb.VpnServerLocationVo
+	VpnServerPortAddReq                                  = pb.VpnServerPortAddReq
+	VpnServerPortAddResp                                 = pb.VpnServerPortAddResp
+	VpnServerPortDelReq                                  = pb.VpnServerPortDelReq
+	VpnServerPortGetReq                                  = pb.VpnServerPortGetReq
+	VpnServerPortGetResp                                 = pb.VpnServerPortGetResp
+	VpnServerPortListReq                                 = pb.VpnServerPortListReq
+	VpnServerPortListResp                                = pb.VpnServerPortListResp
+	VpnServerPortUpdateReq                               = pb.VpnServerPortUpdateReq
+	VpnServerPortUpdateResp                              = pb.VpnServerPortUpdateResp
+	VpnServerPortVo                                      = pb.VpnServerPortVo
 	VpnServerVo                                          = pb.VpnServerVo
 	VpnTagBatchAddReq                                    = pb.VpnTagBatchAddReq
 	VpnTagBatchAddResp                                   = pb.VpnTagBatchAddResp

+ 11 - 1
pb/client/gopmpclient/go_pmp_client.go

@@ -1,5 +1,5 @@
 // Code generated by goctl. DO NOT EDIT.
-// goctl 1.8.5
+// goctl 1.9.2
 // Source: gorpc.proto
 
 package gopmpclient
@@ -447,6 +447,16 @@ type (
 	VpnServerLocationListReq                             = pb.VpnServerLocationListReq
 	VpnServerLocationListResp                            = pb.VpnServerLocationListResp
 	VpnServerLocationVo                                  = pb.VpnServerLocationVo
+	VpnServerPortAddReq                                  = pb.VpnServerPortAddReq
+	VpnServerPortAddResp                                 = pb.VpnServerPortAddResp
+	VpnServerPortDelReq                                  = pb.VpnServerPortDelReq
+	VpnServerPortGetReq                                  = pb.VpnServerPortGetReq
+	VpnServerPortGetResp                                 = pb.VpnServerPortGetResp
+	VpnServerPortListReq                                 = pb.VpnServerPortListReq
+	VpnServerPortListResp                                = pb.VpnServerPortListResp
+	VpnServerPortUpdateReq                               = pb.VpnServerPortUpdateReq
+	VpnServerPortUpdateResp                              = pb.VpnServerPortUpdateResp
+	VpnServerPortVo                                      = pb.VpnServerPortVo
 	VpnServerVo                                          = pb.VpnServerVo
 	VpnTagBatchAddReq                                    = pb.VpnTagBatchAddReq
 	VpnTagBatchAddResp                                   = pb.VpnTagBatchAddResp

+ 11 - 1
pb/client/goshortdramaclient/go_short_drama_client.go

@@ -1,5 +1,5 @@
 // Code generated by goctl. DO NOT EDIT.
-// goctl 1.8.5
+// goctl 1.9.2
 // Source: gorpc.proto
 
 package goshortdramaclient
@@ -447,6 +447,16 @@ type (
 	VpnServerLocationListReq                             = pb.VpnServerLocationListReq
 	VpnServerLocationListResp                            = pb.VpnServerLocationListResp
 	VpnServerLocationVo                                  = pb.VpnServerLocationVo
+	VpnServerPortAddReq                                  = pb.VpnServerPortAddReq
+	VpnServerPortAddResp                                 = pb.VpnServerPortAddResp
+	VpnServerPortDelReq                                  = pb.VpnServerPortDelReq
+	VpnServerPortGetReq                                  = pb.VpnServerPortGetReq
+	VpnServerPortGetResp                                 = pb.VpnServerPortGetResp
+	VpnServerPortListReq                                 = pb.VpnServerPortListReq
+	VpnServerPortListResp                                = pb.VpnServerPortListResp
+	VpnServerPortUpdateReq                               = pb.VpnServerPortUpdateReq
+	VpnServerPortUpdateResp                              = pb.VpnServerPortUpdateResp
+	VpnServerPortVo                                      = pb.VpnServerPortVo
 	VpnServerVo                                          = pb.VpnServerVo
 	VpnTagBatchAddReq                                    = pb.VpnTagBatchAddReq
 	VpnTagBatchAddResp                                   = pb.VpnTagBatchAddResp

+ 11 - 1
pb/client/gosysclient/go_sys_client.go

@@ -1,5 +1,5 @@
 // Code generated by goctl. DO NOT EDIT.
-// goctl 1.8.5
+// goctl 1.9.2
 // Source: gorpc.proto
 
 package gosysclient
@@ -447,6 +447,16 @@ type (
 	VpnServerLocationListReq                             = pb.VpnServerLocationListReq
 	VpnServerLocationListResp                            = pb.VpnServerLocationListResp
 	VpnServerLocationVo                                  = pb.VpnServerLocationVo
+	VpnServerPortAddReq                                  = pb.VpnServerPortAddReq
+	VpnServerPortAddResp                                 = pb.VpnServerPortAddResp
+	VpnServerPortDelReq                                  = pb.VpnServerPortDelReq
+	VpnServerPortGetReq                                  = pb.VpnServerPortGetReq
+	VpnServerPortGetResp                                 = pb.VpnServerPortGetResp
+	VpnServerPortListReq                                 = pb.VpnServerPortListReq
+	VpnServerPortListResp                                = pb.VpnServerPortListResp
+	VpnServerPortUpdateReq                               = pb.VpnServerPortUpdateReq
+	VpnServerPortUpdateResp                              = pb.VpnServerPortUpdateResp
+	VpnServerPortVo                                      = pb.VpnServerPortVo
 	VpnServerVo                                          = pb.VpnServerVo
 	VpnTagBatchAddReq                                    = pb.VpnTagBatchAddReq
 	VpnTagBatchAddResp                                   = pb.VpnTagBatchAddResp

+ 11 - 1
pb/client/gouserclient/go_user_client.go

@@ -1,5 +1,5 @@
 // Code generated by goctl. DO NOT EDIT.
-// goctl 1.8.5
+// goctl 1.9.2
 // Source: gorpc.proto
 
 package gouserclient
@@ -447,6 +447,16 @@ type (
 	VpnServerLocationListReq                             = pb.VpnServerLocationListReq
 	VpnServerLocationListResp                            = pb.VpnServerLocationListResp
 	VpnServerLocationVo                                  = pb.VpnServerLocationVo
+	VpnServerPortAddReq                                  = pb.VpnServerPortAddReq
+	VpnServerPortAddResp                                 = pb.VpnServerPortAddResp
+	VpnServerPortDelReq                                  = pb.VpnServerPortDelReq
+	VpnServerPortGetReq                                  = pb.VpnServerPortGetReq
+	VpnServerPortGetResp                                 = pb.VpnServerPortGetResp
+	VpnServerPortListReq                                 = pb.VpnServerPortListReq
+	VpnServerPortListResp                                = pb.VpnServerPortListResp
+	VpnServerPortUpdateReq                               = pb.VpnServerPortUpdateReq
+	VpnServerPortUpdateResp                              = pb.VpnServerPortUpdateResp
+	VpnServerPortVo                                      = pb.VpnServerPortVo
 	VpnServerVo                                          = pb.VpnServerVo
 	VpnTagBatchAddReq                                    = pb.VpnTagBatchAddReq
 	VpnTagBatchAddResp                                   = pb.VpnTagBatchAddResp

+ 69 - 27
pb/client/govpnclient/go_vpn_client.go

@@ -1,5 +1,5 @@
 // Code generated by goctl. DO NOT EDIT.
-// goctl 1.8.5
+// goctl 1.9.2
 // Source: gorpc.proto
 
 package govpnclient
@@ -447,6 +447,16 @@ type (
 	VpnServerLocationListReq                             = pb.VpnServerLocationListReq
 	VpnServerLocationListResp                            = pb.VpnServerLocationListResp
 	VpnServerLocationVo                                  = pb.VpnServerLocationVo
+	VpnServerPortAddReq                                  = pb.VpnServerPortAddReq
+	VpnServerPortAddResp                                 = pb.VpnServerPortAddResp
+	VpnServerPortDelReq                                  = pb.VpnServerPortDelReq
+	VpnServerPortGetReq                                  = pb.VpnServerPortGetReq
+	VpnServerPortGetResp                                 = pb.VpnServerPortGetResp
+	VpnServerPortListReq                                 = pb.VpnServerPortListReq
+	VpnServerPortListResp                                = pb.VpnServerPortListResp
+	VpnServerPortUpdateReq                               = pb.VpnServerPortUpdateReq
+	VpnServerPortUpdateResp                              = pb.VpnServerPortUpdateResp
+	VpnServerPortVo                                      = pb.VpnServerPortVo
 	VpnServerVo                                          = pb.VpnServerVo
 	VpnTagBatchAddReq                                    = pb.VpnTagBatchAddReq
 	VpnTagBatchAddResp                                   = pb.VpnTagBatchAddResp
@@ -538,7 +548,7 @@ type (
 		Ping(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
 		// 表的事务操作
 		Transaction(ctx context.Context, in *TransactionReq, opts ...grpc.CallOption) (*Empty, error)
-		// VpnTag Model
+		// VpnTagAdd
 		VpnTagAdd(ctx context.Context, in *VpnTagVo, opts ...grpc.CallOption) (*VpnTagVo, error)
 		VpnTagUpdate(ctx context.Context, in *VpnTagVo, opts ...grpc.CallOption) (*VpnTagVo, error)
 		VpnTagDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
@@ -546,7 +556,7 @@ type (
 		VpnTagList(ctx context.Context, in *VpnTagListReq, opts ...grpc.CallOption) (*VpnTagListResp, error)
 		VpnTagBatchAdd(ctx context.Context, in *VpnTagBatchAddReq, opts ...grpc.CallOption) (*VpnTagBatchAddResp, error)
 		VpnTagBatchUpdate(ctx context.Context, in *VpnTagBatchUpdateReq, opts ...grpc.CallOption) (*VpnTagBatchUpdateResp, error)
-		// VpnGroup Model
+		// VpnGroupAdd
 		VpnGroupAdd(ctx context.Context, in *VpnGroupAddReq, opts ...grpc.CallOption) (*VpnGroupVo, error)
 		VpnGroupUpdate(ctx context.Context, in *VpnGroupAddReq, opts ...grpc.CallOption) (*Empty, error)
 		VpnGroupDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
@@ -554,13 +564,13 @@ type (
 		VpnGroupList(ctx context.Context, in *VpnGroupListReq, opts ...grpc.CallOption) (*VpnGroupListResp, error)
 		VpnGroupBatchAdd(ctx context.Context, in *VpnGroupBatchAddReq, opts ...grpc.CallOption) (*VpnGroupBatchAddResp, error)
 		VpnGroupBatchUpdate(ctx context.Context, in *VpnGroupBatchUpdateReq, opts ...grpc.CallOption) (*VpnGroupBatchUpdateResp, error)
-		// VpnGroupTag Model
+		// VpnGroupTagAdd
 		VpnGroupTagAdd(ctx context.Context, in *VpnGroupTagVo, opts ...grpc.CallOption) (*VpnGroupTagVo, error)
 		VpnGroupTagUpdate(ctx context.Context, in *VpnGroupTagVo, opts ...grpc.CallOption) (*VpnGroupTagVo, error)
 		VpnGroupTagDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
 		VpnGroupTagGet(ctx context.Context, in *VpnGroupTagVo, opts ...grpc.CallOption) (*VpnGroupTagVo, error)
 		VpnGroupTagList(ctx context.Context, in *VpnGroupTagListReq, opts ...grpc.CallOption) (*VpnGroupTagListResp, error)
-		// VpnLocation Model
+		// VpnLocationAdd
 		VpnLocationAdd(ctx context.Context, in *VpnLocationVo, opts ...grpc.CallOption) (*VpnLocationVo, error)
 		VpnLocationUpdate(ctx context.Context, in *VpnLocationVo, opts ...grpc.CallOption) (*Empty, error)
 		VpnLocationDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
@@ -568,7 +578,7 @@ type (
 		VpnLocationList(ctx context.Context, in *VpnLocationListReq, opts ...grpc.CallOption) (*VpnLocationListResp, error)
 		VpnLocationBatchAdd(ctx context.Context, in *VpnLocationBatchAddReq, opts ...grpc.CallOption) (*VpnLocationBatchAddResp, error)
 		VpnLocationBatchUpdate(ctx context.Context, in *VpnLocationBatchUpdateReq, opts ...grpc.CallOption) (*VpnLocationBatchUpdateResp, error)
-		// VpnServer Model
+		// VpnServerAdd
 		VpnServerAdd(ctx context.Context, in *VpnServerAddReq, opts ...grpc.CallOption) (*VpnServerAddReq, error)
 		VpnServerUpdate(ctx context.Context, in *VpnServerAddReq, opts ...grpc.CallOption) (*VpnServerAddReq, error)
 		VpnServerDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
@@ -578,7 +588,7 @@ type (
 		VpnServerExList(ctx context.Context, in *VpnServerListReq, opts ...grpc.CallOption) (*VpnServerExListResp, error)
 		VpnServerBatchAdd(ctx context.Context, in *VpnServerBatchAddReq, opts ...grpc.CallOption) (*VpnServerBatchAddResp, error)
 		VpnServerBatchUpdate(ctx context.Context, in *VpnServerBatchUpdateReq, opts ...grpc.CallOption) (*VpnServerBatchUpdateResp, error)
-		// VpnServerLocation Model
+		// VpnServerLocationAdd
 		VpnServerLocationAdd(ctx context.Context, in *VpnServerLocationVo, opts ...grpc.CallOption) (*VpnServerLocationVo, error)
 		VpnServerLocationUpdate(ctx context.Context, in *VpnServerLocationVo, opts ...grpc.CallOption) (*Empty, error)
 		VpnServerLocationDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
@@ -587,11 +597,11 @@ type (
 		VpnWithIPAndPort(ctx context.Context, in *VpnWithIPAndPortReq, opts ...grpc.CallOption) (*VpnWithIPAndPortResp, error)
 		// VpnLocationServerCount
 		VpnLocationServerCount(ctx context.Context, in *VpnLocationServerCountReq, opts ...grpc.CallOption) (*VpnLocationServerCountResp, error)
-		// VpnProbeTask Model
+		// VpnProbeTaskAdd
 		VpnProbeTaskAdd(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*VpnProbeTaskVo, error)
 		VpnProbeTaskUpdate(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*Empty, error)
 		VpnProbeTaskList(ctx context.Context, in *VpnProbeTaskListReq, opts ...grpc.CallOption) (*VpnProbeTaskListResp, error)
-		// VpnipWalled Model
+		// VpnipWalledAdd
 		VpnipWalledAdd(ctx context.Context, in *VpnipWalledAddReq, opts ...grpc.CallOption) (*VpnipWalledAddResp, error)
 		VpnipWalledUpdate(ctx context.Context, in *VpnipWalledUpdateReq, opts ...grpc.CallOption) (*VpnipWalledUpdateResp, error)
 		VpnipWalledDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
@@ -599,7 +609,7 @@ type (
 		VpnipWalledList(ctx context.Context, in *VpnipWalledListReq, opts ...grpc.CallOption) (*VpnipWalledListResp, error)
 		VpnipWalledBatchAdd(ctx context.Context, in *VpnipWalledBatchAddReq, opts ...grpc.CallOption) (*VpnipWalledBatchAddResp, error)
 		VpnipWalledBatchUpdate(ctx context.Context, in *VpnipWalledBatchUpdateReq, opts ...grpc.CallOption) (*VpnipWalledBatchUpdateResp, error)
-		// Vpnip Model
+		// VpnipAdd
 		VpnipAdd(ctx context.Context, in *VpnipAddReq, opts ...grpc.CallOption) (*VpnipAddResp, error)
 		VpnipExAdd(ctx context.Context, in *VpnipExAddReq, opts ...grpc.CallOption) (*VpnipExAddResp, error)
 		VpnipUpdate(ctx context.Context, in *VpnipUpdateReq, opts ...grpc.CallOption) (*VpnipUpdateResp, error)
@@ -613,7 +623,7 @@ type (
 		VpnipBatchUpdate(ctx context.Context, in *VpnipBatchUpdateReq, opts ...grpc.CallOption) (*VpnipBatchUpdateResp, error)
 		VpnipExBatchAdd(ctx context.Context, in *VpnipExBatchAddReq, opts ...grpc.CallOption) (*VpnipExBatchAddResp, error)
 		VpnipExBatchUpdate(ctx context.Context, in *VpnipExBatchUpdateReq, opts ...grpc.CallOption) (*VpnipExBatchUpdateResp, error)
-		// VpnipRange Model
+		// VpnipRangeAdd
 		VpnipRangeAdd(ctx context.Context, in *VpnipRangeAddReq, opts ...grpc.CallOption) (*VpnipRangeAddResp, error)
 		// VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID
 		VpnipRangeExAdd(ctx context.Context, in *VpnipRangeExAddReq, opts ...grpc.CallOption) (*VpnipRangeExAddResp, error)
@@ -628,7 +638,7 @@ type (
 		VpnipRangeExBatchAdd(ctx context.Context, in *VpnipRangeExBatchAddReq, opts ...grpc.CallOption) (*VpnipRangeExBatchAddResp, error)
 		VpnipRangeBatchUpdate(ctx context.Context, in *VpnipRangeBatchUpdateReq, opts ...grpc.CallOption) (*VpnipRangeBatchUpdateResp, error)
 		VpnipRangeExBatchUpdate(ctx context.Context, in *VpnipRangeExBatchUpdateReq, opts ...grpc.CallOption) (*VpnipRangeExBatchUpdateResp, error)
-		// VpnipBind Model
+		// VpnipBindAdd
 		VpnipBindAdd(ctx context.Context, in *VpnipBindAddReq, opts ...grpc.CallOption) (*VpnipBindAddResp, error)
 		VpnipBindUpdate(ctx context.Context, in *VpnipBindUpdateReq, opts ...grpc.CallOption) (*VpnipBindUpdateResp, error)
 		VpnipBindDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
@@ -637,7 +647,7 @@ type (
 		VpnipBindBatchUpdate(ctx context.Context, in *VpnipBindBatchUpdateReq, opts ...grpc.CallOption) (*VpnipBindBatchUpdateResp, error)
 		// VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充
 		VpnipsBindServer(ctx context.Context, in *VpnipBindBatchAddReq, opts ...grpc.CallOption) (*VpnipBindBatchAddResp, error)
-		// VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)
+		// VpnConfigTemplatePlanAdd 添加配置模板及模板详情
 		VpnConfigTemplatePlanAdd(ctx context.Context, in *VpnConfigTemplatePlanAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanAddResp, error)
 		// VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情)
 		VpnConfigTemplatePlanUpdate(ctx context.Context, in *VpnConfigTemplatePlanUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanUpdateResp, error)
@@ -647,12 +657,18 @@ type (
 		VpnConfigTemplatePlanGet(ctx context.Context, in *VpnConfigTemplatePlanGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanGetResp, error)
 		// VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情)
 		VpnConfigTemplatePlanList(ctx context.Context, in *VpnConfigTemplatePlanListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanListResp, error)
-		// VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)
+		// VpnConfigTemplatePlanDetailAdd 添加模板详情
 		VpnConfigTemplatePlanDetailAdd(ctx context.Context, in *VpnConfigTemplatePlanDetailAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailAddResp, error)
 		VpnConfigTemplatePlanDetailUpdate(ctx context.Context, in *VpnConfigTemplatePlanDetailUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailUpdateResp, error)
 		VpnConfigTemplatePlanDetailDel(ctx context.Context, in *VpnConfigTemplatePlanDetailDelReq, opts ...grpc.CallOption) (*Empty, error)
 		VpnConfigTemplatePlanDetailGet(ctx context.Context, in *VpnConfigTemplatePlanDetailGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailGetResp, error)
 		VpnConfigTemplatePlanDetailList(ctx context.Context, in *VpnConfigTemplatePlanDetailListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailListResp, error)
+		// VpnServerPortAdd
+		VpnServerPortAdd(ctx context.Context, in *VpnServerPortAddReq, opts ...grpc.CallOption) (*VpnServerPortAddResp, error)
+		VpnServerPortUpdate(ctx context.Context, in *VpnServerPortUpdateReq, opts ...grpc.CallOption) (*VpnServerPortUpdateResp, error)
+		VpnServerPortDel(ctx context.Context, in *VpnServerPortDelReq, opts ...grpc.CallOption) (*Empty, error)
+		VpnServerPortGet(ctx context.Context, in *VpnServerPortGetReq, opts ...grpc.CallOption) (*VpnServerPortGetResp, error)
+		VpnServerPortList(ctx context.Context, in *VpnServerPortListReq, opts ...grpc.CallOption) (*VpnServerPortListResp, error)
 	}
 
 	defaultGoVpnClient struct {
@@ -677,7 +693,7 @@ func (m *defaultGoVpnClient) Transaction(ctx context.Context, in *TransactionReq
 	return client.Transaction(ctx, in, opts...)
 }
 
-// VpnTag Model
+// VpnTagAdd
 func (m *defaultGoVpnClient) VpnTagAdd(ctx context.Context, in *VpnTagVo, opts ...grpc.CallOption) (*VpnTagVo, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnTagAdd(ctx, in, opts...)
@@ -713,7 +729,7 @@ func (m *defaultGoVpnClient) VpnTagBatchUpdate(ctx context.Context, in *VpnTagBa
 	return client.VpnTagBatchUpdate(ctx, in, opts...)
 }
 
-// VpnGroup Model
+// VpnGroupAdd
 func (m *defaultGoVpnClient) VpnGroupAdd(ctx context.Context, in *VpnGroupAddReq, opts ...grpc.CallOption) (*VpnGroupVo, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnGroupAdd(ctx, in, opts...)
@@ -749,7 +765,7 @@ func (m *defaultGoVpnClient) VpnGroupBatchUpdate(ctx context.Context, in *VpnGro
 	return client.VpnGroupBatchUpdate(ctx, in, opts...)
 }
 
-// VpnGroupTag Model
+// VpnGroupTagAdd
 func (m *defaultGoVpnClient) VpnGroupTagAdd(ctx context.Context, in *VpnGroupTagVo, opts ...grpc.CallOption) (*VpnGroupTagVo, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnGroupTagAdd(ctx, in, opts...)
@@ -775,7 +791,7 @@ func (m *defaultGoVpnClient) VpnGroupTagList(ctx context.Context, in *VpnGroupTa
 	return client.VpnGroupTagList(ctx, in, opts...)
 }
 
-// VpnLocation Model
+// VpnLocationAdd
 func (m *defaultGoVpnClient) VpnLocationAdd(ctx context.Context, in *VpnLocationVo, opts ...grpc.CallOption) (*VpnLocationVo, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnLocationAdd(ctx, in, opts...)
@@ -811,7 +827,7 @@ func (m *defaultGoVpnClient) VpnLocationBatchUpdate(ctx context.Context, in *Vpn
 	return client.VpnLocationBatchUpdate(ctx, in, opts...)
 }
 
-// VpnServer Model
+// VpnServerAdd
 func (m *defaultGoVpnClient) VpnServerAdd(ctx context.Context, in *VpnServerAddReq, opts ...grpc.CallOption) (*VpnServerAddReq, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnServerAdd(ctx, in, opts...)
@@ -857,7 +873,7 @@ func (m *defaultGoVpnClient) VpnServerBatchUpdate(ctx context.Context, in *VpnSe
 	return client.VpnServerBatchUpdate(ctx, in, opts...)
 }
 
-// VpnServerLocation Model
+// VpnServerLocationAdd
 func (m *defaultGoVpnClient) VpnServerLocationAdd(ctx context.Context, in *VpnServerLocationVo, opts ...grpc.CallOption) (*VpnServerLocationVo, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnServerLocationAdd(ctx, in, opts...)
@@ -894,7 +910,7 @@ func (m *defaultGoVpnClient) VpnLocationServerCount(ctx context.Context, in *Vpn
 	return client.VpnLocationServerCount(ctx, in, opts...)
 }
 
-// VpnProbeTask Model
+// VpnProbeTaskAdd
 func (m *defaultGoVpnClient) VpnProbeTaskAdd(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*VpnProbeTaskVo, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnProbeTaskAdd(ctx, in, opts...)
@@ -910,7 +926,7 @@ func (m *defaultGoVpnClient) VpnProbeTaskList(ctx context.Context, in *VpnProbeT
 	return client.VpnProbeTaskList(ctx, in, opts...)
 }
 
-// VpnipWalled Model
+// VpnipWalledAdd
 func (m *defaultGoVpnClient) VpnipWalledAdd(ctx context.Context, in *VpnipWalledAddReq, opts ...grpc.CallOption) (*VpnipWalledAddResp, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnipWalledAdd(ctx, in, opts...)
@@ -946,7 +962,7 @@ func (m *defaultGoVpnClient) VpnipWalledBatchUpdate(ctx context.Context, in *Vpn
 	return client.VpnipWalledBatchUpdate(ctx, in, opts...)
 }
 
-// Vpnip Model
+// VpnipAdd
 func (m *defaultGoVpnClient) VpnipAdd(ctx context.Context, in *VpnipAddReq, opts ...grpc.CallOption) (*VpnipAddResp, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnipAdd(ctx, in, opts...)
@@ -1012,7 +1028,7 @@ func (m *defaultGoVpnClient) VpnipExBatchUpdate(ctx context.Context, in *VpnipEx
 	return client.VpnipExBatchUpdate(ctx, in, opts...)
 }
 
-// VpnipRange Model
+// VpnipRangeAdd
 func (m *defaultGoVpnClient) VpnipRangeAdd(ctx context.Context, in *VpnipRangeAddReq, opts ...grpc.CallOption) (*VpnipRangeAddResp, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnipRangeAdd(ctx, in, opts...)
@@ -1079,7 +1095,7 @@ func (m *defaultGoVpnClient) VpnipRangeExBatchUpdate(ctx context.Context, in *Vp
 	return client.VpnipRangeExBatchUpdate(ctx, in, opts...)
 }
 
-// VpnipBind Model
+// VpnipBindAdd
 func (m *defaultGoVpnClient) VpnipBindAdd(ctx context.Context, in *VpnipBindAddReq, opts ...grpc.CallOption) (*VpnipBindAddResp, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnipBindAdd(ctx, in, opts...)
@@ -1116,7 +1132,7 @@ func (m *defaultGoVpnClient) VpnipsBindServer(ctx context.Context, in *VpnipBind
 	return client.VpnipsBindServer(ctx, in, opts...)
 }
 
-// VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)
+// VpnConfigTemplatePlanAdd 添加配置模板及模板详情
 func (m *defaultGoVpnClient) VpnConfigTemplatePlanAdd(ctx context.Context, in *VpnConfigTemplatePlanAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanAddResp, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnConfigTemplatePlanAdd(ctx, in, opts...)
@@ -1146,7 +1162,7 @@ func (m *defaultGoVpnClient) VpnConfigTemplatePlanList(ctx context.Context, in *
 	return client.VpnConfigTemplatePlanList(ctx, in, opts...)
 }
 
-// VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)
+// VpnConfigTemplatePlanDetailAdd 添加模板详情
 func (m *defaultGoVpnClient) VpnConfigTemplatePlanDetailAdd(ctx context.Context, in *VpnConfigTemplatePlanDetailAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailAddResp, error) {
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnConfigTemplatePlanDetailAdd(ctx, in, opts...)
@@ -1171,3 +1187,29 @@ func (m *defaultGoVpnClient) VpnConfigTemplatePlanDetailList(ctx context.Context
 	client := pb.NewGoVpnClientClient(m.cli.Conn())
 	return client.VpnConfigTemplatePlanDetailList(ctx, in, opts...)
 }
+
+// VpnServerPortAdd
+func (m *defaultGoVpnClient) VpnServerPortAdd(ctx context.Context, in *VpnServerPortAddReq, opts ...grpc.CallOption) (*VpnServerPortAddResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnServerPortAdd(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnServerPortUpdate(ctx context.Context, in *VpnServerPortUpdateReq, opts ...grpc.CallOption) (*VpnServerPortUpdateResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnServerPortUpdate(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnServerPortDel(ctx context.Context, in *VpnServerPortDelReq, opts ...grpc.CallOption) (*Empty, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnServerPortDel(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnServerPortGet(ctx context.Context, in *VpnServerPortGetReq, opts ...grpc.CallOption) (*VpnServerPortGetResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnServerPortGet(ctx, in, opts...)
+}
+
+func (m *defaultGoVpnClient) VpnServerPortList(ctx context.Context, in *VpnServerPortListReq, opts ...grpc.CallOption) (*VpnServerPortListResp, error) {
+	client := pb.NewGoVpnClientClient(m.cli.Conn())
+	return client.VpnServerPortList(ctx, in, opts...)
+}

+ 55 - 13
pb/gorpc.proto

@@ -3518,13 +3518,47 @@ message VpnConfigTemplatePlanDetailListResp {
   repeated VpnConfigTemplatePlanDetailVo list = 2;
 }
 
+message VpnServerPortVo {
+  int64 id = 1;
+  int64 srcServerId = 2;
+  uint32 srcPort = 3;
+  int64 dstServerId = 4;
+  int64 createTime = 5;
+  int64 createAt = 6;
+  int64 updateTime = 7;
+  int64 updateAt = 8;
+}
+
+message VpnServerPortGetReq { VpnServerPortVo vo = 1; }
+message VpnServerPortGetResp { VpnServerPortVo vo = 1; }
+
+message VpnServerPortAddReq { VpnServerPortVo vo = 1; }
+message VpnServerPortAddResp { VpnServerPortVo vo = 1; }
+
+message VpnServerPortUpdateReq { VpnServerPortVo vo = 1; }
+message VpnServerPortUpdateResp { VpnServerPortVo vo = 1; }
+
+message VpnServerPortDelReq { repeated int64 ids = 1; }
+
+message VpnServerPortListReq {
+  Page page = 1;
+  VpnServerPortVo vo = 2;
+  repeated int64 srcServerIds = 3;
+  repeated uint32 srcPorts = 4;
+  repeated int64 dstServerIds = 5;
+}
+message VpnServerPortListResp {
+  int64 total = 1;
+  repeated VpnServerPortVo list = 2;
+}
+
 // govpn 模块,VPN相关服务
 service GoVpnClient {
   rpc Ping(Request) returns (Response);
   // 表的事务操作
   rpc Transaction(TransactionReq) returns (Empty);
 
-  // VpnTag Model
+  /** VpnTag Model */
   // VpnTagAdd
   rpc VpnTagAdd(VpnTagVo) returns (VpnTagVo);
   rpc VpnTagUpdate(VpnTagVo) returns (VpnTagVo);
@@ -3534,7 +3568,7 @@ service GoVpnClient {
   rpc VpnTagBatchAdd(VpnTagBatchAddReq) returns (VpnTagBatchAddResp);
   rpc VpnTagBatchUpdate(VpnTagBatchUpdateReq) returns (VpnTagBatchUpdateResp);
 
-  // VpnGroup Model
+  /** VpnGroup Model */
   // VpnGroupAdd
   rpc VpnGroupAdd(VpnGroupAddReq) returns (VpnGroupVo);
   rpc VpnGroupUpdate(VpnGroupAddReq) returns (Empty);
@@ -3544,7 +3578,7 @@ service GoVpnClient {
   rpc VpnGroupBatchAdd(VpnGroupBatchAddReq) returns (VpnGroupBatchAddResp);
   rpc VpnGroupBatchUpdate(VpnGroupBatchUpdateReq) returns (VpnGroupBatchUpdateResp);
 
-  // VpnGroupTag Model
+  /** VpnGroupTag Model */
   // VpnGroupTagAdd
   rpc VpnGroupTagAdd(VpnGroupTagVo) returns (VpnGroupTagVo);
   rpc VpnGroupTagUpdate(VpnGroupTagVo) returns (VpnGroupTagVo);
@@ -3552,7 +3586,7 @@ service GoVpnClient {
   rpc VpnGroupTagGet(VpnGroupTagVo) returns (VpnGroupTagVo);
   rpc VpnGroupTagList(VpnGroupTagListReq) returns (VpnGroupTagListResp);
 
-  // VpnLocation Model
+  /** VpnLocation Model */
   // VpnLocationAdd
   rpc VpnLocationAdd(VpnLocationVo) returns (VpnLocationVo);
   rpc VpnLocationUpdate(VpnLocationVo) returns (Empty);
@@ -3562,7 +3596,7 @@ service GoVpnClient {
   rpc VpnLocationBatchAdd(VpnLocationBatchAddReq) returns (VpnLocationBatchAddResp);
   rpc VpnLocationBatchUpdate(VpnLocationBatchUpdateReq) returns (VpnLocationBatchUpdateResp);
 
-  // VpnServer Model
+  /** VpnServer Model */
   // VpnServerAdd
   rpc VpnServerAdd(VpnServerAddReq) returns (VpnServerAddReq);
   rpc VpnServerUpdate(VpnServerAddReq) returns (VpnServerAddReq);
@@ -3574,7 +3608,7 @@ service GoVpnClient {
   rpc VpnServerBatchAdd(VpnServerBatchAddReq) returns (VpnServerBatchAddResp);
   rpc VpnServerBatchUpdate(VpnServerBatchUpdateReq) returns (VpnServerBatchUpdateResp);
 
-  // VpnServerLocation Model
+  /** VpnServerLocation Model */
   // VpnServerLocationAdd
   rpc VpnServerLocationAdd(VpnServerLocationVo) returns (VpnServerLocationVo);
   rpc VpnServerLocationUpdate(VpnServerLocationVo) returns (Empty);
@@ -3587,13 +3621,13 @@ service GoVpnClient {
   // VpnLocationServerCount
   rpc VpnLocationServerCount(VpnLocationServerCountReq) returns (VpnLocationServerCountResp);
 
-  // VpnProbeTask Model
+  /** VpnProbeTask Model */
   // VpnProbeTaskAdd
   rpc VpnProbeTaskAdd(VpnProbeTaskVo) returns (VpnProbeTaskVo);
   rpc VpnProbeTaskUpdate(VpnProbeTaskVo) returns (Empty);
   rpc VpnProbeTaskList(VpnProbeTaskListReq) returns (VpnProbeTaskListResp);
 
-  // VpnipWalled Model
+  /** VpnipWalled Model */
   // VpnipWalledAdd
   rpc VpnipWalledAdd(VpnipWalledAddReq) returns (VpnipWalledAddResp);
   rpc VpnipWalledUpdate(VpnipWalledUpdateReq) returns (VpnipWalledUpdateResp);
@@ -3603,7 +3637,7 @@ service GoVpnClient {
   rpc VpnipWalledBatchAdd(VpnipWalledBatchAddReq) returns (VpnipWalledBatchAddResp);
   rpc VpnipWalledBatchUpdate(VpnipWalledBatchUpdateReq) returns (VpnipWalledBatchUpdateResp);
 
-  // Vpnip Model
+  /** Vpnip Model */
   // VpnipAdd
   rpc VpnipAdd(VpnipAddReq) returns (VpnipAddResp);
   rpc VpnipExAdd(VpnipExAddReq) returns (VpnipExAddResp);
@@ -3619,7 +3653,7 @@ service GoVpnClient {
   rpc VpnipExBatchAdd(VpnipExBatchAddReq) returns (VpnipExBatchAddResp);
   rpc VpnipExBatchUpdate(VpnipExBatchUpdateReq) returns (VpnipExBatchUpdateResp);
 
-  // VpnipRange Model
+  /** VpnipRange Model */
   // VpnipRangeAdd
   rpc VpnipRangeAdd(VpnipRangeAddReq) returns (VpnipRangeAddResp);
   // VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID
@@ -3636,7 +3670,7 @@ service GoVpnClient {
   rpc VpnipRangeBatchUpdate(VpnipRangeBatchUpdateReq) returns (VpnipRangeBatchUpdateResp);
   rpc VpnipRangeExBatchUpdate(VpnipRangeExBatchUpdateReq) returns (VpnipRangeExBatchUpdateResp);
 
-  // VpnipBind Model
+  /** VpnipBind Model */
   // VpnipBindAdd
   rpc VpnipBindAdd(VpnipBindAddReq) returns (VpnipBindAddResp);
   rpc VpnipBindUpdate(VpnipBindUpdateReq) returns (VpnipBindUpdateResp);
@@ -3647,7 +3681,7 @@ service GoVpnClient {
   // VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充
   rpc VpnipsBindServer(VpnipBindBatchAddReq) returns (VpnipBindBatchAddResp);
 
-  // VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)
+  /** VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)*/
   // VpnConfigTemplatePlanAdd 添加配置模板及模板详情
   rpc VpnConfigTemplatePlanAdd(VpnConfigTemplatePlanAddReq) returns (VpnConfigTemplatePlanAddResp);
   // VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情)
@@ -3659,11 +3693,19 @@ service GoVpnClient {
   // VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情)
   rpc VpnConfigTemplatePlanList(VpnConfigTemplatePlanListReq) returns (VpnConfigTemplatePlanListResp);
 
-  // VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)
+  /** VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)*/
   // VpnConfigTemplatePlanDetailAdd 添加模板详情
   rpc VpnConfigTemplatePlanDetailAdd(VpnConfigTemplatePlanDetailAddReq) returns (VpnConfigTemplatePlanDetailAddResp);
   rpc VpnConfigTemplatePlanDetailUpdate(VpnConfigTemplatePlanDetailUpdateReq) returns (VpnConfigTemplatePlanDetailUpdateResp);
   rpc VpnConfigTemplatePlanDetailDel(VpnConfigTemplatePlanDetailDelReq) returns (Empty);
   rpc VpnConfigTemplatePlanDetailGet(VpnConfigTemplatePlanDetailGetReq) returns (VpnConfigTemplatePlanDetailGetResp);
   rpc VpnConfigTemplatePlanDetailList(VpnConfigTemplatePlanDetailListReq) returns (VpnConfigTemplatePlanDetailListResp);
+
+  /** VpnServerPort Model */
+  // VpnServerPortAdd
+  rpc VpnServerPortAdd(VpnServerPortAddReq) returns (VpnServerPortAddResp);
+  rpc VpnServerPortUpdate(VpnServerPortUpdateReq) returns (VpnServerPortUpdateResp);
+  rpc VpnServerPortDel(VpnServerPortDelReq) returns (Empty);
+  rpc VpnServerPortGet(VpnServerPortGetReq) returns (VpnServerPortGetResp);
+  rpc VpnServerPortList(VpnServerPortListReq) returns (VpnServerPortListResp);
 }

文件差異過大導致無法顯示
+ 2032 - 1426
pb/pb/gorpc.pb.go


+ 193 - 27
pb/pb/gorpc_grpc.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // - protoc-gen-go-grpc v1.5.1
-// - protoc             v3.19.4
+// - protoc             v6.33.0
 // source: gorpc.proto
 
 package pb
@@ -12760,6 +12760,11 @@ const (
 	GoVpnClient_VpnConfigTemplatePlanDetailDel_FullMethodName    = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailDel"
 	GoVpnClient_VpnConfigTemplatePlanDetailGet_FullMethodName    = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailGet"
 	GoVpnClient_VpnConfigTemplatePlanDetailList_FullMethodName   = "/gorpc.GoVpnClient/VpnConfigTemplatePlanDetailList"
+	GoVpnClient_VpnServerPortAdd_FullMethodName                  = "/gorpc.GoVpnClient/VpnServerPortAdd"
+	GoVpnClient_VpnServerPortUpdate_FullMethodName               = "/gorpc.GoVpnClient/VpnServerPortUpdate"
+	GoVpnClient_VpnServerPortDel_FullMethodName                  = "/gorpc.GoVpnClient/VpnServerPortDel"
+	GoVpnClient_VpnServerPortGet_FullMethodName                  = "/gorpc.GoVpnClient/VpnServerPortGet"
+	GoVpnClient_VpnServerPortList_FullMethodName                 = "/gorpc.GoVpnClient/VpnServerPortList"
 )
 
 // GoVpnClientClient is the client API for GoVpnClient service.
@@ -12771,7 +12776,6 @@ type GoVpnClientClient interface {
 	Ping(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Response, error)
 	// 表的事务操作
 	Transaction(ctx context.Context, in *TransactionReq, opts ...grpc.CallOption) (*Empty, error)
-	// VpnTag Model
 	// VpnTagAdd
 	VpnTagAdd(ctx context.Context, in *VpnTagVo, opts ...grpc.CallOption) (*VpnTagVo, error)
 	VpnTagUpdate(ctx context.Context, in *VpnTagVo, opts ...grpc.CallOption) (*VpnTagVo, error)
@@ -12780,7 +12784,6 @@ type GoVpnClientClient interface {
 	VpnTagList(ctx context.Context, in *VpnTagListReq, opts ...grpc.CallOption) (*VpnTagListResp, error)
 	VpnTagBatchAdd(ctx context.Context, in *VpnTagBatchAddReq, opts ...grpc.CallOption) (*VpnTagBatchAddResp, error)
 	VpnTagBatchUpdate(ctx context.Context, in *VpnTagBatchUpdateReq, opts ...grpc.CallOption) (*VpnTagBatchUpdateResp, error)
-	// VpnGroup Model
 	// VpnGroupAdd
 	VpnGroupAdd(ctx context.Context, in *VpnGroupAddReq, opts ...grpc.CallOption) (*VpnGroupVo, error)
 	VpnGroupUpdate(ctx context.Context, in *VpnGroupAddReq, opts ...grpc.CallOption) (*Empty, error)
@@ -12789,14 +12792,12 @@ type GoVpnClientClient interface {
 	VpnGroupList(ctx context.Context, in *VpnGroupListReq, opts ...grpc.CallOption) (*VpnGroupListResp, error)
 	VpnGroupBatchAdd(ctx context.Context, in *VpnGroupBatchAddReq, opts ...grpc.CallOption) (*VpnGroupBatchAddResp, error)
 	VpnGroupBatchUpdate(ctx context.Context, in *VpnGroupBatchUpdateReq, opts ...grpc.CallOption) (*VpnGroupBatchUpdateResp, error)
-	// VpnGroupTag Model
 	// VpnGroupTagAdd
 	VpnGroupTagAdd(ctx context.Context, in *VpnGroupTagVo, opts ...grpc.CallOption) (*VpnGroupTagVo, error)
 	VpnGroupTagUpdate(ctx context.Context, in *VpnGroupTagVo, opts ...grpc.CallOption) (*VpnGroupTagVo, error)
 	VpnGroupTagDel(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*Empty, error)
 	VpnGroupTagGet(ctx context.Context, in *VpnGroupTagVo, opts ...grpc.CallOption) (*VpnGroupTagVo, error)
 	VpnGroupTagList(ctx context.Context, in *VpnGroupTagListReq, opts ...grpc.CallOption) (*VpnGroupTagListResp, error)
-	// VpnLocation Model
 	// VpnLocationAdd
 	VpnLocationAdd(ctx context.Context, in *VpnLocationVo, opts ...grpc.CallOption) (*VpnLocationVo, error)
 	VpnLocationUpdate(ctx context.Context, in *VpnLocationVo, opts ...grpc.CallOption) (*Empty, error)
@@ -12805,7 +12806,6 @@ type GoVpnClientClient interface {
 	VpnLocationList(ctx context.Context, in *VpnLocationListReq, opts ...grpc.CallOption) (*VpnLocationListResp, error)
 	VpnLocationBatchAdd(ctx context.Context, in *VpnLocationBatchAddReq, opts ...grpc.CallOption) (*VpnLocationBatchAddResp, error)
 	VpnLocationBatchUpdate(ctx context.Context, in *VpnLocationBatchUpdateReq, opts ...grpc.CallOption) (*VpnLocationBatchUpdateResp, error)
-	// VpnServer Model
 	// VpnServerAdd
 	VpnServerAdd(ctx context.Context, in *VpnServerAddReq, opts ...grpc.CallOption) (*VpnServerAddReq, error)
 	VpnServerUpdate(ctx context.Context, in *VpnServerAddReq, opts ...grpc.CallOption) (*VpnServerAddReq, error)
@@ -12816,7 +12816,6 @@ type GoVpnClientClient interface {
 	VpnServerExList(ctx context.Context, in *VpnServerListReq, opts ...grpc.CallOption) (*VpnServerExListResp, error)
 	VpnServerBatchAdd(ctx context.Context, in *VpnServerBatchAddReq, opts ...grpc.CallOption) (*VpnServerBatchAddResp, error)
 	VpnServerBatchUpdate(ctx context.Context, in *VpnServerBatchUpdateReq, opts ...grpc.CallOption) (*VpnServerBatchUpdateResp, error)
-	// VpnServerLocation Model
 	// VpnServerLocationAdd
 	VpnServerLocationAdd(ctx context.Context, in *VpnServerLocationVo, opts ...grpc.CallOption) (*VpnServerLocationVo, error)
 	VpnServerLocationUpdate(ctx context.Context, in *VpnServerLocationVo, opts ...grpc.CallOption) (*Empty, error)
@@ -12826,12 +12825,10 @@ type GoVpnClientClient interface {
 	VpnWithIPAndPort(ctx context.Context, in *VpnWithIPAndPortReq, opts ...grpc.CallOption) (*VpnWithIPAndPortResp, error)
 	// VpnLocationServerCount
 	VpnLocationServerCount(ctx context.Context, in *VpnLocationServerCountReq, opts ...grpc.CallOption) (*VpnLocationServerCountResp, error)
-	// VpnProbeTask Model
 	// VpnProbeTaskAdd
 	VpnProbeTaskAdd(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*VpnProbeTaskVo, error)
 	VpnProbeTaskUpdate(ctx context.Context, in *VpnProbeTaskVo, opts ...grpc.CallOption) (*Empty, error)
 	VpnProbeTaskList(ctx context.Context, in *VpnProbeTaskListReq, opts ...grpc.CallOption) (*VpnProbeTaskListResp, error)
-	// VpnipWalled Model
 	// VpnipWalledAdd
 	VpnipWalledAdd(ctx context.Context, in *VpnipWalledAddReq, opts ...grpc.CallOption) (*VpnipWalledAddResp, error)
 	VpnipWalledUpdate(ctx context.Context, in *VpnipWalledUpdateReq, opts ...grpc.CallOption) (*VpnipWalledUpdateResp, error)
@@ -12840,7 +12837,6 @@ type GoVpnClientClient interface {
 	VpnipWalledList(ctx context.Context, in *VpnipWalledListReq, opts ...grpc.CallOption) (*VpnipWalledListResp, error)
 	VpnipWalledBatchAdd(ctx context.Context, in *VpnipWalledBatchAddReq, opts ...grpc.CallOption) (*VpnipWalledBatchAddResp, error)
 	VpnipWalledBatchUpdate(ctx context.Context, in *VpnipWalledBatchUpdateReq, opts ...grpc.CallOption) (*VpnipWalledBatchUpdateResp, error)
-	// Vpnip Model
 	// VpnipAdd
 	VpnipAdd(ctx context.Context, in *VpnipAddReq, opts ...grpc.CallOption) (*VpnipAddResp, error)
 	VpnipExAdd(ctx context.Context, in *VpnipExAddReq, opts ...grpc.CallOption) (*VpnipExAddResp, error)
@@ -12855,7 +12851,6 @@ type GoVpnClientClient interface {
 	VpnipBatchUpdate(ctx context.Context, in *VpnipBatchUpdateReq, opts ...grpc.CallOption) (*VpnipBatchUpdateResp, error)
 	VpnipExBatchAdd(ctx context.Context, in *VpnipExBatchAddReq, opts ...grpc.CallOption) (*VpnipExBatchAddResp, error)
 	VpnipExBatchUpdate(ctx context.Context, in *VpnipExBatchUpdateReq, opts ...grpc.CallOption) (*VpnipExBatchUpdateResp, error)
-	// VpnipRange Model
 	// VpnipRangeAdd
 	VpnipRangeAdd(ctx context.Context, in *VpnipRangeAddReq, opts ...grpc.CallOption) (*VpnipRangeAddResp, error)
 	// VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID
@@ -12871,7 +12866,6 @@ type GoVpnClientClient interface {
 	VpnipRangeExBatchAdd(ctx context.Context, in *VpnipRangeExBatchAddReq, opts ...grpc.CallOption) (*VpnipRangeExBatchAddResp, error)
 	VpnipRangeBatchUpdate(ctx context.Context, in *VpnipRangeBatchUpdateReq, opts ...grpc.CallOption) (*VpnipRangeBatchUpdateResp, error)
 	VpnipRangeExBatchUpdate(ctx context.Context, in *VpnipRangeExBatchUpdateReq, opts ...grpc.CallOption) (*VpnipRangeExBatchUpdateResp, error)
-	// VpnipBind Model
 	// VpnipBindAdd
 	VpnipBindAdd(ctx context.Context, in *VpnipBindAddReq, opts ...grpc.CallOption) (*VpnipBindAddResp, error)
 	VpnipBindUpdate(ctx context.Context, in *VpnipBindUpdateReq, opts ...grpc.CallOption) (*VpnipBindUpdateResp, error)
@@ -12881,7 +12875,6 @@ type GoVpnClientClient interface {
 	VpnipBindBatchUpdate(ctx context.Context, in *VpnipBindBatchUpdateReq, opts ...grpc.CallOption) (*VpnipBindBatchUpdateResp, error)
 	// VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充
 	VpnipsBindServer(ctx context.Context, in *VpnipBindBatchAddReq, opts ...grpc.CallOption) (*VpnipBindBatchAddResp, error)
-	// VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)
 	// VpnConfigTemplatePlanAdd 添加配置模板及模板详情
 	VpnConfigTemplatePlanAdd(ctx context.Context, in *VpnConfigTemplatePlanAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanAddResp, error)
 	// VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情)
@@ -12892,13 +12885,18 @@ type GoVpnClientClient interface {
 	VpnConfigTemplatePlanGet(ctx context.Context, in *VpnConfigTemplatePlanGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanGetResp, error)
 	// VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情)
 	VpnConfigTemplatePlanList(ctx context.Context, in *VpnConfigTemplatePlanListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanListResp, error)
-	// VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)
 	// VpnConfigTemplatePlanDetailAdd 添加模板详情
 	VpnConfigTemplatePlanDetailAdd(ctx context.Context, in *VpnConfigTemplatePlanDetailAddReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailAddResp, error)
 	VpnConfigTemplatePlanDetailUpdate(ctx context.Context, in *VpnConfigTemplatePlanDetailUpdateReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailUpdateResp, error)
 	VpnConfigTemplatePlanDetailDel(ctx context.Context, in *VpnConfigTemplatePlanDetailDelReq, opts ...grpc.CallOption) (*Empty, error)
 	VpnConfigTemplatePlanDetailGet(ctx context.Context, in *VpnConfigTemplatePlanDetailGetReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailGetResp, error)
 	VpnConfigTemplatePlanDetailList(ctx context.Context, in *VpnConfigTemplatePlanDetailListReq, opts ...grpc.CallOption) (*VpnConfigTemplatePlanDetailListResp, error)
+	// VpnServerPortAdd
+	VpnServerPortAdd(ctx context.Context, in *VpnServerPortAddReq, opts ...grpc.CallOption) (*VpnServerPortAddResp, error)
+	VpnServerPortUpdate(ctx context.Context, in *VpnServerPortUpdateReq, opts ...grpc.CallOption) (*VpnServerPortUpdateResp, error)
+	VpnServerPortDel(ctx context.Context, in *VpnServerPortDelReq, opts ...grpc.CallOption) (*Empty, error)
+	VpnServerPortGet(ctx context.Context, in *VpnServerPortGetReq, opts ...grpc.CallOption) (*VpnServerPortGetResp, error)
+	VpnServerPortList(ctx context.Context, in *VpnServerPortListReq, opts ...grpc.CallOption) (*VpnServerPortListResp, error)
 }
 
 type goVpnClientClient struct {
@@ -13879,6 +13877,56 @@ func (c *goVpnClientClient) VpnConfigTemplatePlanDetailList(ctx context.Context,
 	return out, nil
 }
 
+func (c *goVpnClientClient) VpnServerPortAdd(ctx context.Context, in *VpnServerPortAddReq, opts ...grpc.CallOption) (*VpnServerPortAddResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnServerPortAddResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnServerPortAdd_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnServerPortUpdate(ctx context.Context, in *VpnServerPortUpdateReq, opts ...grpc.CallOption) (*VpnServerPortUpdateResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnServerPortUpdateResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnServerPortUpdate_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnServerPortDel(ctx context.Context, in *VpnServerPortDelReq, opts ...grpc.CallOption) (*Empty, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(Empty)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnServerPortDel_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnServerPortGet(ctx context.Context, in *VpnServerPortGetReq, opts ...grpc.CallOption) (*VpnServerPortGetResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnServerPortGetResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnServerPortGet_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *goVpnClientClient) VpnServerPortList(ctx context.Context, in *VpnServerPortListReq, opts ...grpc.CallOption) (*VpnServerPortListResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(VpnServerPortListResp)
+	err := c.cc.Invoke(ctx, GoVpnClient_VpnServerPortList_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // GoVpnClientServer is the server API for GoVpnClient service.
 // All implementations must embed UnimplementedGoVpnClientServer
 // for forward compatibility.
@@ -13888,7 +13936,6 @@ type GoVpnClientServer interface {
 	Ping(context.Context, *Request) (*Response, error)
 	// 表的事务操作
 	Transaction(context.Context, *TransactionReq) (*Empty, error)
-	// VpnTag Model
 	// VpnTagAdd
 	VpnTagAdd(context.Context, *VpnTagVo) (*VpnTagVo, error)
 	VpnTagUpdate(context.Context, *VpnTagVo) (*VpnTagVo, error)
@@ -13897,7 +13944,6 @@ type GoVpnClientServer interface {
 	VpnTagList(context.Context, *VpnTagListReq) (*VpnTagListResp, error)
 	VpnTagBatchAdd(context.Context, *VpnTagBatchAddReq) (*VpnTagBatchAddResp, error)
 	VpnTagBatchUpdate(context.Context, *VpnTagBatchUpdateReq) (*VpnTagBatchUpdateResp, error)
-	// VpnGroup Model
 	// VpnGroupAdd
 	VpnGroupAdd(context.Context, *VpnGroupAddReq) (*VpnGroupVo, error)
 	VpnGroupUpdate(context.Context, *VpnGroupAddReq) (*Empty, error)
@@ -13906,14 +13952,12 @@ type GoVpnClientServer interface {
 	VpnGroupList(context.Context, *VpnGroupListReq) (*VpnGroupListResp, error)
 	VpnGroupBatchAdd(context.Context, *VpnGroupBatchAddReq) (*VpnGroupBatchAddResp, error)
 	VpnGroupBatchUpdate(context.Context, *VpnGroupBatchUpdateReq) (*VpnGroupBatchUpdateResp, error)
-	// VpnGroupTag Model
 	// VpnGroupTagAdd
 	VpnGroupTagAdd(context.Context, *VpnGroupTagVo) (*VpnGroupTagVo, error)
 	VpnGroupTagUpdate(context.Context, *VpnGroupTagVo) (*VpnGroupTagVo, error)
 	VpnGroupTagDel(context.Context, *Ids) (*Empty, error)
 	VpnGroupTagGet(context.Context, *VpnGroupTagVo) (*VpnGroupTagVo, error)
 	VpnGroupTagList(context.Context, *VpnGroupTagListReq) (*VpnGroupTagListResp, error)
-	// VpnLocation Model
 	// VpnLocationAdd
 	VpnLocationAdd(context.Context, *VpnLocationVo) (*VpnLocationVo, error)
 	VpnLocationUpdate(context.Context, *VpnLocationVo) (*Empty, error)
@@ -13922,7 +13966,6 @@ type GoVpnClientServer interface {
 	VpnLocationList(context.Context, *VpnLocationListReq) (*VpnLocationListResp, error)
 	VpnLocationBatchAdd(context.Context, *VpnLocationBatchAddReq) (*VpnLocationBatchAddResp, error)
 	VpnLocationBatchUpdate(context.Context, *VpnLocationBatchUpdateReq) (*VpnLocationBatchUpdateResp, error)
-	// VpnServer Model
 	// VpnServerAdd
 	VpnServerAdd(context.Context, *VpnServerAddReq) (*VpnServerAddReq, error)
 	VpnServerUpdate(context.Context, *VpnServerAddReq) (*VpnServerAddReq, error)
@@ -13933,7 +13976,6 @@ type GoVpnClientServer interface {
 	VpnServerExList(context.Context, *VpnServerListReq) (*VpnServerExListResp, error)
 	VpnServerBatchAdd(context.Context, *VpnServerBatchAddReq) (*VpnServerBatchAddResp, error)
 	VpnServerBatchUpdate(context.Context, *VpnServerBatchUpdateReq) (*VpnServerBatchUpdateResp, error)
-	// VpnServerLocation Model
 	// VpnServerLocationAdd
 	VpnServerLocationAdd(context.Context, *VpnServerLocationVo) (*VpnServerLocationVo, error)
 	VpnServerLocationUpdate(context.Context, *VpnServerLocationVo) (*Empty, error)
@@ -13943,12 +13985,10 @@ type GoVpnClientServer interface {
 	VpnWithIPAndPort(context.Context, *VpnWithIPAndPortReq) (*VpnWithIPAndPortResp, error)
 	// VpnLocationServerCount
 	VpnLocationServerCount(context.Context, *VpnLocationServerCountReq) (*VpnLocationServerCountResp, error)
-	// VpnProbeTask Model
 	// VpnProbeTaskAdd
 	VpnProbeTaskAdd(context.Context, *VpnProbeTaskVo) (*VpnProbeTaskVo, error)
 	VpnProbeTaskUpdate(context.Context, *VpnProbeTaskVo) (*Empty, error)
 	VpnProbeTaskList(context.Context, *VpnProbeTaskListReq) (*VpnProbeTaskListResp, error)
-	// VpnipWalled Model
 	// VpnipWalledAdd
 	VpnipWalledAdd(context.Context, *VpnipWalledAddReq) (*VpnipWalledAddResp, error)
 	VpnipWalledUpdate(context.Context, *VpnipWalledUpdateReq) (*VpnipWalledUpdateResp, error)
@@ -13957,7 +13997,6 @@ type GoVpnClientServer interface {
 	VpnipWalledList(context.Context, *VpnipWalledListReq) (*VpnipWalledListResp, error)
 	VpnipWalledBatchAdd(context.Context, *VpnipWalledBatchAddReq) (*VpnipWalledBatchAddResp, error)
 	VpnipWalledBatchUpdate(context.Context, *VpnipWalledBatchUpdateReq) (*VpnipWalledBatchUpdateResp, error)
-	// Vpnip Model
 	// VpnipAdd
 	VpnipAdd(context.Context, *VpnipAddReq) (*VpnipAddResp, error)
 	VpnipExAdd(context.Context, *VpnipExAddReq) (*VpnipExAddResp, error)
@@ -13972,7 +14011,6 @@ type GoVpnClientServer interface {
 	VpnipBatchUpdate(context.Context, *VpnipBatchUpdateReq) (*VpnipBatchUpdateResp, error)
 	VpnipExBatchAdd(context.Context, *VpnipExBatchAddReq) (*VpnipExBatchAddResp, error)
 	VpnipExBatchUpdate(context.Context, *VpnipExBatchUpdateReq) (*VpnipExBatchUpdateResp, error)
-	// VpnipRange Model
 	// VpnipRangeAdd
 	VpnipRangeAdd(context.Context, *VpnipRangeAddReq) (*VpnipRangeAddResp, error)
 	// VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID
@@ -13988,7 +14026,6 @@ type GoVpnClientServer interface {
 	VpnipRangeExBatchAdd(context.Context, *VpnipRangeExBatchAddReq) (*VpnipRangeExBatchAddResp, error)
 	VpnipRangeBatchUpdate(context.Context, *VpnipRangeBatchUpdateReq) (*VpnipRangeBatchUpdateResp, error)
 	VpnipRangeExBatchUpdate(context.Context, *VpnipRangeExBatchUpdateReq) (*VpnipRangeExBatchUpdateResp, error)
-	// VpnipBind Model
 	// VpnipBindAdd
 	VpnipBindAdd(context.Context, *VpnipBindAddReq) (*VpnipBindAddResp, error)
 	VpnipBindUpdate(context.Context, *VpnipBindUpdateReq) (*VpnipBindUpdateResp, error)
@@ -13998,7 +14035,6 @@ type GoVpnClientServer interface {
 	VpnipBindBatchUpdate(context.Context, *VpnipBindBatchUpdateReq) (*VpnipBindBatchUpdateResp, error)
 	// VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充
 	VpnipsBindServer(context.Context, *VpnipBindBatchAddReq) (*VpnipBindBatchAddResp, error)
-	// VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)
 	// VpnConfigTemplatePlanAdd 添加配置模板及模板详情
 	VpnConfigTemplatePlanAdd(context.Context, *VpnConfigTemplatePlanAddReq) (*VpnConfigTemplatePlanAddResp, error)
 	// VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情)
@@ -14009,13 +14045,18 @@ type GoVpnClientServer interface {
 	VpnConfigTemplatePlanGet(context.Context, *VpnConfigTemplatePlanGetReq) (*VpnConfigTemplatePlanGetResp, error)
 	// VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情)
 	VpnConfigTemplatePlanList(context.Context, *VpnConfigTemplatePlanListReq) (*VpnConfigTemplatePlanListResp, error)
-	// VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)
 	// VpnConfigTemplatePlanDetailAdd 添加模板详情
 	VpnConfigTemplatePlanDetailAdd(context.Context, *VpnConfigTemplatePlanDetailAddReq) (*VpnConfigTemplatePlanDetailAddResp, error)
 	VpnConfigTemplatePlanDetailUpdate(context.Context, *VpnConfigTemplatePlanDetailUpdateReq) (*VpnConfigTemplatePlanDetailUpdateResp, error)
 	VpnConfigTemplatePlanDetailDel(context.Context, *VpnConfigTemplatePlanDetailDelReq) (*Empty, error)
 	VpnConfigTemplatePlanDetailGet(context.Context, *VpnConfigTemplatePlanDetailGetReq) (*VpnConfigTemplatePlanDetailGetResp, error)
 	VpnConfigTemplatePlanDetailList(context.Context, *VpnConfigTemplatePlanDetailListReq) (*VpnConfigTemplatePlanDetailListResp, error)
+	// VpnServerPortAdd
+	VpnServerPortAdd(context.Context, *VpnServerPortAddReq) (*VpnServerPortAddResp, error)
+	VpnServerPortUpdate(context.Context, *VpnServerPortUpdateReq) (*VpnServerPortUpdateResp, error)
+	VpnServerPortDel(context.Context, *VpnServerPortDelReq) (*Empty, error)
+	VpnServerPortGet(context.Context, *VpnServerPortGetReq) (*VpnServerPortGetResp, error)
+	VpnServerPortList(context.Context, *VpnServerPortListReq) (*VpnServerPortListResp, error)
 	mustEmbedUnimplementedGoVpnClientServer()
 }
 
@@ -14317,6 +14358,21 @@ func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDetailGet(context.Con
 func (UnimplementedGoVpnClientServer) VpnConfigTemplatePlanDetailList(context.Context, *VpnConfigTemplatePlanDetailListReq) (*VpnConfigTemplatePlanDetailListResp, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method VpnConfigTemplatePlanDetailList not implemented")
 }
+func (UnimplementedGoVpnClientServer) VpnServerPortAdd(context.Context, *VpnServerPortAddReq) (*VpnServerPortAddResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnServerPortAdd not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnServerPortUpdate(context.Context, *VpnServerPortUpdateReq) (*VpnServerPortUpdateResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnServerPortUpdate not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnServerPortDel(context.Context, *VpnServerPortDelReq) (*Empty, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnServerPortDel not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnServerPortGet(context.Context, *VpnServerPortGetReq) (*VpnServerPortGetResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnServerPortGet not implemented")
+}
+func (UnimplementedGoVpnClientServer) VpnServerPortList(context.Context, *VpnServerPortListReq) (*VpnServerPortListResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VpnServerPortList not implemented")
+}
 func (UnimplementedGoVpnClientServer) mustEmbedUnimplementedGoVpnClientServer() {}
 func (UnimplementedGoVpnClientServer) testEmbeddedByValue()                     {}
 
@@ -16084,6 +16140,96 @@ func _GoVpnClient_VpnConfigTemplatePlanDetailList_Handler(srv interface{}, ctx c
 	return interceptor(ctx, in, info, handler)
 }
 
+func _GoVpnClient_VpnServerPortAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnServerPortAddReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnServerPortAdd(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnServerPortAdd_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnServerPortAdd(ctx, req.(*VpnServerPortAddReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnServerPortUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnServerPortUpdateReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnServerPortUpdate(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnServerPortUpdate_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnServerPortUpdate(ctx, req.(*VpnServerPortUpdateReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnServerPortDel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnServerPortDelReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnServerPortDel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnServerPortDel_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnServerPortDel(ctx, req.(*VpnServerPortDelReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnServerPortGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnServerPortGetReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnServerPortGet(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnServerPortGet_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnServerPortGet(ctx, req.(*VpnServerPortGetReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _GoVpnClient_VpnServerPortList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(VpnServerPortListReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(GoVpnClientServer).VpnServerPortList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: GoVpnClient_VpnServerPortList_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(GoVpnClientServer).VpnServerPortList(ctx, req.(*VpnServerPortListReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 // GoVpnClient_ServiceDesc is the grpc.ServiceDesc for GoVpnClient service.
 // It's only intended for direct use with grpc.RegisterService,
 // and not to be introspected or modified (even as a copy)
@@ -16479,6 +16625,26 @@ var GoVpnClient_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "VpnConfigTemplatePlanDetailList",
 			Handler:    _GoVpnClient_VpnConfigTemplatePlanDetailList_Handler,
 		},
+		{
+			MethodName: "VpnServerPortAdd",
+			Handler:    _GoVpnClient_VpnServerPortAdd_Handler,
+		},
+		{
+			MethodName: "VpnServerPortUpdate",
+			Handler:    _GoVpnClient_VpnServerPortUpdate_Handler,
+		},
+		{
+			MethodName: "VpnServerPortDel",
+			Handler:    _GoVpnClient_VpnServerPortDel_Handler,
+		},
+		{
+			MethodName: "VpnServerPortGet",
+			Handler:    _GoVpnClient_VpnServerPortGet_Handler,
+		},
+		{
+			MethodName: "VpnServerPortList",
+			Handler:    _GoVpnClient_VpnServerPortList_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "gorpc.proto",

+ 55 - 13
pb/vpn.proto

@@ -626,13 +626,47 @@ message VpnConfigTemplatePlanDetailListResp {
   repeated VpnConfigTemplatePlanDetailVo list = 2;
 }
 
+message VpnServerPortVo {
+  int64 id = 1;
+  int64 srcServerId = 2;
+  uint32 srcPort = 3;
+  int64 dstServerId = 4;
+  int64 createTime = 5;
+  int64 createAt = 6;
+  int64 updateTime = 7;
+  int64 updateAt = 8;
+}
+
+message VpnServerPortGetReq { VpnServerPortVo vo = 1; }
+message VpnServerPortGetResp { VpnServerPortVo vo = 1; }
+
+message VpnServerPortAddReq { VpnServerPortVo vo = 1; }
+message VpnServerPortAddResp { VpnServerPortVo vo = 1; }
+
+message VpnServerPortUpdateReq { VpnServerPortVo vo = 1; }
+message VpnServerPortUpdateResp { VpnServerPortVo vo = 1; }
+
+message VpnServerPortDelReq { repeated int64 ids = 1; }
+
+message VpnServerPortListReq {
+  Page page = 1;
+  VpnServerPortVo vo = 2;
+  repeated int64 srcServerIds = 3;
+  repeated uint32 srcPorts = 4;
+  repeated int64 dstServerIds = 5;
+}
+message VpnServerPortListResp {
+  int64 total = 1;
+  repeated VpnServerPortVo list = 2;
+}
+
 // govpn 模块,VPN相关服务
 service GoVpnClient {
   rpc Ping(Request) returns (Response);
   // 表的事务操作
   rpc Transaction(TransactionReq) returns (Empty);
 
-  // VpnTag Model
+  /** VpnTag Model */
   // VpnTagAdd
   rpc VpnTagAdd(VpnTagVo) returns (VpnTagVo);
   rpc VpnTagUpdate(VpnTagVo) returns (VpnTagVo);
@@ -642,7 +676,7 @@ service GoVpnClient {
   rpc VpnTagBatchAdd(VpnTagBatchAddReq) returns (VpnTagBatchAddResp);
   rpc VpnTagBatchUpdate(VpnTagBatchUpdateReq) returns (VpnTagBatchUpdateResp);
 
-  // VpnGroup Model
+  /** VpnGroup Model */
   // VpnGroupAdd
   rpc VpnGroupAdd(VpnGroupAddReq) returns (VpnGroupVo);
   rpc VpnGroupUpdate(VpnGroupAddReq) returns (Empty);
@@ -652,7 +686,7 @@ service GoVpnClient {
   rpc VpnGroupBatchAdd(VpnGroupBatchAddReq) returns (VpnGroupBatchAddResp);
   rpc VpnGroupBatchUpdate(VpnGroupBatchUpdateReq) returns (VpnGroupBatchUpdateResp);
 
-  // VpnGroupTag Model
+  /** VpnGroupTag Model */
   // VpnGroupTagAdd
   rpc VpnGroupTagAdd(VpnGroupTagVo) returns (VpnGroupTagVo);
   rpc VpnGroupTagUpdate(VpnGroupTagVo) returns (VpnGroupTagVo);
@@ -660,7 +694,7 @@ service GoVpnClient {
   rpc VpnGroupTagGet(VpnGroupTagVo) returns (VpnGroupTagVo);
   rpc VpnGroupTagList(VpnGroupTagListReq) returns (VpnGroupTagListResp);
 
-  // VpnLocation Model
+  /** VpnLocation Model */
   // VpnLocationAdd
   rpc VpnLocationAdd(VpnLocationVo) returns (VpnLocationVo);
   rpc VpnLocationUpdate(VpnLocationVo) returns (Empty);
@@ -670,7 +704,7 @@ service GoVpnClient {
   rpc VpnLocationBatchAdd(VpnLocationBatchAddReq) returns (VpnLocationBatchAddResp);
   rpc VpnLocationBatchUpdate(VpnLocationBatchUpdateReq) returns (VpnLocationBatchUpdateResp);
 
-  // VpnServer Model
+  /** VpnServer Model */
   // VpnServerAdd
   rpc VpnServerAdd(VpnServerAddReq) returns (VpnServerAddReq);
   rpc VpnServerUpdate(VpnServerAddReq) returns (VpnServerAddReq);
@@ -682,7 +716,7 @@ service GoVpnClient {
   rpc VpnServerBatchAdd(VpnServerBatchAddReq) returns (VpnServerBatchAddResp);
   rpc VpnServerBatchUpdate(VpnServerBatchUpdateReq) returns (VpnServerBatchUpdateResp);
 
-  // VpnServerLocation Model
+  /** VpnServerLocation Model */
   // VpnServerLocationAdd
   rpc VpnServerLocationAdd(VpnServerLocationVo) returns (VpnServerLocationVo);
   rpc VpnServerLocationUpdate(VpnServerLocationVo) returns (Empty);
@@ -695,13 +729,13 @@ service GoVpnClient {
   // VpnLocationServerCount
   rpc VpnLocationServerCount(VpnLocationServerCountReq) returns (VpnLocationServerCountResp);
 
-  // VpnProbeTask Model
+  /** VpnProbeTask Model */
   // VpnProbeTaskAdd
   rpc VpnProbeTaskAdd(VpnProbeTaskVo) returns (VpnProbeTaskVo);
   rpc VpnProbeTaskUpdate(VpnProbeTaskVo) returns (Empty);
   rpc VpnProbeTaskList(VpnProbeTaskListReq) returns (VpnProbeTaskListResp);
 
-  // VpnipWalled Model
+  /** VpnipWalled Model */
   // VpnipWalledAdd
   rpc VpnipWalledAdd(VpnipWalledAddReq) returns (VpnipWalledAddResp);
   rpc VpnipWalledUpdate(VpnipWalledUpdateReq) returns (VpnipWalledUpdateResp);
@@ -711,7 +745,7 @@ service GoVpnClient {
   rpc VpnipWalledBatchAdd(VpnipWalledBatchAddReq) returns (VpnipWalledBatchAddResp);
   rpc VpnipWalledBatchUpdate(VpnipWalledBatchUpdateReq) returns (VpnipWalledBatchUpdateResp);
 
-  // Vpnip Model
+  /** Vpnip Model */
   // VpnipAdd
   rpc VpnipAdd(VpnipAddReq) returns (VpnipAddResp);
   rpc VpnipExAdd(VpnipExAddReq) returns (VpnipExAddResp);
@@ -727,7 +761,7 @@ service GoVpnClient {
   rpc VpnipExBatchAdd(VpnipExBatchAddReq) returns (VpnipExBatchAddResp);
   rpc VpnipExBatchUpdate(VpnipExBatchUpdateReq) returns (VpnipExBatchUpdateResp);
 
-  // VpnipRange Model
+  /** VpnipRange Model */
   // VpnipRangeAdd
   rpc VpnipRangeAdd(VpnipRangeAddReq) returns (VpnipRangeAddResp);
   // VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID
@@ -744,7 +778,7 @@ service GoVpnClient {
   rpc VpnipRangeBatchUpdate(VpnipRangeBatchUpdateReq) returns (VpnipRangeBatchUpdateResp);
   rpc VpnipRangeExBatchUpdate(VpnipRangeExBatchUpdateReq) returns (VpnipRangeExBatchUpdateResp);
 
-  // VpnipBind Model
+  /** VpnipBind Model */
   // VpnipBindAdd
   rpc VpnipBindAdd(VpnipBindAddReq) returns (VpnipBindAddResp);
   rpc VpnipBindUpdate(VpnipBindUpdateReq) returns (VpnipBindUpdateResp);
@@ -755,7 +789,7 @@ service GoVpnClient {
   // VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充
   rpc VpnipsBindServer(VpnipBindBatchAddReq) returns (VpnipBindBatchAddResp);
 
-  // VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)
+  /** VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)*/
   // VpnConfigTemplatePlanAdd 添加配置模板及模板详情
   rpc VpnConfigTemplatePlanAdd(VpnConfigTemplatePlanAddReq) returns (VpnConfigTemplatePlanAddResp);
   // VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情)
@@ -767,11 +801,19 @@ service GoVpnClient {
   // VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情)
   rpc VpnConfigTemplatePlanList(VpnConfigTemplatePlanListReq) returns (VpnConfigTemplatePlanListResp);
 
-  // VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)
+  /** VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)*/
   // VpnConfigTemplatePlanDetailAdd 添加模板详情
   rpc VpnConfigTemplatePlanDetailAdd(VpnConfigTemplatePlanDetailAddReq) returns (VpnConfigTemplatePlanDetailAddResp);
   rpc VpnConfigTemplatePlanDetailUpdate(VpnConfigTemplatePlanDetailUpdateReq) returns (VpnConfigTemplatePlanDetailUpdateResp);
   rpc VpnConfigTemplatePlanDetailDel(VpnConfigTemplatePlanDetailDelReq) returns (Empty);
   rpc VpnConfigTemplatePlanDetailGet(VpnConfigTemplatePlanDetailGetReq) returns (VpnConfigTemplatePlanDetailGetResp);
   rpc VpnConfigTemplatePlanDetailList(VpnConfigTemplatePlanDetailListReq) returns (VpnConfigTemplatePlanDetailListResp);
+
+  /** VpnServerPort Model */
+  // VpnServerPortAdd
+  rpc VpnServerPortAdd(VpnServerPortAddReq) returns (VpnServerPortAddResp);
+  rpc VpnServerPortUpdate(VpnServerPortUpdateReq) returns (VpnServerPortUpdateResp);
+  rpc VpnServerPortDel(VpnServerPortDelReq) returns (Empty);
+  rpc VpnServerPortGet(VpnServerPortGetReq) returns (VpnServerPortGetResp);
+  rpc VpnServerPortList(VpnServerPortListReq) returns (VpnServerPortListResp);
 }

部分文件因文件數量過多而無法顯示