@kissesses/xtls-sdk 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/LICENCE +661 -0
  2. package/README.md +217 -0
  3. package/build/index.d.ts +17 -0
  4. package/build/index.d.ts.map +1 -0
  5. package/build/index.js +19 -0
  6. package/build/src/common/errors/handler/handler.errors.d.ts +23 -0
  7. package/build/src/common/errors/handler/handler.errors.d.ts.map +1 -0
  8. package/build/src/common/errors/handler/handler.errors.js +22 -0
  9. package/build/src/common/errors/handler/index.d.ts +2 -0
  10. package/build/src/common/errors/handler/index.d.ts.map +1 -0
  11. package/build/src/common/errors/handler/index.js +17 -0
  12. package/build/src/common/errors/index.d.ts +3 -0
  13. package/build/src/common/errors/index.d.ts.map +1 -0
  14. package/build/src/common/errors/index.js +18 -0
  15. package/build/src/common/errors/router/index.d.ts +2 -0
  16. package/build/src/common/errors/router/index.d.ts.map +1 -0
  17. package/build/src/common/errors/router/index.js +17 -0
  18. package/build/src/common/errors/router/router.errors.d.ts +15 -0
  19. package/build/src/common/errors/router/router.errors.d.ts.map +1 -0
  20. package/build/src/common/errors/router/router.errors.js +14 -0
  21. package/build/src/common/errors/stats/index.d.ts +2 -0
  22. package/build/src/common/errors/stats/index.d.ts.map +1 -0
  23. package/build/src/common/errors/stats/index.js +17 -0
  24. package/build/src/common/errors/stats/stats.errors.d.ts +43 -0
  25. package/build/src/common/errors/stats/stats.errors.d.ts.map +1 -0
  26. package/build/src/common/errors/stats/stats.errors.js +42 -0
  27. package/build/src/common/types/index.d.ts +2 -0
  28. package/build/src/common/types/index.d.ts.map +1 -0
  29. package/build/src/common/types/index.js +17 -0
  30. package/build/src/common/types/sdk-response.d.ts +6 -0
  31. package/build/src/common/types/sdk-response.d.ts.map +1 -0
  32. package/build/src/common/types/sdk-response.js +2 -0
  33. package/build/src/common/utils/create-typed-message/create-typed-message.d.ts +5 -0
  34. package/build/src/common/utils/create-typed-message/create-typed-message.d.ts.map +1 -0
  35. package/build/src/common/utils/create-typed-message/create-typed-message.js +10 -0
  36. package/build/src/common/utils/decode-user/constants/account-types.d.ts +39 -0
  37. package/build/src/common/utils/decode-user/constants/account-types.d.ts.map +1 -0
  38. package/build/src/common/utils/decode-user/constants/account-types.js +65 -0
  39. package/build/src/common/utils/decode-user/constants/index.d.ts +2 -0
  40. package/build/src/common/utils/decode-user/constants/index.d.ts.map +1 -0
  41. package/build/src/common/utils/decode-user/constants/index.js +17 -0
  42. package/build/src/common/utils/decode-user/decode-user.d.ts +37 -0
  43. package/build/src/common/utils/decode-user/decode-user.d.ts.map +1 -0
  44. package/build/src/common/utils/decode-user/decode-user.js +55 -0
  45. package/build/src/common/utils/decode-user/types/account-type-keys.type.d.ts +3 -0
  46. package/build/src/common/utils/decode-user/types/account-type-keys.type.d.ts.map +1 -0
  47. package/build/src/common/utils/decode-user/types/account-type-keys.type.js +2 -0
  48. package/build/src/common/utils/decode-user/types/account-type-mapping.type.d.ts +4 -0
  49. package/build/src/common/utils/decode-user/types/account-type-mapping.type.d.ts.map +1 -0
  50. package/build/src/common/utils/decode-user/types/account-type-mapping.type.js +2 -0
  51. package/build/src/common/utils/decode-user/types/decoded-user.type.d.ts +18 -0
  52. package/build/src/common/utils/decode-user/types/decoded-user.type.d.ts.map +1 -0
  53. package/build/src/common/utils/decode-user/types/decoded-user.type.js +2 -0
  54. package/build/src/common/utils/decode-user/types/index.d.ts +4 -0
  55. package/build/src/common/utils/decode-user/types/index.d.ts.map +1 -0
  56. package/build/src/common/utils/decode-user/types/index.js +19 -0
  57. package/build/src/handler/handler.service.d.ts +155 -0
  58. package/build/src/handler/handler.service.d.ts.map +1 -0
  59. package/build/src/handler/handler.service.js +523 -0
  60. package/build/src/handler/interfaces/add-user/add-http-user.interface.d.ts +8 -0
  61. package/build/src/handler/interfaces/add-user/add-http-user.interface.d.ts.map +1 -0
  62. package/build/src/handler/interfaces/add-user/add-http-user.interface.js +2 -0
  63. package/build/src/handler/interfaces/add-user/add-hysteria-user.interface.d.ts +7 -0
  64. package/build/src/handler/interfaces/add-user/add-hysteria-user.interface.d.ts.map +1 -0
  65. package/build/src/handler/interfaces/add-user/add-hysteria-user.interface.js +2 -0
  66. package/build/src/handler/interfaces/add-user/add-shadowsocks-user.interface.d.ts +10 -0
  67. package/build/src/handler/interfaces/add-user/add-shadowsocks-user.interface.d.ts.map +1 -0
  68. package/build/src/handler/interfaces/add-user/add-shadowsocks-user.interface.js +2 -0
  69. package/build/src/handler/interfaces/add-user/add-shadowsocks2022-user.interface.d.ts +7 -0
  70. package/build/src/handler/interfaces/add-user/add-shadowsocks2022-user.interface.d.ts.map +1 -0
  71. package/build/src/handler/interfaces/add-user/add-shadowsocks2022-user.interface.js +2 -0
  72. package/build/src/handler/interfaces/add-user/add-socks-user.interface.d.ts +8 -0
  73. package/build/src/handler/interfaces/add-user/add-socks-user.interface.d.ts.map +1 -0
  74. package/build/src/handler/interfaces/add-user/add-socks-user.interface.js +2 -0
  75. package/build/src/handler/interfaces/add-user/add-trojan-user.interface.d.ts +7 -0
  76. package/build/src/handler/interfaces/add-user/add-trojan-user.interface.d.ts.map +1 -0
  77. package/build/src/handler/interfaces/add-user/add-trojan-user.interface.js +2 -0
  78. package/build/src/handler/interfaces/add-user/add-vless-user.interface.d.ts +8 -0
  79. package/build/src/handler/interfaces/add-user/add-vless-user.interface.d.ts.map +1 -0
  80. package/build/src/handler/interfaces/add-user/add-vless-user.interface.js +2 -0
  81. package/build/src/handler/interfaces/add-user/add-wireguard-user.interface.d.ts +8 -0
  82. package/build/src/handler/interfaces/add-user/add-wireguard-user.interface.d.ts.map +1 -0
  83. package/build/src/handler/interfaces/add-user/add-wireguard-user.interface.js +2 -0
  84. package/build/src/handler/interfaces/add-user/index.d.ts +9 -0
  85. package/build/src/handler/interfaces/add-user/index.d.ts.map +1 -0
  86. package/build/src/handler/interfaces/add-user/index.js +24 -0
  87. package/build/src/handler/interfaces/index.d.ts +2 -0
  88. package/build/src/handler/interfaces/index.d.ts.map +1 -0
  89. package/build/src/handler/interfaces/index.js +17 -0
  90. package/build/src/handler/models/add-user/add-user.response.model.d.ts +5 -0
  91. package/build/src/handler/models/add-user/add-user.response.model.d.ts.map +1 -0
  92. package/build/src/handler/models/add-user/add-user.response.model.js +9 -0
  93. package/build/src/handler/models/add-user/index.d.ts +2 -0
  94. package/build/src/handler/models/add-user/index.d.ts.map +1 -0
  95. package/build/src/handler/models/add-user/index.js +17 -0
  96. package/build/src/handler/models/get-inbound-users/get-inbound-users.response.model.d.ts +7 -0
  97. package/build/src/handler/models/get-inbound-users/get-inbound-users.response.model.d.ts.map +1 -0
  98. package/build/src/handler/models/get-inbound-users/get-inbound-users.response.model.js +10 -0
  99. package/build/src/handler/models/get-inbound-users/index.d.ts +2 -0
  100. package/build/src/handler/models/get-inbound-users/index.d.ts.map +1 -0
  101. package/build/src/handler/models/get-inbound-users/index.js +17 -0
  102. package/build/src/handler/models/index.d.ts +4 -0
  103. package/build/src/handler/models/index.d.ts.map +1 -0
  104. package/build/src/handler/models/index.js +19 -0
  105. package/build/src/handler/models/remove-user/index.d.ts +2 -0
  106. package/build/src/handler/models/remove-user/index.d.ts.map +1 -0
  107. package/build/src/handler/models/remove-user/index.js +17 -0
  108. package/build/src/handler/models/remove-user/remove-user.response.model.d.ts +5 -0
  109. package/build/src/handler/models/remove-user/remove-user.response.model.d.ts.map +1 -0
  110. package/build/src/handler/models/remove-user/remove-user.response.model.js +9 -0
  111. package/build/src/router/interfaces/index.d.ts +2 -0
  112. package/build/src/router/interfaces/index.d.ts.map +1 -0
  113. package/build/src/router/interfaces/index.js +17 -0
  114. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.d.ts +4 -0
  115. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.d.ts.map +1 -0
  116. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.js +2 -0
  117. package/build/src/router/models/index.d.ts +2 -0
  118. package/build/src/router/models/index.d.ts.map +1 -0
  119. package/build/src/router/models/index.js +17 -0
  120. package/build/src/router/models/remove-rule-by-rule-tag/index.d.ts +2 -0
  121. package/build/src/router/models/remove-rule-by-rule-tag/index.d.ts.map +1 -0
  122. package/build/src/router/models/remove-rule-by-rule-tag/index.js +17 -0
  123. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.d.ts +5 -0
  124. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.d.ts.map +1 -0
  125. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.js +9 -0
  126. package/build/src/router/router.service.d.ts +31 -0
  127. package/build/src/router/router.service.d.ts.map +1 -0
  128. package/build/src/router/router.service.js +56 -0
  129. package/build/src/stats/models/get-all-inbounds-stats/get-all-inbounds-stats.response.model.d.ts +21 -0
  130. package/build/src/stats/models/get-all-inbounds-stats/get-all-inbounds-stats.response.model.d.ts.map +1 -0
  131. package/build/src/stats/models/get-all-inbounds-stats/get-all-inbounds-stats.response.model.js +42 -0
  132. package/build/src/stats/models/get-all-inbounds-stats/index.d.ts +2 -0
  133. package/build/src/stats/models/get-all-inbounds-stats/index.d.ts.map +1 -0
  134. package/build/src/stats/models/get-all-inbounds-stats/index.js +17 -0
  135. package/build/src/stats/models/get-all-inbounds-stats/interfaces/inbound.interface.d.ts +6 -0
  136. package/build/src/stats/models/get-all-inbounds-stats/interfaces/inbound.interface.d.ts.map +1 -0
  137. package/build/src/stats/models/get-all-inbounds-stats/interfaces/inbound.interface.js +2 -0
  138. package/build/src/stats/models/get-all-inbounds-stats/interfaces/index.d.ts +2 -0
  139. package/build/src/stats/models/get-all-inbounds-stats/interfaces/index.d.ts.map +1 -0
  140. package/build/src/stats/models/get-all-inbounds-stats/interfaces/index.js +17 -0
  141. package/build/src/stats/models/get-all-outbounds-stats/get-all-outbounds-stats.response.model.d.ts +21 -0
  142. package/build/src/stats/models/get-all-outbounds-stats/get-all-outbounds-stats.response.model.d.ts.map +1 -0
  143. package/build/src/stats/models/get-all-outbounds-stats/get-all-outbounds-stats.response.model.js +42 -0
  144. package/build/src/stats/models/get-all-outbounds-stats/index.d.ts +2 -0
  145. package/build/src/stats/models/get-all-outbounds-stats/index.d.ts.map +1 -0
  146. package/build/src/stats/models/get-all-outbounds-stats/index.js +17 -0
  147. package/build/src/stats/models/get-all-outbounds-stats/interfaces/index.d.ts +2 -0
  148. package/build/src/stats/models/get-all-outbounds-stats/interfaces/index.d.ts.map +1 -0
  149. package/build/src/stats/models/get-all-outbounds-stats/interfaces/index.js +17 -0
  150. package/build/src/stats/models/get-all-outbounds-stats/interfaces/outbound.interface.d.ts +6 -0
  151. package/build/src/stats/models/get-all-outbounds-stats/interfaces/outbound.interface.d.ts.map +1 -0
  152. package/build/src/stats/models/get-all-outbounds-stats/interfaces/outbound.interface.js +2 -0
  153. package/build/src/stats/models/get-all-users-stats/get-all-users-stats.response.model.d.ts +21 -0
  154. package/build/src/stats/models/get-all-users-stats/get-all-users-stats.response.model.d.ts.map +1 -0
  155. package/build/src/stats/models/get-all-users-stats/get-all-users-stats.response.model.js +42 -0
  156. package/build/src/stats/models/get-all-users-stats/index.d.ts +2 -0
  157. package/build/src/stats/models/get-all-users-stats/index.d.ts.map +1 -0
  158. package/build/src/stats/models/get-all-users-stats/index.js +17 -0
  159. package/build/src/stats/models/get-all-users-stats/interfaces/index.d.ts +2 -0
  160. package/build/src/stats/models/get-all-users-stats/interfaces/index.d.ts.map +1 -0
  161. package/build/src/stats/models/get-all-users-stats/interfaces/index.js +17 -0
  162. package/build/src/stats/models/get-all-users-stats/interfaces/user.interface.d.ts +6 -0
  163. package/build/src/stats/models/get-all-users-stats/interfaces/user.interface.d.ts.map +1 -0
  164. package/build/src/stats/models/get-all-users-stats/interfaces/user.interface.js +2 -0
  165. package/build/src/stats/models/get-inbound-stats/get-inbound-stats.response.model.d.ts +27 -0
  166. package/build/src/stats/models/get-inbound-stats/get-inbound-stats.response.model.d.ts.map +1 -0
  167. package/build/src/stats/models/get-inbound-stats/get-inbound-stats.response.model.js +46 -0
  168. package/build/src/stats/models/get-inbound-stats/index.d.ts +2 -0
  169. package/build/src/stats/models/get-inbound-stats/index.d.ts.map +1 -0
  170. package/build/src/stats/models/get-inbound-stats/index.js +17 -0
  171. package/build/src/stats/models/get-inbound-stats/interfaces/inbound.interface.d.ts +6 -0
  172. package/build/src/stats/models/get-inbound-stats/interfaces/inbound.interface.d.ts.map +1 -0
  173. package/build/src/stats/models/get-inbound-stats/interfaces/inbound.interface.js +2 -0
  174. package/build/src/stats/models/get-inbound-stats/interfaces/index.d.ts +2 -0
  175. package/build/src/stats/models/get-inbound-stats/interfaces/index.d.ts.map +1 -0
  176. package/build/src/stats/models/get-inbound-stats/interfaces/index.js +17 -0
  177. package/build/src/stats/models/get-outbound-stats/get-outbound-stats.response.model.d.ts +27 -0
  178. package/build/src/stats/models/get-outbound-stats/get-outbound-stats.response.model.d.ts.map +1 -0
  179. package/build/src/stats/models/get-outbound-stats/get-outbound-stats.response.model.js +46 -0
  180. package/build/src/stats/models/get-outbound-stats/index.d.ts +2 -0
  181. package/build/src/stats/models/get-outbound-stats/index.d.ts.map +1 -0
  182. package/build/src/stats/models/get-outbound-stats/index.js +17 -0
  183. package/build/src/stats/models/get-outbound-stats/interfaces/index.d.ts +2 -0
  184. package/build/src/stats/models/get-outbound-stats/interfaces/index.d.ts.map +1 -0
  185. package/build/src/stats/models/get-outbound-stats/interfaces/index.js +17 -0
  186. package/build/src/stats/models/get-outbound-stats/interfaces/outbound.d.ts +6 -0
  187. package/build/src/stats/models/get-outbound-stats/interfaces/outbound.d.ts.map +1 -0
  188. package/build/src/stats/models/get-outbound-stats/interfaces/outbound.js +2 -0
  189. package/build/src/stats/models/get-sys-stats/get-sys-stats.response.model.d.ts +15 -0
  190. package/build/src/stats/models/get-sys-stats/get-sys-stats.response.model.d.ts.map +1 -0
  191. package/build/src/stats/models/get-sys-stats/get-sys-stats.response.model.js +22 -0
  192. package/build/src/stats/models/get-sys-stats/index.d.ts +2 -0
  193. package/build/src/stats/models/get-sys-stats/index.d.ts.map +1 -0
  194. package/build/src/stats/models/get-sys-stats/index.js +17 -0
  195. package/build/src/stats/models/get-user-online-status/get-user-online-status.response.model.d.ts +5 -0
  196. package/build/src/stats/models/get-user-online-status/get-user-online-status.response.model.d.ts.map +1 -0
  197. package/build/src/stats/models/get-user-online-status/get-user-online-status.response.model.js +9 -0
  198. package/build/src/stats/models/get-user-online-status/index.d.ts +2 -0
  199. package/build/src/stats/models/get-user-online-status/index.d.ts.map +1 -0
  200. package/build/src/stats/models/get-user-online-status/index.js +17 -0
  201. package/build/src/stats/models/get-user-stats/get-user-stats.response.model.d.ts +26 -0
  202. package/build/src/stats/models/get-user-stats/get-user-stats.response.model.d.ts.map +1 -0
  203. package/build/src/stats/models/get-user-stats/get-user-stats.response.model.js +46 -0
  204. package/build/src/stats/models/get-user-stats/index.d.ts +2 -0
  205. package/build/src/stats/models/get-user-stats/index.d.ts.map +1 -0
  206. package/build/src/stats/models/get-user-stats/index.js +17 -0
  207. package/build/src/stats/models/get-user-stats/interfaces/index.d.ts +2 -0
  208. package/build/src/stats/models/get-user-stats/interfaces/index.d.ts.map +1 -0
  209. package/build/src/stats/models/get-user-stats/interfaces/index.js +17 -0
  210. package/build/src/stats/models/get-user-stats/interfaces/user.interface.d.ts +6 -0
  211. package/build/src/stats/models/get-user-stats/interfaces/user.interface.d.ts.map +1 -0
  212. package/build/src/stats/models/get-user-stats/interfaces/user.interface.js +2 -0
  213. package/build/src/stats/models/get-users-stats/get-users-stats.response.model.d.ts +50 -0
  214. package/build/src/stats/models/get-users-stats/get-users-stats.response.model.d.ts.map +1 -0
  215. package/build/src/stats/models/get-users-stats/get-users-stats.response.model.js +52 -0
  216. package/build/src/stats/models/get-users-stats/index.d.ts +2 -0
  217. package/build/src/stats/models/get-users-stats/index.d.ts.map +1 -0
  218. package/build/src/stats/models/get-users-stats/index.js +17 -0
  219. package/build/src/stats/models/index.d.ts +10 -0
  220. package/build/src/stats/models/index.d.ts.map +1 -0
  221. package/build/src/stats/models/index.js +25 -0
  222. package/build/src/stats/stats.service.d.ts +271 -0
  223. package/build/src/stats/stats.service.d.ts.map +1 -0
  224. package/build/src/stats/stats.service.js +527 -0
  225. package/build/src/xray-protos/app/commander/config.d.ts +37 -0
  226. package/build/src/xray-protos/app/commander/config.d.ts.map +1 -0
  227. package/build/src/xray-protos/app/commander/config.js +143 -0
  228. package/build/src/xray-protos/app/dispatcher/config.d.ts +26 -0
  229. package/build/src/xray-protos/app/dispatcher/config.d.ts.map +1 -0
  230. package/build/src/xray-protos/app/dispatcher/config.js +112 -0
  231. package/build/src/xray-protos/app/geodata/config.d.ts +30 -0
  232. package/build/src/xray-protos/app/geodata/config.d.ts.map +1 -0
  233. package/build/src/xray-protos/app/geodata/config.js +172 -0
  234. package/build/src/xray-protos/app/log/command/config.d.ts +51 -0
  235. package/build/src/xray-protos/app/log/command/config.d.ts.map +1 -0
  236. package/build/src/xray-protos/app/log/command/config.js +143 -0
  237. package/build/src/xray-protos/app/log/config.d.ts +38 -0
  238. package/build/src/xray-protos/app/log/config.d.ts.map +1 -0
  239. package/build/src/xray-protos/app/log/config.js +244 -0
  240. package/build/src/xray-protos/app/metrics/config.d.ts +25 -0
  241. package/build/src/xray-protos/app/metrics/config.d.ts.map +1 -0
  242. package/build/src/xray-protos/app/metrics/config.js +86 -0
  243. package/build/src/xray-protos/app/policy/config.d.ts +78 -0
  244. package/build/src/xray-protos/app/policy/config.d.ts.map +1 -0
  245. package/build/src/xray-protos/app/policy/config.js +790 -0
  246. package/build/src/xray-protos/app/proxyman/command/command.d.ts +237 -0
  247. package/build/src/xray-protos/app/proxyman/command/command.d.ts.map +1 -0
  248. package/build/src/xray-protos/app/proxyman/command/command.js +1255 -0
  249. package/build/src/xray-protos/app/proxyman/config.d.ts +91 -0
  250. package/build/src/xray-protos/app/proxyman/config.d.ts.map +1 -0
  251. package/build/src/xray-protos/app/proxyman/config.js +779 -0
  252. package/build/src/xray-protos/app/reverse/config.d.ts +48 -0
  253. package/build/src/xray-protos/app/reverse/config.d.ts.map +1 -0
  254. package/build/src/xray-protos/app/reverse/config.js +365 -0
  255. package/build/src/xray-protos/app/router/command/command.d.ts +250 -0
  256. package/build/src/xray-protos/app/router/command/command.d.ts.map +1 -0
  257. package/build/src/xray-protos/app/router/command/command.js +1461 -0
  258. package/build/src/xray-protos/app/stats/command/command.d.ts +204 -0
  259. package/build/src/xray-protos/app/stats/command/command.d.ts.map +1 -0
  260. package/build/src/xray-protos/app/stats/command/command.js +1318 -0
  261. package/build/src/xray-protos/app/stats/config.d.ts +28 -0
  262. package/build/src/xray-protos/app/stats/config.d.ts.map +1 -0
  263. package/build/src/xray-protos/app/stats/config.js +140 -0
  264. package/build/src/xray-protos/app/version/config.d.ts +24 -0
  265. package/build/src/xray-protos/app/version/config.d.ts.map +1 -0
  266. package/build/src/xray-protos/app/version/config.js +113 -0
  267. package/build/src/xray-protos/common/geodata/geodat.d.ts +111 -0
  268. package/build/src/xray-protos/common/geodata/geodat.d.ts.map +1 -0
  269. package/build/src/xray-protos/common/geodata/geodat.js +1027 -0
  270. package/build/src/xray-protos/common/log/log.d.ts +12 -0
  271. package/build/src/xray-protos/common/log/log.d.ts.map +1 -0
  272. package/build/src/xray-protos/common/log/log.js +61 -0
  273. package/build/src/xray-protos/common/net/address.d.ts +29 -0
  274. package/build/src/xray-protos/common/net/address.d.ts.map +1 -0
  275. package/build/src/xray-protos/common/net/address.js +111 -0
  276. package/build/src/xray-protos/common/net/destination.d.ts +27 -0
  277. package/build/src/xray-protos/common/net/destination.d.ts.map +1 -0
  278. package/build/src/xray-protos/common/net/destination.js +105 -0
  279. package/build/src/xray-protos/common/net/network.d.ts +32 -0
  280. package/build/src/xray-protos/common/net/network.d.ts.map +1 -0
  281. package/build/src/xray-protos/common/net/network.js +122 -0
  282. package/build/src/xray-protos/common/net/port.d.ts +32 -0
  283. package/build/src/xray-protos/common/net/port.d.ts.map +1 -0
  284. package/build/src/xray-protos/common/net/port.js +142 -0
  285. package/build/src/xray-protos/common/protocol/headers.d.ts +34 -0
  286. package/build/src/xray-protos/common/protocol/headers.d.ts.map +1 -0
  287. package/build/src/xray-protos/common/protocol/headers.js +126 -0
  288. package/build/src/xray-protos/common/protocol/server_spec.d.ts +26 -0
  289. package/build/src/xray-protos/common/protocol/server_spec.d.ts.map +1 -0
  290. package/build/src/xray-protos/common/protocol/server_spec.js +105 -0
  291. package/build/src/xray-protos/common/protocol/user.d.ts +30 -0
  292. package/build/src/xray-protos/common/protocol/user.d.ts.map +1 -0
  293. package/build/src/xray-protos/common/protocol/user.js +104 -0
  294. package/build/src/xray-protos/common/serial/typed_message.d.ts +26 -0
  295. package/build/src/xray-protos/common/serial/typed_message.d.ts.map +1 -0
  296. package/build/src/xray-protos/common/serial/typed_message.js +111 -0
  297. package/build/src/xray-protos/core/config.d.ts +74 -0
  298. package/build/src/xray-protos/core/config.d.ts.map +1 -0
  299. package/build/src/xray-protos/core/config.js +366 -0
  300. package/build/src/xray-protos/proxy/blackhole/config.d.ts +31 -0
  301. package/build/src/xray-protos/proxy/blackhole/config.d.ts.map +1 -0
  302. package/build/src/xray-protos/proxy/blackhole/config.js +152 -0
  303. package/build/src/xray-protos/proxy/dns/config.d.ts +43 -0
  304. package/build/src/xray-protos/proxy/dns/config.d.ts.map +1 -0
  305. package/build/src/xray-protos/proxy/dns/config.js +276 -0
  306. package/build/src/xray-protos/proxy/dokodemo/config.d.ts +38 -0
  307. package/build/src/xray-protos/proxy/dokodemo/config.d.ts.map +1 -0
  308. package/build/src/xray-protos/proxy/dokodemo/config.js +285 -0
  309. package/build/src/xray-protos/proxy/freedom/config.d.ts +82 -0
  310. package/build/src/xray-protos/proxy/freedom/config.d.ts.map +1 -0
  311. package/build/src/xray-protos/proxy/freedom/config.js +902 -0
  312. package/build/src/xray-protos/proxy/http/config.d.ts +54 -0
  313. package/build/src/xray-protos/proxy/http/config.d.ts.map +1 -0
  314. package/build/src/xray-protos/proxy/http/config.js +418 -0
  315. package/build/src/xray-protos/proxy/hysteria/account/config.d.ts +22 -0
  316. package/build/src/xray-protos/proxy/hysteria/account/config.d.ts.map +1 -0
  317. package/build/src/xray-protos/proxy/hysteria/account/config.js +68 -0
  318. package/build/src/xray-protos/proxy/hysteria/config.d.ts +29 -0
  319. package/build/src/xray-protos/proxy/hysteria/config.d.ts.map +1 -0
  320. package/build/src/xray-protos/proxy/hysteria/config.js +131 -0
  321. package/build/src/xray-protos/proxy/loopback/config.d.ts +24 -0
  322. package/build/src/xray-protos/proxy/loopback/config.d.ts.map +1 -0
  323. package/build/src/xray-protos/proxy/loopback/config.js +93 -0
  324. package/build/src/xray-protos/proxy/shadowsocks/config.d.ts +49 -0
  325. package/build/src/xray-protos/proxy/shadowsocks/config.d.ts.map +1 -0
  326. package/build/src/xray-protos/proxy/shadowsocks/config.js +307 -0
  327. package/build/src/xray-protos/proxy/shadowsocks_2022/config.d.ts +67 -0
  328. package/build/src/xray-protos/proxy/shadowsocks_2022/config.d.ts.map +1 -0
  329. package/build/src/xray-protos/proxy/shadowsocks_2022/config.js +646 -0
  330. package/build/src/xray-protos/proxy/socks/config.d.ts +61 -0
  331. package/build/src/xray-protos/proxy/socks/config.d.ts.map +1 -0
  332. package/build/src/xray-protos/proxy/socks/config.js +416 -0
  333. package/build/src/xray-protos/proxy/trojan/config.d.ts +45 -0
  334. package/build/src/xray-protos/proxy/trojan/config.d.ts.map +1 -0
  335. package/build/src/xray-protos/proxy/trojan/config.js +342 -0
  336. package/build/src/xray-protos/proxy/tun/config.d.ts +28 -0
  337. package/build/src/xray-protos/proxy/tun/config.d.ts.map +1 -0
  338. package/build/src/xray-protos/proxy/tun/config.js +182 -0
  339. package/build/src/xray-protos/proxy/vless/account.d.ts +39 -0
  340. package/build/src/xray-protos/proxy/vless/account.d.ts.map +1 -0
  341. package/build/src/xray-protos/proxy/vless/account.js +287 -0
  342. package/build/src/xray-protos/proxy/vless/encoding/addons.d.ts +23 -0
  343. package/build/src/xray-protos/proxy/vless/encoding/addons.d.ts.map +1 -0
  344. package/build/src/xray-protos/proxy/vless/encoding/addons.js +111 -0
  345. package/build/src/xray-protos/proxy/vless/inbound/config.d.ts +39 -0
  346. package/build/src/xray-protos/proxy/vless/inbound/config.d.ts.map +1 -0
  347. package/build/src/xray-protos/proxy/vless/inbound/config.js +322 -0
  348. package/build/src/xray-protos/proxy/vless/outbound/config.d.ts +23 -0
  349. package/build/src/xray-protos/proxy/vless/outbound/config.d.ts.map +1 -0
  350. package/build/src/xray-protos/proxy/vless/outbound/config.js +71 -0
  351. package/build/src/xray-protos/proxy/vmess/account.d.ts +31 -0
  352. package/build/src/xray-protos/proxy/vmess/account.d.ts.map +1 -0
  353. package/build/src/xray-protos/proxy/vmess/account.js +112 -0
  354. package/build/src/xray-protos/proxy/vmess/inbound/config.d.ts +34 -0
  355. package/build/src/xray-protos/proxy/vmess/inbound/config.d.ts.map +1 -0
  356. package/build/src/xray-protos/proxy/vmess/inbound/config.js +195 -0
  357. package/build/src/xray-protos/proxy/vmess/outbound/config.d.ts +23 -0
  358. package/build/src/xray-protos/proxy/vmess/outbound/config.d.ts.map +1 -0
  359. package/build/src/xray-protos/proxy/vmess/outbound/config.js +74 -0
  360. package/build/src/xray-protos/proxy/wireguard/config.d.ts +50 -0
  361. package/build/src/xray-protos/proxy/wireguard/config.d.ts.map +1 -0
  362. package/build/src/xray-protos/proxy/wireguard/config.js +434 -0
  363. package/build/src/xray-protos/transport/internet/config.d.ts +164 -0
  364. package/build/src/xray-protos/transport/internet/config.d.ts.map +1 -0
  365. package/build/src/xray-protos/transport/internet/config.js +1705 -0
  366. package/build/src/xray-protos/typeRegistry.d.ts +19 -0
  367. package/build/src/xray-protos/typeRegistry.d.ts.map +1 -0
  368. package/build/src/xray-protos/typeRegistry.js +8 -0
  369. package/package.json +60 -0
