vpn.proto 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829
  1. syntax = "proto3";
  2. package gorpc;
  3. option go_package = "code.clickto.dev/nomo-server/go-service-pb/client";
  4. import "pb/common.proto";
  5. // VpnTag
  6. message VpnTagVo {
  7. int64 id = 1;
  8. string productCode = 2;
  9. string type = 3;
  10. string name = 4;
  11. int64 sort = 5;
  12. Status status = 6;
  13. string remark = 7;
  14. int64 createTime = 8;
  15. int64 updateTime = 9;
  16. string otherConfig = 10;
  17. }
  18. message VpnTagGetReq { VpnTagVo vo = 1; }
  19. message VpnTagListReq {
  20. Page page = 1;
  21. VpnTagVo vo = 2;
  22. repeated string productCodes = 3;
  23. repeated int64 excludeIds = 4;
  24. }
  25. message VpnTagListResp {
  26. int64 total = 1;
  27. repeated VpnTagVo list = 2;
  28. }
  29. message VpnTagBatchAddReq { repeated VpnTagVo list = 1; }
  30. message VpnTagBatchAddResp { repeated VpnTagVo list = 1; }
  31. message VpnTagBatchUpdateReq { repeated VpnTagVo list = 1; }
  32. message VpnTagBatchUpdateResp { repeated VpnTagVo list = 1; }
  33. message VpnTagBatchDelReq { repeated int64 ids = 1; }
  34. // VpnTag
  35. message VpnGroupVo {
  36. int64 id = 1;
  37. string productCode = 2;
  38. string name = 3;
  39. string icon = 4;
  40. int64 sort = 5;
  41. Status status = 6;
  42. string remark = 7;
  43. int64 createTime = 8;
  44. int64 updateTime = 9;
  45. string version = 10;
  46. string otherConfig = 11;
  47. }
  48. message VpnGroupExVo {
  49. VpnGroupVo vo = 1;
  50. repeated int64 tagIds = 2;
  51. }
  52. message VpnGroupAddReq {
  53. VpnGroupVo vo = 1;
  54. repeated int64 tagIds = 2;
  55. }
  56. message VpnGroupGetReq { VpnGroupVo vo = 1; }
  57. message VpnGroupListReq {
  58. Page page = 1;
  59. VpnGroupVo vo = 2;
  60. repeated string productCodes = 3;
  61. repeated int64 excludeIds = 4;
  62. }
  63. message VpnGroupListResp {
  64. int64 total = 1;
  65. repeated VpnGroupVo list = 2;
  66. }
  67. message VpnGroupBatchAddReq { repeated VpnGroupExVo list = 1; }
  68. message VpnGroupBatchAddResp { repeated VpnGroupExVo list = 1; }
  69. message VpnGroupBatchUpdateReq { repeated VpnGroupExVo list = 1; }
  70. message VpnGroupBatchUpdateResp { repeated VpnGroupExVo list = 1; }
  71. message VpnGroupBatchDelReq { repeated int64 ids = 1; }
  72. // VpnGroupTag
  73. message VpnGroupTagVo {
  74. int64 id = 1;
  75. int64 groupId = 2;
  76. int64 tagId = 3;
  77. int64 createTime = 4;
  78. int64 updateTime = 5;
  79. }
  80. message VpnGroupTagListReq {
  81. Page page = 1;
  82. VpnGroupTagVo vo = 2;
  83. repeated int64 groupIds = 3;
  84. repeated int64 tagIds = 4;
  85. }
  86. message VpnGroupTagListResp {
  87. int64 total = 1;
  88. repeated VpnGroupTagVo list = 2;
  89. }
  90. // VpnLocation
  91. message VpnLocationVo {
  92. int64 id = 1;
  93. int64 groupId = 2;
  94. string name = 3;
  95. string code = 4;
  96. string icon = 5;
  97. int64 type = 6;
  98. string displayPolicyConfig = 7;
  99. string routePolicyConfig = 8;
  100. int64 sort = 9;
  101. Status status = 10;
  102. string remark = 11;
  103. int64 createTime = 12;
  104. int64 updateTime = 13;
  105. string version = 14;
  106. string otherConfig = 15;
  107. }
  108. message VpnLocationExVo {
  109. VpnLocationVo vo = 1;
  110. string productCode = 2;
  111. }
  112. message VpnLocationGetReq { VpnLocationVo vo = 1; }
  113. message VpnLocationListReq {
  114. Page page = 1;
  115. VpnLocationExVo vo = 2;
  116. repeated int64 groupIds = 3;
  117. repeated int64 excludeIds = 4;
  118. repeated string productCodes = 5;
  119. }
  120. message VpnLocationListResp {
  121. int64 total = 1;
  122. repeated VpnLocationExVo list = 2;
  123. }
  124. message VpnLocationBatchAddReq { repeated VpnLocationVo list = 1; }
  125. message VpnLocationBatchAddResp { repeated VpnLocationExVo list = 1; }
  126. message VpnLocationBatchUpdateReq { repeated VpnLocationVo list = 1; }
  127. message VpnLocationBatchUpdateResp { repeated VpnLocationExVo list = 1; }
  128. message VpnLocationBatchDelReq { repeated int64 ids = 1; }
  129. // VpnServer
  130. message VpnServerVo {
  131. int64 id = 1;
  132. int64 instanceId = 2;
  133. string name = 3;
  134. string ip = 4;
  135. int64 port = 5;
  136. int64 pingPort = 6;
  137. string netConfig = 7;
  138. string routePolicyConfig = 8;
  139. string serverInfo = 9;
  140. Status status = 10;
  141. string remark = 11;
  142. int64 createTime = 12;
  143. int64 updateTime = 13;
  144. string version = 14;
  145. string otherInfo = 15;
  146. int64 monitorPort = 16;
  147. string vpnConfig = 17;
  148. }
  149. message VpnServerExVo {
  150. VpnServerVo vo = 1;
  151. repeated int64 locationIds = 2;
  152. }
  153. message VpnServerListReq {
  154. Page page = 1;
  155. VpnServerVo vo = 2;
  156. repeated int64 excludeIds = 3; // 排除的ID
  157. repeated string productCodes = 4;
  158. repeated int64 locationIds = 5;
  159. repeated int64 instanceIds = 6;
  160. }
  161. message VpnServerListResp {
  162. int64 total = 1;
  163. repeated VpnServerVo list = 2;
  164. }
  165. message VpnServerExListResp {
  166. int64 total = 1;
  167. repeated VpnServerExVo list = 2;
  168. }
  169. message VpnServerAddReq {
  170. VpnServerVo vo = 1;
  171. repeated int64 locationIds = 2;
  172. }
  173. message VpnServerBatchAddReq { repeated VpnServerExVo list = 1; }
  174. message VpnServerBatchAddResp { repeated VpnServerExVo list = 1; }
  175. message VpnServerBatchUpdateReq { repeated VpnServerExVo list = 1; }
  176. message VpnServerBatchUpdateResp { repeated VpnServerExVo list = 1; }
  177. message VpnServerBatchDelReq { repeated int64 ids = 1; }
  178. message VpnServerLocationVo {
  179. int64 id = 1;
  180. int64 serverId = 2;
  181. int64 locationId = 3;
  182. int64 createTime = 4;
  183. int64 updateTime = 5;
  184. Status status = 6;
  185. }
  186. message VpnServerLocationListReq {
  187. Page page = 1;
  188. VpnServerLocationVo vo = 2;
  189. repeated int64 serverIds = 3;
  190. repeated int64 locationIds = 4;
  191. }
  192. message VpnServerLocationListResp {
  193. int64 total = 1;
  194. repeated VpnServerLocationVo list = 2;
  195. }
  196. message VpnLocationServerCountVo {
  197. int64 locationId = 1;
  198. int64 serverCount = 2;
  199. }
  200. message VpnLocationServerCountReq {
  201. Page page = 1;
  202. Status status = 2;
  203. repeated int64 serverIds = 3;
  204. repeated int64 locationIds = 4;
  205. }
  206. message VpnLocationServerCountResp {
  207. int64 total = 1;
  208. repeated VpnLocationServerCountVo list = 2;
  209. }
  210. message VpnProbeTaskVo {
  211. int64 id = 1;
  212. string taskId = 2;
  213. string filter = 3; // 筛选条件
  214. string type = 4; // 类型
  215. string uploadDomain = 5; // 配置
  216. string params = 6;
  217. int64 answer = 7;
  218. float percentage = 8; // 进度百分比
  219. string result = 9; // 结果
  220. int64 userId = 10;
  221. int64 createTime = 11;
  222. int64 updateTime = 12;
  223. }
  224. message VpnProbeTaskListReq {
  225. Page page = 1;
  226. VpnProbeTaskVo vo = 2;
  227. }
  228. message VpnProbeTaskListResp {
  229. int64 total = 1;
  230. repeated VpnProbeTaskVo list = 2;
  231. }
  232. message VpnWithIPAndPortReq {
  233. // 产品Code
  234. string productCode = 1;
  235. // 国家
  236. string country = 2;
  237. // 需要随机的总数
  238. int64 limitCount = 3;
  239. }
  240. message VpnWithIPAndPortResp {
  241. repeated VpnServerVo list = 1;
  242. }
  243. // VpnipWalledVo
  244. message VpnipWalledVo {
  245. int64 id = 1; // ID
  246. int64 ipId = 2; // IP ID
  247. string area = 3; // 地区
  248. int64 walledTime = 4; // 被墙时间
  249. string remark = 5; // 备注
  250. int64 createTime = 6; // 创建时间
  251. int64 createAt = 7; // 创建者ID
  252. int64 updateTime = 8; // 更新时间
  253. int64 updateAt = 9; // 更新者ID
  254. }
  255. message VpnipWalledAddReq { VpnipWalledVo vo = 1; }
  256. message VpnipWalledAddResp { VpnipWalledVo vo = 1; }
  257. message VpnipWalledUpdateReq { VpnipWalledVo vo = 1; }
  258. message VpnipWalledUpdateResp { VpnipWalledVo vo = 1; }
  259. message VpnipWalledGetReq { VpnipWalledVo vo = 1; }
  260. message VpnipWalledGetResp { VpnipWalledVo vo = 1; }
  261. message VpnipWalledListReq {
  262. Page page = 1;
  263. VpnipWalledVo vo = 2;
  264. repeated int64 excludeIds = 3;
  265. repeated int64 ipIds = 4;
  266. repeated string ips = 5;
  267. repeated string areas = 6;
  268. }
  269. message VpnipWalledListResp {
  270. int64 total = 1;
  271. repeated VpnipWalledVo list = 2;
  272. }
  273. message VpnipWalledBatchAddReq { repeated VpnipWalledVo list = 1; }
  274. message VpnipWalledBatchAddResp { repeated VpnipWalledVo list = 1; }
  275. message VpnipWalledBatchUpdateReq { repeated VpnipWalledVo list = 1; }
  276. message VpnipWalledBatchUpdateResp { repeated VpnipWalledVo list = 1; }
  277. // VpnipVo
  278. message VpnipVo {
  279. int64 id = 1; // ID
  280. int64 rangeId = 2; // IP段ID
  281. string ip = 3; // IP地址
  282. string otherInfo = 4; // 其他信息,保留字段,用于扩展
  283. Status status = 5; // 状态
  284. string remark = 6; // 备注
  285. int64 createTime = 7; // 创建时间
  286. int64 createAt = 8; // 创建者ID
  287. int64 updateTime = 9; // 更新时间
  288. int64 updateAt = 10; // 更新者ID
  289. }
  290. message VpnipExVo {
  291. VpnipVo vo = 1;
  292. repeated VpnipWalledVo walledInfos = 2;
  293. }
  294. message VpnipAddReq { VpnipVo vo = 1; }
  295. message VpnipAddResp { VpnipVo vo = 1; }
  296. message VpnipExAddReq { VpnipExVo vo = 1; }
  297. message VpnipExAddResp { VpnipExVo vo = 1; }
  298. message VpnipUpdateReq { VpnipVo vo = 1; }
  299. message VpnipUpdateResp { VpnipVo vo = 1; }
  300. message VpnipExUpdateReq { VpnipExVo vo = 1; }
  301. message VpnipExUpdateResp { VpnipExVo vo = 1; }
  302. message VpnipGetReq { VpnipVo vo = 1; }
  303. message VpnipGetResp { VpnipVo vo = 1; }
  304. message VpnipExGetResp { VpnipExVo vo = 1; }
  305. message VpnipListReq {
  306. Page page = 1;
  307. VpnipVo vo = 2;
  308. repeated int64 excludeIds = 3;
  309. repeated string ips = 4;
  310. repeated int64 serverIds = 5;
  311. repeated int64 instanceIds = 6;
  312. repeated int64 rangeIds = 7;
  313. }
  314. message VpnipListResp {
  315. int64 total = 1;
  316. repeated VpnipVo list = 2;
  317. }
  318. message VpnipExListResp {
  319. int64 total = 1;
  320. repeated VpnipExVo list = 2;
  321. }
  322. message VpnipBatchAddReq { repeated VpnipVo list = 1; }
  323. message VpnipBatchAddResp { repeated VpnipVo list = 1; }
  324. message VpnipBatchUpdateReq { repeated VpnipVo list = 1; }
  325. message VpnipBatchUpdateResp { repeated VpnipVo list = 1; }
  326. message VpnipExBatchAddReq { repeated VpnipExVo list = 1; }
  327. message VpnipExBatchAddResp { repeated VpnipExVo list = 1; }
  328. message VpnipExBatchUpdateReq { repeated VpnipExVo list = 1; }
  329. message VpnipExBatchUpdateResp { repeated VpnipExVo list = 1; }
  330. // VpnipRangeVo
  331. message VpnipRangeVo {
  332. int64 id = 1; // ID
  333. string name = 2; // 名称
  334. string supplierId = 3; // 供应商ID
  335. string startIP = 4; // 起始IP
  336. string endIP = 5; // 结束IP
  337. int64 expires = 6; // 到期日期
  338. int64 sort = 7; // 排序
  339. Status status = 8; // 状态
  340. string remark = 9; // 备注
  341. int64 createTime = 10; // 创建时间
  342. int64 createAt = 11; // 创建者ID
  343. int64 updateTime = 12; // 更新时间
  344. int64 updateAt = 13; // 更新者ID
  345. }
  346. message VpnipRangeExVo {
  347. VpnipRangeVo vo = 1;
  348. repeated VpnipVo ipInfos = 2;
  349. }
  350. message VpnipRangeAddReq { VpnipRangeVo vo = 1; }
  351. message VpnipRangeAddResp { VpnipRangeVo vo = 1; }
  352. message VpnipRangeExAddReq { VpnipRangeExVo vo = 1; }
  353. message VpnipRangeExAddResp { VpnipRangeExVo vo = 1; }
  354. message VpnipRangeUpdateReq { VpnipRangeVo vo = 1; }
  355. message VpnipRangeUpdateResp { VpnipRangeVo vo = 1; }
  356. message VpnipRangeExUpdateReq { VpnipRangeExVo vo = 1; }
  357. message VpnipRangeExUpdateResp { VpnipRangeExVo vo = 1; }
  358. message VpnipRangeGetReq { VpnipRangeVo vo = 1; }
  359. message VpnipRangeGetResp { VpnipRangeVo vo = 1; }
  360. message VpnipRangeExGetResp { VpnipRangeExVo vo = 1; }
  361. message VpnipRangeListReq {
  362. Page page = 1;
  363. VpnipRangeVo vo = 2;
  364. repeated string names = 3;
  365. repeated string ips = 4;
  366. repeated int64 excludeIds = 5; // 排除的ID
  367. }
  368. message VpnipRangeListResp {
  369. int64 total = 1;
  370. repeated VpnipRangeVo list = 2;
  371. }
  372. message VpnipRangeExListResp {
  373. int64 total = 1;
  374. repeated VpnipRangeExVo list = 2;
  375. }
  376. message VpnipRangeBatchAddReq { repeated VpnipRangeVo list = 1; }
  377. message VpnipRangeBatchAddResp { repeated VpnipRangeVo list = 1; }
  378. message VpnipRangeBatchUpdateReq { repeated VpnipRangeVo list = 1; }
  379. message VpnipRangeBatchUpdateResp { repeated VpnipRangeVo list = 1; }
  380. message VpnipRangeExBatchAddReq { repeated VpnipRangeExVo list = 1; }
  381. message VpnipRangeExBatchAddResp { repeated VpnipRangeExVo list = 1; }
  382. message VpnipRangeExBatchUpdateReq { repeated VpnipRangeExVo list = 1; }
  383. message VpnipRangeExBatchUpdateResp { repeated VpnipRangeExVo list = 1; }
  384. // VpnipBindVo
  385. message VpnipBindVo {
  386. int64 id = 1; // ID
  387. int64 ipId = 2; // IP ID
  388. int64 serverId = 3; // 服务器ID
  389. string batchId = 4; // 批次ID,用于批量操作和回滚
  390. string prevBindId = 5; // 上一次绑定记录的ID,为空时表示之前未绑定
  391. int64 bindTime = 6; // 绑定时间
  392. int64 unbindTime = 7; // 解绑时间
  393. int64 isCurrent = 8; // 是否为当前绑定记录
  394. string remark = 9; // 备注
  395. int64 createTime = 10; // 创建时间
  396. int64 createAt = 11; // 创建者ID
  397. int64 updateTime = 12; // 更新时间
  398. int64 updateAt = 13; // 更新者ID
  399. }
  400. message VpnipBindAddReq { VpnipBindVo vo = 1; }
  401. message VpnipBindAddResp { VpnipBindVo vo = 1; }
  402. message VpnipBindUpdateReq { VpnipBindVo vo = 1; }
  403. message VpnipBindUpdateResp { VpnipBindVo vo = 1; }
  404. message VpnipBindGetReq { VpnipBindVo vo = 1; }
  405. message VpnipBindGetResp { VpnipBindVo vo = 1; }
  406. message VpnipBindListReq {
  407. Page page = 1;
  408. VpnipBindVo vo = 2;
  409. repeated int64 excludeIds = 3;
  410. repeated int64 ipIds = 4;
  411. repeated int64 serverIds = 5;
  412. repeated string ips = 6;
  413. repeated int64 instanceIds = 7;
  414. }
  415. message VpnipBindListResp {
  416. int64 total = 1;
  417. repeated VpnipBindVo list = 2;
  418. }
  419. message VpnipBindBatchAddReq { repeated VpnipBindVo list = 1; }
  420. message VpnipBindBatchAddResp { repeated VpnipBindVo list = 1; }
  421. message VpnipBindBatchUpdateReq { repeated VpnipBindVo list = 1; }
  422. message VpnipBindBatchUpdateResp { repeated VpnipBindVo list = 1; }
  423. // VpnConfigTemplatePlanVo
  424. message VpnConfigTemplatePlanVo {
  425. int64 id = 1; // id
  426. string productCode = 2; // 产品Code
  427. string name = 3; // 配置名称
  428. string config = 4; // 保留字段,用于扩展配置
  429. int64 sort = 5; // 排序
  430. Status status = 6; // 状态
  431. string remark = 7; // 备注
  432. int64 createTime = 8; // 创建时间
  433. int64 createAt = 9; // 创建者Id
  434. int64 updateTime = 10; // 更新时间
  435. int64 updateAt = 11; // 更新者Id
  436. string version = 12; // 数据版本
  437. }
  438. // VpnConfigTemplatePlanDetailVo
  439. message VpnConfigTemplatePlanDetailVo {
  440. int64 id = 1; // id
  441. int64 planId = 2; // 配置模板主表id
  442. string core = 3; // 内核
  443. string name = 4; // 名称
  444. string serverConfig = 5; // 服务端配置
  445. string clientConfig = 6; // 客户端配置
  446. string policyConfig = 7; // 策略配置
  447. int64 sort = 8; // 排序
  448. Status status = 9; // 状态
  449. string remark = 10; // 备注
  450. int64 createTime = 11; // 创建时间
  451. int64 createAt = 12; // 创建者Id
  452. int64 updateTime = 13; // 更新时间
  453. int64 updateAt = 14; // 更新者Id
  454. string version = 15; // 数据版本
  455. }
  456. message VpnConfigTemplatePlanAddReq {
  457. VpnConfigTemplatePlanVo plan = 1;
  458. repeated VpnConfigTemplatePlanDetailVo details = 2;
  459. }
  460. message VpnConfigTemplatePlanAddResp {
  461. VpnConfigTemplatePlanVo plan = 1;
  462. repeated VpnConfigTemplatePlanDetailVo details = 2;
  463. }
  464. message VpnConfigTemplatePlanUpdateReq {
  465. VpnConfigTemplatePlanVo vo = 1;
  466. bool withDetails = 2;
  467. }
  468. message VpnConfigTemplatePlanUpdateResp {
  469. VpnConfigTemplatePlanVo plan = 1;
  470. repeated VpnConfigTemplatePlanDetailVo details = 2;
  471. }
  472. message VpnConfigTemplatePlanDelReq { repeated int64 ids = 1; }
  473. message VpnConfigTemplatePlanGetReq {
  474. VpnConfigTemplatePlanVo vo = 1;
  475. bool withDetails = 2;
  476. }
  477. message VpnConfigTemplatePlanGetResp {
  478. VpnConfigTemplatePlanVo plan = 1;
  479. repeated VpnConfigTemplatePlanDetailVo details = 2;
  480. }
  481. message VpnConfigTemplatePlanListReq {
  482. Page page = 1;
  483. VpnConfigTemplatePlanVo vo = 2;
  484. repeated int64 excludeIds = 3;
  485. repeated string productCodes = 4;
  486. bool withDetails = 5;
  487. }
  488. message VpnConfigTemplatePlanListResp {
  489. int64 total = 1;
  490. repeated VpnConfigTemplatePlanGetResp list = 2;
  491. }
  492. message VpnConfigTemplatePlanDetailAddReq {
  493. VpnConfigTemplatePlanDetailVo vo = 1;
  494. }
  495. message VpnConfigTemplatePlanDetailAddResp {
  496. VpnConfigTemplatePlanDetailVo vo = 1;
  497. }
  498. message VpnConfigTemplatePlanDetailUpdateReq {
  499. VpnConfigTemplatePlanDetailVo vo = 1;
  500. }
  501. message VpnConfigTemplatePlanDetailUpdateResp {
  502. VpnConfigTemplatePlanDetailVo vo = 1;
  503. }
  504. message VpnConfigTemplatePlanDetailDelReq { repeated int64 ids = 1; }
  505. message VpnConfigTemplatePlanDetailGetReq {
  506. VpnConfigTemplatePlanDetailVo vo = 1;
  507. }
  508. message VpnConfigTemplatePlanDetailGetResp {
  509. VpnConfigTemplatePlanDetailVo vo = 1;
  510. }
  511. message VpnConfigTemplatePlanDetailListReq {
  512. Page page = 1;
  513. VpnConfigTemplatePlanDetailVo vo = 2;
  514. repeated int64 planIds = 3;
  515. repeated int64 excludeIds = 4;
  516. repeated string productCodes = 5;
  517. }
  518. message VpnConfigTemplatePlanDetailListResp {
  519. int64 total = 1;
  520. repeated VpnConfigTemplatePlanDetailVo list = 2;
  521. }
  522. message VpnServerPortVo {
  523. int64 id = 1;
  524. int64 srcServerId = 2;
  525. uint32 srcPort = 3;
  526. int64 dstServerId = 4;
  527. int64 createTime = 5;
  528. int64 createAt = 6;
  529. int64 updateTime = 7;
  530. int64 updateAt = 8;
  531. }
  532. message VpnServerPortGetReq { VpnServerPortVo vo = 1; }
  533. message VpnServerPortGetResp { VpnServerPortVo vo = 1; }
  534. message VpnServerPortAddReq { VpnServerPortVo vo = 1; }
  535. message VpnServerPortAddResp { VpnServerPortVo vo = 1; }
  536. message VpnServerPortUpdateReq { VpnServerPortVo vo = 1; }
  537. message VpnServerPortUpdateResp { VpnServerPortVo vo = 1; }
  538. message VpnServerPortDelReq { repeated int64 ids = 1; }
  539. message VpnServerPortListReq {
  540. Page page = 1;
  541. VpnServerPortVo vo = 2;
  542. repeated int64 excludeIds = 3;
  543. repeated int64 srcServerIds = 4;
  544. repeated uint32 srcPorts = 5;
  545. repeated int64 dstServerIds = 6;
  546. }
  547. message VpnServerPortListResp {
  548. int64 total = 1;
  549. repeated VpnServerPortVo list = 2;
  550. }
  551. message VpnServerPortBatchAddReq {
  552. repeated VpnServerPortVo list = 1;
  553. }
  554. message VpnServerPortBatchAddResp {
  555. int64 total = 1;
  556. repeated VpnServerPortVo list = 2;
  557. }
  558. // govpn 模块,VPN相关服务
  559. service GoVpnClient {
  560. rpc Ping(Request) returns (Response);
  561. // 表的事务操作
  562. rpc Transaction(TransactionReq) returns (Empty);
  563. /** VpnTag Model */
  564. // VpnTagAdd
  565. rpc VpnTagAdd(VpnTagVo) returns (VpnTagVo);
  566. rpc VpnTagUpdate(VpnTagVo) returns (VpnTagVo);
  567. rpc VpnTagDel(Ids) returns (Empty);
  568. rpc VpnTagGet(VpnTagGetReq) returns (VpnTagVo);
  569. rpc VpnTagList(VpnTagListReq) returns (VpnTagListResp);
  570. rpc VpnTagBatchAdd(VpnTagBatchAddReq) returns (VpnTagBatchAddResp);
  571. rpc VpnTagBatchUpdate(VpnTagBatchUpdateReq) returns (VpnTagBatchUpdateResp);
  572. /** VpnGroup Model */
  573. // VpnGroupAdd
  574. rpc VpnGroupAdd(VpnGroupAddReq) returns (VpnGroupVo);
  575. rpc VpnGroupUpdate(VpnGroupAddReq) returns (Empty);
  576. rpc VpnGroupDel(Ids) returns (Empty);
  577. rpc VpnGroupGet(VpnGroupGetReq) returns (VpnGroupVo);
  578. rpc VpnGroupList(VpnGroupListReq) returns (VpnGroupListResp);
  579. rpc VpnGroupBatchAdd(VpnGroupBatchAddReq) returns (VpnGroupBatchAddResp);
  580. rpc VpnGroupBatchUpdate(VpnGroupBatchUpdateReq) returns (VpnGroupBatchUpdateResp);
  581. /** VpnGroupTag Model */
  582. // VpnGroupTagAdd
  583. rpc VpnGroupTagAdd(VpnGroupTagVo) returns (VpnGroupTagVo);
  584. rpc VpnGroupTagUpdate(VpnGroupTagVo) returns (VpnGroupTagVo);
  585. rpc VpnGroupTagDel(Ids) returns (Empty);
  586. rpc VpnGroupTagGet(VpnGroupTagVo) returns (VpnGroupTagVo);
  587. rpc VpnGroupTagList(VpnGroupTagListReq) returns (VpnGroupTagListResp);
  588. /** VpnLocation Model */
  589. // VpnLocationAdd
  590. rpc VpnLocationAdd(VpnLocationVo) returns (VpnLocationVo);
  591. rpc VpnLocationUpdate(VpnLocationVo) returns (Empty);
  592. rpc VpnLocationDel(Ids) returns (Empty);
  593. rpc VpnLocationGet(VpnLocationGetReq) returns (VpnLocationVo);
  594. rpc VpnLocationList(VpnLocationListReq) returns (VpnLocationListResp);
  595. rpc VpnLocationBatchAdd(VpnLocationBatchAddReq) returns (VpnLocationBatchAddResp);
  596. rpc VpnLocationBatchUpdate(VpnLocationBatchUpdateReq) returns (VpnLocationBatchUpdateResp);
  597. /** VpnServer Model */
  598. // VpnServerAdd
  599. rpc VpnServerAdd(VpnServerAddReq) returns (VpnServerAddReq);
  600. rpc VpnServerUpdate(VpnServerAddReq) returns (VpnServerAddReq);
  601. rpc VpnServerDel(Ids) returns (Empty);
  602. rpc VpnServerGet(VpnServerVo) returns (VpnServerVo);
  603. rpc VpnServerExGet(VpnServerVo) returns (VpnServerExVo);
  604. rpc VpnServerList(VpnServerListReq) returns (VpnServerListResp);
  605. rpc VpnServerExList(VpnServerListReq) returns (VpnServerExListResp);
  606. rpc VpnServerBatchAdd(VpnServerBatchAddReq) returns (VpnServerBatchAddResp);
  607. rpc VpnServerBatchUpdate(VpnServerBatchUpdateReq) returns (VpnServerBatchUpdateResp);
  608. /** VpnServerLocation Model */
  609. // VpnServerLocationAdd
  610. rpc VpnServerLocationAdd(VpnServerLocationVo) returns (VpnServerLocationVo);
  611. rpc VpnServerLocationUpdate(VpnServerLocationVo) returns (Empty);
  612. rpc VpnServerLocationDel(Ids) returns (Empty);
  613. rpc VpnServerLocationGet(VpnServerLocationVo) returns (VpnServerLocationVo);
  614. rpc VpnServerLocationList(VpnServerLocationListReq) returns (VpnServerLocationListResp);
  615. rpc VpnWithIPAndPort(VpnWithIPAndPortReq) returns (VpnWithIPAndPortResp);
  616. // VpnLocationServerCount
  617. rpc VpnLocationServerCount(VpnLocationServerCountReq) returns (VpnLocationServerCountResp);
  618. /** VpnProbeTask Model */
  619. // VpnProbeTaskAdd
  620. rpc VpnProbeTaskAdd(VpnProbeTaskVo) returns (VpnProbeTaskVo);
  621. rpc VpnProbeTaskUpdate(VpnProbeTaskVo) returns (Empty);
  622. rpc VpnProbeTaskList(VpnProbeTaskListReq) returns (VpnProbeTaskListResp);
  623. /** VpnipWalled Model */
  624. // VpnipWalledAdd
  625. rpc VpnipWalledAdd(VpnipWalledAddReq) returns (VpnipWalledAddResp);
  626. rpc VpnipWalledUpdate(VpnipWalledUpdateReq) returns (VpnipWalledUpdateResp);
  627. rpc VpnipWalledDel(Ids) returns (Empty);
  628. rpc VpnipWalledGet(VpnipWalledGetReq) returns (VpnipWalledGetResp);
  629. rpc VpnipWalledList(VpnipWalledListReq) returns (VpnipWalledListResp);
  630. rpc VpnipWalledBatchAdd(VpnipWalledBatchAddReq) returns (VpnipWalledBatchAddResp);
  631. rpc VpnipWalledBatchUpdate(VpnipWalledBatchUpdateReq) returns (VpnipWalledBatchUpdateResp);
  632. /** Vpnip Model */
  633. // VpnipAdd
  634. rpc VpnipAdd(VpnipAddReq) returns (VpnipAddResp);
  635. rpc VpnipExAdd(VpnipExAddReq) returns (VpnipExAddResp);
  636. rpc VpnipUpdate(VpnipUpdateReq) returns (VpnipUpdateResp);
  637. rpc VpnipExUpdate(VpnipExUpdateReq) returns (VpnipExUpdateResp);
  638. rpc VpnipDel(Ids) returns (Empty);
  639. rpc VpnipGet(VpnipGetReq) returns (VpnipGetResp);
  640. rpc VpnipExGet(VpnipGetReq) returns (VpnipExGetResp);
  641. rpc VpnipList(VpnipListReq) returns (VpnipListResp);
  642. rpc VpnipExList(VpnipListReq) returns (VpnipExListResp);
  643. rpc VpnipBatchAdd(VpnipBatchAddReq) returns (VpnipBatchAddResp);
  644. rpc VpnipBatchUpdate(VpnipBatchUpdateReq) returns (VpnipBatchUpdateResp);
  645. rpc VpnipExBatchAdd(VpnipExBatchAddReq) returns (VpnipExBatchAddResp);
  646. rpc VpnipExBatchUpdate(VpnipExBatchUpdateReq) returns (VpnipExBatchUpdateResp);
  647. /** VpnipRange Model */
  648. // VpnipRangeAdd
  649. rpc VpnipRangeAdd(VpnipRangeAddReq) returns (VpnipRangeAddResp);
  650. // VpnipRangeExAdd 添加IP段及IP数据,如果IP数据已存在,会自动将已经存在的IP的 rangeId 更新为新增的IP段的ID
  651. rpc VpnipRangeExAdd(VpnipRangeExAddReq) returns (VpnipRangeExAddResp);
  652. rpc VpnipRangeUpdate(VpnipRangeUpdateReq) returns (VpnipRangeUpdateResp);
  653. rpc VpnipRangeExUpdate(VpnipRangeExUpdateReq) returns (VpnipRangeExUpdateResp);
  654. rpc VpnipRangeDel(Ids) returns (Empty);
  655. rpc VpnipRangeGet(VpnipRangeGetReq) returns (VpnipRangeGetResp);
  656. rpc VpnipRangeExGet(VpnipRangeGetReq) returns (VpnipRangeExGetResp);
  657. rpc VpnipRangeList(VpnipRangeListReq) returns (VpnipRangeListResp);
  658. rpc VpnipRangeExList(VpnipRangeListReq) returns (VpnipRangeExListResp);
  659. rpc VpnipRangeBatchAdd(VpnipRangeBatchAddReq) returns (VpnipRangeBatchAddResp);
  660. rpc VpnipRangeExBatchAdd(VpnipRangeExBatchAddReq) returns (VpnipRangeExBatchAddResp);
  661. rpc VpnipRangeBatchUpdate(VpnipRangeBatchUpdateReq) returns (VpnipRangeBatchUpdateResp);
  662. rpc VpnipRangeExBatchUpdate(VpnipRangeExBatchUpdateReq) returns (VpnipRangeExBatchUpdateResp);
  663. /** VpnipBind Model */
  664. // VpnipBindAdd
  665. rpc VpnipBindAdd(VpnipBindAddReq) returns (VpnipBindAddResp);
  666. rpc VpnipBindUpdate(VpnipBindUpdateReq) returns (VpnipBindUpdateResp);
  667. rpc VpnipBindDel(Ids) returns (Empty);
  668. rpc VpnipBindGet(VpnipBindGetReq) returns (VpnipBindGetResp);
  669. rpc VpnipBindList(VpnipBindListReq) returns (VpnipBindListResp);
  670. rpc VpnipBindBatchUpdate(VpnipBindBatchUpdateReq) returns (VpnipBindBatchUpdateResp);
  671. // VpnipsBindServer 为一台服务器绑定一批新IP,会解绑上次绑定的IP,再绑定新的IP,仅需提供 ipId, serverId, Remark, createAt, updateAt 即可,其他字段会自动填充
  672. rpc VpnipsBindServer(VpnipBindBatchAddReq) returns (VpnipBindBatchAddResp);
  673. /** VpnConfigTemplatePlan Model (Xray配置模板,jump那边叫做配置模板)*/
  674. // VpnConfigTemplatePlanAdd 添加配置模板及模板详情
  675. rpc VpnConfigTemplatePlanAdd(VpnConfigTemplatePlanAddReq) returns (VpnConfigTemplatePlanAddResp);
  676. // VpnConfigTemplatePlanUpdate 更新配置模板(只更新模板,不更新模板详情,如果 withDetails 为 true,则返回结果中包含模板详情)
  677. rpc VpnConfigTemplatePlanUpdate(VpnConfigTemplatePlanUpdateReq) returns (VpnConfigTemplatePlanUpdateResp);
  678. // VpnConfigTemplatePlanDel 删除配置模板(会同时删除模板详情)
  679. rpc VpnConfigTemplatePlanDel(VpnConfigTemplatePlanDelReq) returns (Empty);
  680. // VpnConfigTemplatePlanGet 获取配置模板(如果 withDetails 为 true,则返回结果中包含模板详情)
  681. rpc VpnConfigTemplatePlanGet(VpnConfigTemplatePlanGetReq) returns (VpnConfigTemplatePlanGetResp);
  682. // VpnConfigTemplatePlanList 获取配置模板列表(如果 withDetails 为 true,则返回结果中包含模板详情)
  683. rpc VpnConfigTemplatePlanList(VpnConfigTemplatePlanListReq) returns (VpnConfigTemplatePlanListResp);
  684. /** VpnConfigTemplatePlanDetail Model (Xray配置模板详情,jump那边叫做传输配置)*/
  685. // VpnConfigTemplatePlanDetailAdd 添加模板详情
  686. rpc VpnConfigTemplatePlanDetailAdd(VpnConfigTemplatePlanDetailAddReq) returns (VpnConfigTemplatePlanDetailAddResp);
  687. rpc VpnConfigTemplatePlanDetailUpdate(VpnConfigTemplatePlanDetailUpdateReq) returns (VpnConfigTemplatePlanDetailUpdateResp);
  688. rpc VpnConfigTemplatePlanDetailDel(VpnConfigTemplatePlanDetailDelReq) returns (Empty);
  689. rpc VpnConfigTemplatePlanDetailGet(VpnConfigTemplatePlanDetailGetReq) returns (VpnConfigTemplatePlanDetailGetResp);
  690. rpc VpnConfigTemplatePlanDetailList(VpnConfigTemplatePlanDetailListReq) returns (VpnConfigTemplatePlanDetailListResp);
  691. /** VpnServerPort Model */
  692. // VpnServerPortAdd
  693. rpc VpnServerPortAdd(VpnServerPortAddReq) returns (VpnServerPortAddResp);
  694. rpc VpnServerPortUpdate(VpnServerPortUpdateReq) returns (VpnServerPortUpdateResp);
  695. rpc VpnServerPortDel(VpnServerPortDelReq) returns (Empty);
  696. rpc VpnServerPortGet(VpnServerPortGetReq) returns (VpnServerPortGetResp);
  697. rpc VpnServerPortList(VpnServerPortListReq) returns (VpnServerPortListResp);
  698. rpc VpnServerPortBatchAdd(VpnServerPortBatchAddReq) returns (VpnServerPortBatchAddResp);
  699. }