@@ -0,0 +1,523 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HandlerService = void 0;
7
+ const nice_grpc_1 = require("nice-grpc");
8
+ const errors_1 = require("../common/errors");
9
+ const create_typed_message_1 = __importDefault(require("../common/utils/create-typed-message/create-typed-message"));
10
+ const command_1 = require("../xray-protos/app/proxyman/command/command");
11
+ const user_1 = require("../xray-protos/common/protocol/user");
12
+ const config_1 = require("../xray-protos/proxy/http/config");
13
+ const config_2 = require("../xray-protos/proxy/hysteria/account/config");
14
+ const config_3 = require("../xray-protos/proxy/shadowsocks/config");
15
+ const config_4 = require("../xray-protos/proxy/shadowsocks_2022/config");
16
+ const config_5 = require("../xray-protos/proxy/socks/config");
17
+ const config_6 = require("../xray-protos/proxy/trojan/config");
18
+ const account_1 = require("../xray-protos/proxy/vless/account");
19
+ const config_7 = require("../xray-protos/proxy/wireguard/config");
20
+ const models_1 = require("./models");
21
+ /**
22
+ * Service for managing Xray inbound handlers and their users
23
+ */
24
+ class HandlerService {
25
+ constructor(channel) {
26
+ this.channel = channel;
27
+ this.client = (0, nice_grpc_1.createClient)(command_1.HandlerServiceDefinition, channel);
28
+ }
29
+ /**
30
+ * Retrieves all users from a specified inbound handler.
31
+ * This method fetches user information including their credentials and metadata from the Xray server.
32
+ *
33
+ * @param {string} tag - The tag identifying the inbound handler to query
34
+ * @returns {Promise<ISdkResponse<GetInboundUsersResponseModel>>} A promise that resolves to:
35
+ * - On success: An object with `isOk: true` and `data` containing an array of decoded user information
36
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const handler = new HandlerService(channel);
41
+ * const response = await handler.getInboundUsers('Personal');
42
+ *
43
+ * if (response.isOk) {
44
+ * console.log(response.data.users); // Array of DecodedUser objects
45
+ * } else {
46
+ * console.error(response.message); // Error message
47
+ * }
48
+ * ```
49
+ */
50
+ async getInboundUsers(tag) {
51
+ try {
52
+ const response = await this.client.getInboundUsers({ tag });
53
+ return {
54
+ isOk: true,
55
+ data: new models_1.GetInboundUsersResponseModel(response.users),
56
+ };
57
+ }
58
+ catch (error) {
59
+ let message = '';
60
+ if (error instanceof Error) {
61
+ message = error.message;
62
+ }
63
+ return {
64
+ isOk: false,
65
+ ...errors_1.HANDLER_ERRORS.GET_ALL_USERS_ERROR(message),
66
+ };
67
+ }
68
+ }
69
+ /**
70
+ * Adds a new Trojan user to a specified inbound handler.
71
+ *
72
+ * @param {IAddTrojanUser} data - The user data containing tag, username, password and level
73
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
74
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
75
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
76
+ */
77
+ async addTrojanUser(data) {
78
+ try {
79
+ await this.client.alterInbound({
80
+ tag: data.tag,
81
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
82
+ user: user_1.User.create({
83
+ email: data.username,
84
+ level: data.level,
85
+ account: (0, create_typed_message_1.default)(config_6.Account, {
86
+ password: data.password,
87
+ }),
88
+ }),
89
+ }),
90
+ });
91
+ return {
92
+ isOk: true,
93
+ data: new models_1.AddUserResponseModel(true),
94
+ };
95
+ }
96
+ catch (error) {
97
+ let message = '';
98
+ if (error instanceof Error) {
99
+ message = error.message;
100
+ }
101
+ if (message.includes('already exists')) {
102
+ return {
103
+ isOk: true,
104
+ data: new models_1.AddUserResponseModel(false),
105
+ };
106
+ }
107
+ return {
108
+ isOk: false,
109
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
110
+ };
111
+ }
112
+ }
113
+ /**
114
+ * Adds a new VLESS user to a specified inbound handler.
115
+ *
116
+ * @param {IAddVlessUser} data - The user data containing tag, username, UUID, flow and level
117
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
118
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
119
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
120
+ */
121
+ async addVlessUser(data) {
122
+ try {
123
+ await this.client.alterInbound({
124
+ tag: data.tag,
125
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
126
+ user: user_1.User.create({
127
+ email: data.username,
128
+ level: data.level,
129
+ account: (0, create_typed_message_1.default)(account_1.Account, {
130
+ id: data.uuid,
131
+ flow: data.flow,
132
+ encryption: 'none',
133
+ }),
134
+ }),
135
+ }),
136
+ });
137
+ return {
138
+ isOk: true,
139
+ data: new models_1.AddUserResponseModel(true),
140
+ };
141
+ }
142
+ catch (error) {
143
+ let message = '';
144
+ if (error instanceof Error) {
145
+ message = error.message;
146
+ }
147
+ if (message.includes('already exists')) {
148
+ return {
149
+ isOk: true,
150
+ data: new models_1.AddUserResponseModel(false),
151
+ };
152
+ }
153
+ return {
154
+ isOk: false,
155
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
156
+ };
157
+ }
158
+ }
159
+ /**
160
+ * Adds a new Shadowsocks user to a specified inbound handler.
161
+ *
162
+ * @param {IAddShadowsocksUser} data - The user data containing tag, username, password, cipher type, IV check and level
163
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
164
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
165
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
166
+ */
167
+ async addShadowsocksUser(data) {
168
+ try {
169
+ await this.client.alterInbound({
170
+ tag: data.tag,
171
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
172
+ user: user_1.User.create({
173
+ email: data.username,
174
+ level: data.level,
175
+ account: (0, create_typed_message_1.default)(config_3.Account, {
176
+ password: data.password,
177
+ cipherType: data.cipherType,
178
+ ivCheck: data.ivCheck,
179
+ }),
180
+ }),
181
+ }),
182
+ });
183
+ return {
184
+ isOk: true,
185
+ data: new models_1.AddUserResponseModel(true),
186
+ };
187
+ }
188
+ catch (error) {
189
+ let message = '';
190
+ if (error instanceof Error) {
191
+ message = error.message;
192
+ }
193
+ if (message.includes('already exists')) {
194
+ return {
195
+ isOk: true,
196
+ data: new models_1.AddUserResponseModel(false),
197
+ };
198
+ }
199
+ return {
200
+ isOk: false,
201
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
202
+ };
203
+ }
204
+ }
205
+ /**
206
+ * Adds a new Shadowsocks 2022 user to a specified inbound handler.
207
+ *
208
+ * @param {IAddShadowsocks2022User} data - The user data containing tag, username, key and level
209
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
210
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
211
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
212
+ */
213
+ async addShadowsocks2022User(data) {
214
+ try {
215
+ await this.client.alterInbound({
216
+ tag: data.tag,
217
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
218
+ user: user_1.User.create({
219
+ email: data.username,
220
+ level: data.level,
221
+ account: (0, create_typed_message_1.default)(config_4.Account, {
222
+ key: data.key,
223
+ }),
224
+ }),
225
+ }),
226
+ });
227
+ return {
228
+ isOk: true,
229
+ data: new models_1.AddUserResponseModel(true),
230
+ };
231
+ }
232
+ catch (error) {
233
+ let message = '';
234
+ if (error instanceof Error) {
235
+ message = error.message;
236
+ }
237
+ if (message.includes('already exists')) {
238
+ return {
239
+ isOk: true,
240
+ data: new models_1.AddUserResponseModel(false),
241
+ };
242
+ }
243
+ return {
244
+ isOk: false,
245
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
246
+ };
247
+ }
248
+ }
249
+ /**
250
+ * Adds a new SOCKS user to a specified inbound handler.
251
+ *
252
+ * @param {IAddSocksUser} data - The user data containing tag, username, SOCKS username, SOCKS password and level
253
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
254
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
255
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
256
+ */
257
+ async addSocksUser(data) {
258
+ try {
259
+ await this.client.alterInbound({
260
+ tag: data.tag,
261
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
262
+ user: user_1.User.create({
263
+ email: data.username,
264
+ level: data.level,
265
+ account: (0, create_typed_message_1.default)(config_5.Account, {
266
+ username: data.socks_username,
267
+ password: data.socks_password,
268
+ }),
269
+ }),
270
+ }),
271
+ });
272
+ return {
273
+ isOk: true,
274
+ data: new models_1.AddUserResponseModel(true),
275
+ };
276
+ }
277
+ catch (error) {
278
+ let message = '';
279
+ if (error instanceof Error) {
280
+ message = error.message;
281
+ }
282
+ if (message.includes('already exists')) {
283
+ return {
284
+ isOk: true,
285
+ data: new models_1.AddUserResponseModel(false),
286
+ };
287
+ }
288
+ return {
289
+ isOk: false,
290
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
291
+ };
292
+ }
293
+ }
294
+ /**
295
+ * Adds a new Wireguard user to a specified inbound handler.
296
+ *
297
+ * @param {IAddWireguardUser} data - The user data containing tag, username, public key, allowed IPs and level
298
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
299
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
300
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
301
+ */
302
+ async addWireguardUser(data) {
303
+ try {
304
+ await this.client.alterInbound({
305
+ tag: data.tag,
306
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
307
+ user: user_1.User.create({
308
+ email: data.username,
309
+ level: data.level,
310
+ account: (0, create_typed_message_1.default)(config_7.PeerConfig, {
311
+ publicKey: data.publicKey,
312
+ allowedIps: data.allowedIps,
313
+ }),
314
+ }),
315
+ }),
316
+ });
317
+ return {
318
+ isOk: true,
319
+ data: new models_1.AddUserResponseModel(true),
320
+ };
321
+ }
322
+ catch (error) {
323
+ let message = '';
324
+ if (error instanceof Error) {
325
+ message = error.message;
326
+ }
327
+ if (message.includes('already exists')) {
328
+ return {
329
+ isOk: true,
330
+ data: new models_1.AddUserResponseModel(false),
331
+ };
332
+ }
333
+ return {
334
+ isOk: false,
335
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
336
+ };
337
+ }
338
+ }
339
+ /**
340
+ * Adds a new HTTP user to a specified inbound handler.
341
+ *
342
+ * @param {IAddHttpUser} data - The user data containing tag, username, HTTP username, HTTP password and level
343
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
344
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
345
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
346
+ */
347
+ async addHttpUser(data) {
348
+ try {
349
+ await this.client.alterInbound({
350
+ tag: data.tag,
351
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
352
+ user: user_1.User.create({
353
+ email: data.username,
354
+ level: data.level,
355
+ account: (0, create_typed_message_1.default)(config_1.Account, {
356
+ username: data.http_username,
357
+ password: data.http_password,
358
+ }),
359
+ }),
360
+ }),
361
+ });
362
+ return {
363
+ isOk: true,
364
+ data: new models_1.AddUserResponseModel(true),
365
+ };
366
+ }
367
+ catch (error) {
368
+ let message = '';
369
+ if (error instanceof Error) {
370
+ message = error.message;
371
+ }
372
+ if (message.includes('already exists')) {
373
+ return {
374
+ isOk: true,
375
+ data: new models_1.AddUserResponseModel(false),
376
+ };
377
+ }
378
+ return {
379
+ isOk: false,
380
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
381
+ };
382
+ }
383
+ }
384
+ /**
385
+ * Adds a new Hysteria user to a specified inbound handler.
386
+ *
387
+ * @remarks
388
+ * This method adds a user for the Hysteria protocol to an Xray server inbound handler.
389
+ *
390
+ * @param data - The user data for the new Hysteria user.
391
+ * @param data.tag - The tag identifying the inbound handler.
392
+ * @param data.username - The email/username for the user.
393
+ * @param data.level - The user privilege level.
394
+ * @param data.uuid - The authentication string for Hysteria (typically a password).
395
+ *
396
+ * @returns A promise that resolves to an {@link ISdkResponse} containing {@link AddUserResponseModel}.
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * const handler = new HandlerService(channel);
401
+ * const result = await handler.addHysteriaUser({
402
+ * tag: 'hysteria-inbound',
403
+ * username: 'example@example.com',
404
+ * level: 0,
405
+ * uuid: 'random-password',
406
+ * });
407
+ * if (result.isOk && result.data.success) {
408
+ * // User added successfully
409
+ * }
410
+ * ```
411
+ *
412
+ * @throws An error with details from {@link HANDLER_ERRORS.ADD_USER_ERROR} if the operation fails.
413
+ * Returns `isOk: true` and `success: false` if the user already exists.
414
+ */
415
+ async addHysteriaUser(data) {
416
+ try {
417
+ await this.client.alterInbound({
418
+ tag: data.tag,
419
+ operation: (0, create_typed_message_1.default)(command_1.AddUserOperation, {
420
+ user: user_1.User.create({
421
+ email: data.username,
422
+ level: data.level,
423
+ account: (0, create_typed_message_1.default)(config_2.Account, {
424
+ auth: data.uuid,
425
+ }),
426
+ }),
427
+ }),
428
+ });
429
+ return {
430
+ isOk: true,
431
+ data: new models_1.AddUserResponseModel(true),
432
+ };
433
+ }
434
+ catch (error) {
435
+ let message = '';
436
+ if (error instanceof Error) {
437
+ message = error.message;
438
+ }
439
+ if (message.includes('already exists')) {
440
+ return {
441
+ isOk: true,
442
+ data: new models_1.AddUserResponseModel(false),
443
+ };
444
+ }
445
+ return {
446
+ isOk: false,
447
+ ...errors_1.HANDLER_ERRORS.ADD_USER_ERROR(message),
448
+ };
449
+ }
450
+ }
451
+ /**
452
+ * Removes a user from a specified inbound handler.
453
+ *
454
+ * @param {string} tag - The tag identifying the inbound handler
455
+ * @param {string} username - The username/email of the user to remove
456
+ * @returns {Promise<ISdkResponse<RemoveUserResponseModel>>} A promise that resolves to:
457
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was removed
458
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
459
+ */
460
+ async removeUser(tag, username) {
461
+ try {
462
+ await this.client.alterInbound({
463
+ tag: tag,
464
+ operation: (0, create_typed_message_1.default)(command_1.RemoveUserOperation, { email: username }),
465
+ });
466
+ return {
467
+ isOk: true,
468
+ data: new models_1.RemoveUserResponseModel(true),
469
+ };
470
+ }
471
+ catch (error) {
472
+ let message = '';
473
+ if (error instanceof Error) {
474
+ message = error.message;
475
+ }
476
+ if (message.includes('not found')) {
477
+ return {
478
+ isOk: true,
479
+ data: new models_1.RemoveUserResponseModel(false),
480
+ };
481
+ }
482
+ return {
483
+ isOk: false,
484
+ ...errors_1.HANDLER_ERRORS.REMOVE_USER_ERROR(message),
485
+ };
486
+ }
487
+ }
488
+ /**
489
+ * Gets the count of users in a specified inbound handler.
490
+ *
491
+ * @param {string} tag - The tag identifying the inbound handler
492
+ * @returns {Promise<ISdkResponse<number>>} A promise that resolves to:
493
+ * - On success: An object with `isOk: true` and `data` containing the user count
494
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
495
+ */
496
+ async getInboundUsersCount(tag) {
497
+ try {
498
+ const response = await this.client.getInboundUsersCount({ tag });
499
+ return {
500
+ isOk: true,
501
+ data: response.count,
502
+ };
503
+ }
504
+ catch (error) {
505
+ let message = '';
506
+ if (error instanceof Error) {
507
+ message = error.message;
508
+ }
509
+ return {
510
+ isOk: false,
511
+ ...errors_1.HANDLER_ERRORS.GET_INBOUND_USERS_COUNT_ERROR(message),
512
+ };
513
+ }
514
+ }
515
+ /**
516
+ * Gets the raw gRPC client for direct access to all handler service methods
517
+ * @returns The underlying HandlerServiceClient instance
518
+ */
519
+ get rawClient() {
520
+ return this.client;
521
+ }
522
+ }
523
+ exports.HandlerService = HandlerService;
@@ -0,0 +1,8 @@
1
+ export interface IAddHttpUser {
2
+ tag: string;
3
+ username: string;
4
+ level: number;
5
+ http_username: string;
6
+ http_password: string;
7
+ }
8
+ //# sourceMappingURL=add-http-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-http-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-http-user.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ export interface IAddHysteriaUser {
2
+ username: string;
3
+ level: number;
4
+ uuid: string;
5
+ tag: string;
6
+ }
7
+ //# sourceMappingURL=add-hysteria-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-hysteria-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-hysteria-user.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { CipherType } from '../../../xray-protos/proxy/shadowsocks/config';
2
+ export interface IAddShadowsocksUser {
3
+ tag: string;
4
+ username: string;
5
+ level: number;
6
+ password: string;
7
+ cipherType: CipherType;
8
+ ivCheck: boolean;
9
+ }
10
+ //# sourceMappingURL=add-shadowsocks-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-shadowsocks-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-shadowsocks-user.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAE3E,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ export interface IAddShadowsocks2022User {
2
+ username: string;
3
+ level: number;
4
+ key: string;
5
+ tag: string;
6
+ }
7
+ //# sourceMappingURL=add-shadowsocks2022-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-shadowsocks2022-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-shadowsocks2022-user.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export interface IAddSocksUser {
2
+ username: string;
3
+ level: number;
4
+ socks_username: string;
5
+ socks_password: string;
6
+ tag: string;
7
+ }
8
+ //# sourceMappingURL=add-socks-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-socks-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-socks-user.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ export interface IAddTrojanUser {
2
+ username: string;
3
+ level: number;
4
+ password: string;
5
+ tag: string;
6
+ }
7
+ //# sourceMappingURL=add-trojan-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-trojan-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-trojan-user.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export interface IAddVlessUser {
2
+ username: string;
3
+ level: number;
4
+ uuid: string;
5
+ flow: 'xtls-rprx-vision' | '';
6
+ tag: string;
7
+ }
8
+ //# sourceMappingURL=add-vless-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-vless-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-vless-user.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,kBAAkB,GAAG,EAAE,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export interface IAddWireguardUser {
2
+ tag: string;
3
+ username: string;
4
+ level: number;
5
+ publicKey: string;
6
+ allowedIps: string[];
7
+ }
8
+ //# sourceMappingURL=add-wireguard-user.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-wireguard-user.interface.d.ts","sourceRoot":"","sources":["../../../../../src/handler/interfaces/add-user/add-wireguard-user.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ export * from './add-http-user.interface';
2
+ export * from './add-hysteria-user.interface';
3
+ export * from './add-shadowsocks-user.interface';
4
+ export * from './add-shadowsocks2022-user.interface';
5
+ export * from './add-socks-user.interface';
6
+ export * from './add-trojan-user.interface';
7
+ export * from './add-vless-user.interface';
8
+ export * from './add-wireguard-user.interface';
9
+ //# sourceMappingURL=index.d.ts.map