@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 @@
1
+ {"version":3,"file":"account-types.d.ts","sourceRoot":"","sources":["../../../../../../src/common/utils/decode-user/constants/account-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAEnF,eAAO,MAAM,aAAa;;;;uCAII,aAAa,KAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;;;;;uCAO5C,YAAY,KAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;;;;;uCAe1C,kBAAkB,KAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;;;;;uCAStD,sBAAsB,KAAG,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;;;;;uCAO9D,YAAY,KAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;;;;;uCAQ1C,WAAW,KAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;;CAK5D,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ACCOUNT_TYPES = void 0;
4
+ const config_1 = require("../../../../xray-protos/proxy/shadowsocks_2022/config");
5
+ const config_2 = require("../../../../xray-protos/proxy/shadowsocks/config");
6
+ const config_3 = require("../../../../xray-protos/proxy/trojan/config");
7
+ const account_1 = require("../../../../xray-protos/proxy/vless/account");
8
+ const config_4 = require("../../../../xray-protos/proxy/socks/config");
9
+ const config_5 = require("../../../../xray-protos/proxy/http/config");
10
+ exports.ACCOUNT_TYPES = {
11
+ [config_3.Account.$type]: {
12
+ decoder: config_3.Account,
13
+ protocol: 'trojan',
14
+ getCredentials: (acc) => ({
15
+ password: acc.password,
16
+ }),
17
+ },
18
+ [account_1.Account.$type]: {
19
+ decoder: account_1.Account,
20
+ protocol: 'vless',
21
+ getCredentials: (acc) => ({
22
+ id: acc.id,
23
+ flow: acc.flow,
24
+ encryption: acc.encryption,
25
+ xorMode: acc.xorMode,
26
+ seconds: acc.seconds,
27
+ padding: acc.padding,
28
+ reverse: acc.reverse,
29
+ testpre: acc.testpre,
30
+ testseed: acc.testseed,
31
+ }),
32
+ },
33
+ [config_2.Account.$type]: {
34
+ decoder: config_2.Account,
35
+ protocol: 'shadowsocks',
36
+ getCredentials: (acc) => ({
37
+ password: acc.password,
38
+ cipherType: acc.cipherType,
39
+ ivCheck: acc.ivCheck,
40
+ }),
41
+ },
42
+ [config_1.Account.$type]: {
43
+ decoder: config_1.Account,
44
+ protocol: 'shadowsocks2022',
45
+ getCredentials: (acc) => ({
46
+ key: acc.key,
47
+ }),
48
+ },
49
+ [config_4.Account.$type]: {
50
+ decoder: config_4.Account,
51
+ protocol: 'socks',
52
+ getCredentials: (acc) => ({
53
+ username: acc.username,
54
+ password: acc.password,
55
+ }),
56
+ },
57
+ [config_5.Account.$type]: {
58
+ decoder: config_5.Account,
59
+ protocol: 'http',
60
+ getCredentials: (acc) => ({
61
+ username: acc.username,
62
+ password: acc.password,
63
+ }),
64
+ },
65
+ };
@@ -0,0 +1,2 @@
1
+ export * from './account-types';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/common/utils/decode-user/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./account-types"), exports);
@@ -0,0 +1,37 @@
1
+ import { User } from '../../../xray-protos/common/protocol/user';
2
+ import { DecodedUser } from './types';
3
+ /**
4
+ * Decodes a User object into a DecodedUser with credentials and metadata.
5
+ * The function extracts account credentials based on the account type and protocol.
6
+ *
7
+ * @param user - The User object to decode, containing account information including:
8
+ * - email: User's email address used as username
9
+ * - level: User's permission level
10
+ * - account: Object containing account type and encoded credentials
11
+ * @returns DecodedUser object containing:
12
+ * - Protocol-specific credentials decoded from the account value
13
+ * - Protocol identifier
14
+ * - Username (from email)
15
+ * - Permission level
16
+ * @throws Error if user object is missing account information
17
+ * @throws Error if account type is not recognized
18
+ *
19
+ * @example
20
+ * const user = {
21
+ * email: "user@example.com",
22
+ * level: 1,
23
+ * account: {
24
+ * type: "standard",
25
+ * value: Buffer.from("...") // Encoded credentials
26
+ * }
27
+ * };
28
+ * const decoded = decodeUser(user);
29
+ * // Returns: {
30
+ * // standard: { ... decoded credentials ... },
31
+ * // protocol: "standard",
32
+ * // username: "user@example.com",
33
+ * // level: 1
34
+ * // }
35
+ */
36
+ export declare const decodeUser: (user: User) => DecodedUser;
37
+ //# sourceMappingURL=decode-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode-user.d.ts","sourceRoot":"","sources":["../../../../../src/common/utils/decode-user/decode-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,KAAG,WAmBvC,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeUser = void 0;
4
+ const constants_1 = require("./constants");
5
+ /**
6
+ * Decodes a User object into a DecodedUser with credentials and metadata.
7
+ * The function extracts account credentials based on the account type and protocol.
8
+ *
9
+ * @param user - The User object to decode, containing account information including:
10
+ * - email: User's email address used as username
11
+ * - level: User's permission level
12
+ * - account: Object containing account type and encoded credentials
13
+ * @returns DecodedUser object containing:
14
+ * - Protocol-specific credentials decoded from the account value
15
+ * - Protocol identifier
16
+ * - Username (from email)
17
+ * - Permission level
18
+ * @throws Error if user object is missing account information
19
+ * @throws Error if account type is not recognized
20
+ *
21
+ * @example
22
+ * const user = {
23
+ * email: "user@example.com",
24
+ * level: 1,
25
+ * account: {
26
+ * type: "standard",
27
+ * value: Buffer.from("...") // Encoded credentials
28
+ * }
29
+ * };
30
+ * const decoded = decodeUser(user);
31
+ * // Returns: {
32
+ * // standard: { ... decoded credentials ... },
33
+ * // protocol: "standard",
34
+ * // username: "user@example.com",
35
+ * // level: 1
36
+ * // }
37
+ */
38
+ const decodeUser = (user) => {
39
+ if (!user?.account) {
40
+ throw new Error('Invalid user object: missing account');
41
+ }
42
+ const accountType = user.account.type;
43
+ const accountConfig = constants_1.ACCOUNT_TYPES[accountType];
44
+ if (!accountConfig) {
45
+ throw new Error(`Unknown account type: ${accountType}`);
46
+ }
47
+ const decodedAccount = accountConfig.decoder.decode(user.account.value);
48
+ return {
49
+ [accountConfig.protocol]: accountConfig.getCredentials(decodedAccount),
50
+ protocol: accountConfig.protocol,
51
+ username: user.email,
52
+ level: user.level,
53
+ };
54
+ };
55
+ exports.decodeUser = decodeUser;
@@ -0,0 +1,3 @@
1
+ import { ACCOUNT_TYPES } from '../constants';
2
+ export type TAccountTypesKey = keyof typeof ACCOUNT_TYPES;
3
+ //# sourceMappingURL=account-type-keys.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-type-keys.type.d.ts","sourceRoot":"","sources":["../../../../../../src/common/utils/decode-user/types/account-type-keys.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { ACCOUNT_TYPES } from '../constants';
2
+ import { TAccountTypesKey } from './account-type-keys.type';
3
+ export type AccountTypeMapping = ReturnType<(typeof ACCOUNT_TYPES)[TAccountTypesKey]['getCredentials']>;
4
+ //# sourceMappingURL=account-type-mapping.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-type-mapping.type.d.ts","sourceRoot":"","sources":["../../../../../../src/common/utils/decode-user/types/account-type-mapping.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACvC,CAAC,OAAO,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAC7D,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ import { Account as TrojanAccount } from '../../../../xray-protos/proxy/trojan/config';
2
+ import { Account as VlessAccount } from '../../../../xray-protos/proxy/vless/account';
3
+ import { Account as ShadowsocksAccount } from '../../../../xray-protos/proxy/shadowsocks/config';
4
+ import { Account as Shadowsocks2022Account } from '../../../../xray-protos/proxy/shadowsocks_2022/config';
5
+ import { Account as SocksAccount } from '../../../../xray-protos/proxy/socks/config';
6
+ import { Account as HttpAccount } from '../../../../xray-protos/proxy/http/config';
7
+ export interface DecodedUser {
8
+ username: string;
9
+ level: number;
10
+ protocol: string;
11
+ trojan?: Omit<TrojanAccount, '$type'>;
12
+ vless?: Omit<VlessAccount, '$type'>;
13
+ http?: Omit<HttpAccount, '$type'>;
14
+ shadowsocks?: Omit<ShadowsocksAccount, '$type'>;
15
+ shadowsocks2022?: Omit<Shadowsocks2022Account, '$type'>;
16
+ socks?: Omit<SocksAccount, '$type'>;
17
+ }
18
+ //# sourceMappingURL=decoded-user.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoded-user.type.d.ts","sourceRoot":"","sources":["../../../../../../src/common/utils/decode-user/types/decoded-user.type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAEnF,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export * from './account-type-keys.type';
2
+ export * from './account-type-mapping.type';
3
+ export * from './decoded-user.type';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/common/utils/decode-user/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./account-type-keys.type"), exports);
18
+ __exportStar(require("./account-type-mapping.type"), exports);
19
+ __exportStar(require("./decoded-user.type"), exports);
@@ -0,0 +1,155 @@
1
+ import { Channel } from 'nice-grpc';
2
+ import { ISdkResponse } from '../common/types/sdk-response';
3
+ import { HandlerServiceClient } from '../xray-protos/app/proxyman/command/command';
4
+ import { IAddHttpUser, IAddHysteriaUser, IAddShadowsocks2022User, IAddShadowsocksUser, IAddSocksUser, IAddTrojanUser, IAddVlessUser, IAddWireguardUser } from './interfaces';
5
+ import { AddUserResponseModel, GetInboundUsersResponseModel, RemoveUserResponseModel } from './models';
6
+ /**
7
+ * Service for managing Xray inbound handlers and their users
8
+ */
9
+ export declare class HandlerService {
10
+ private readonly channel;
11
+ private readonly client;
12
+ constructor(channel: Channel);
13
+ /**
14
+ * Retrieves all users from a specified inbound handler.
15
+ * This method fetches user information including their credentials and metadata from the Xray server.
16
+ *
17
+ * @param {string} tag - The tag identifying the inbound handler to query
18
+ * @returns {Promise<ISdkResponse<GetInboundUsersResponseModel>>} A promise that resolves to:
19
+ * - On success: An object with `isOk: true` and `data` containing an array of decoded user information
20
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const handler = new HandlerService(channel);
25
+ * const response = await handler.getInboundUsers('Personal');
26
+ *
27
+ * if (response.isOk) {
28
+ * console.log(response.data.users); // Array of DecodedUser objects
29
+ * } else {
30
+ * console.error(response.message); // Error message
31
+ * }
32
+ * ```
33
+ */
34
+ getInboundUsers(tag: string): Promise<ISdkResponse<GetInboundUsersResponseModel>>;
35
+ /**
36
+ * Adds a new Trojan user to a specified inbound handler.
37
+ *
38
+ * @param {IAddTrojanUser} data - The user data containing tag, username, password and level
39
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
40
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
41
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
42
+ */
43
+ addTrojanUser(data: IAddTrojanUser): Promise<ISdkResponse<AddUserResponseModel>>;
44
+ /**
45
+ * Adds a new VLESS user to a specified inbound handler.
46
+ *
47
+ * @param {IAddVlessUser} data - The user data containing tag, username, UUID, flow and level
48
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
49
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
50
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
51
+ */
52
+ addVlessUser(data: IAddVlessUser): Promise<ISdkResponse<AddUserResponseModel>>;
53
+ /**
54
+ * Adds a new Shadowsocks user to a specified inbound handler.
55
+ *
56
+ * @param {IAddShadowsocksUser} data - The user data containing tag, username, password, cipher type, IV check and level
57
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
58
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
59
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
60
+ */
61
+ addShadowsocksUser(data: IAddShadowsocksUser): Promise<ISdkResponse<AddUserResponseModel>>;
62
+ /**
63
+ * Adds a new Shadowsocks 2022 user to a specified inbound handler.
64
+ *
65
+ * @param {IAddShadowsocks2022User} data - The user data containing tag, username, key and level
66
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
67
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
68
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
69
+ */
70
+ addShadowsocks2022User(data: IAddShadowsocks2022User): Promise<ISdkResponse<AddUserResponseModel>>;
71
+ /**
72
+ * Adds a new SOCKS user to a specified inbound handler.
73
+ *
74
+ * @param {IAddSocksUser} data - The user data containing tag, username, SOCKS username, SOCKS password and level
75
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
76
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
77
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
78
+ */
79
+ addSocksUser(data: IAddSocksUser): Promise<ISdkResponse<AddUserResponseModel>>;
80
+ /**
81
+ * Adds a new Wireguard user to a specified inbound handler.
82
+ *
83
+ * @param {IAddWireguardUser} data - The user data containing tag, username, public key, allowed IPs and level
84
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
85
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
86
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
87
+ */
88
+ addWireguardUser(data: IAddWireguardUser): Promise<ISdkResponse<AddUserResponseModel>>;
89
+ /**
90
+ * Adds a new HTTP user to a specified inbound handler.
91
+ *
92
+ * @param {IAddHttpUser} data - The user data containing tag, username, HTTP username, HTTP password and level
93
+ * @returns {Promise<ISdkResponse<AddUserResponseModel>>} A promise that resolves to:
94
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was added
95
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
96
+ */
97
+ addHttpUser(data: IAddHttpUser): Promise<ISdkResponse<AddUserResponseModel>>;
98
+ /**
99
+ * Adds a new Hysteria user to a specified inbound handler.
100
+ *
101
+ * @remarks
102
+ * This method adds a user for the Hysteria protocol to an Xray server inbound handler.
103
+ *
104
+ * @param data - The user data for the new Hysteria user.
105
+ * @param data.tag - The tag identifying the inbound handler.
106
+ * @param data.username - The email/username for the user.
107
+ * @param data.level - The user privilege level.
108
+ * @param data.uuid - The authentication string for Hysteria (typically a password).
109
+ *
110
+ * @returns A promise that resolves to an {@link ISdkResponse} containing {@link AddUserResponseModel}.
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const handler = new HandlerService(channel);
115
+ * const result = await handler.addHysteriaUser({
116
+ * tag: 'hysteria-inbound',
117
+ * username: 'example@example.com',
118
+ * level: 0,
119
+ * uuid: 'random-password',
120
+ * });
121
+ * if (result.isOk && result.data.success) {
122
+ * // User added successfully
123
+ * }
124
+ * ```
125
+ *
126
+ * @throws An error with details from {@link HANDLER_ERRORS.ADD_USER_ERROR} if the operation fails.
127
+ * Returns `isOk: true` and `success: false` if the user already exists.
128
+ */
129
+ addHysteriaUser(data: IAddHysteriaUser): Promise<ISdkResponse<AddUserResponseModel>>;
130
+ /**
131
+ * Removes a user from a specified inbound handler.
132
+ *
133
+ * @param {string} tag - The tag identifying the inbound handler
134
+ * @param {string} username - The username/email of the user to remove
135
+ * @returns {Promise<ISdkResponse<RemoveUserResponseModel>>} A promise that resolves to:
136
+ * - On success: An object with `isOk: true` and `data.success` indicating if user was removed
137
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
138
+ */
139
+ removeUser(tag: string, username: string): Promise<ISdkResponse<RemoveUserResponseModel>>;
140
+ /**
141
+ * Gets the count of users in a specified inbound handler.
142
+ *
143
+ * @param {string} tag - The tag identifying the inbound handler
144
+ * @returns {Promise<ISdkResponse<number>>} A promise that resolves to:
145
+ * - On success: An object with `isOk: true` and `data` containing the user count
146
+ * - On failure: An object with `isOk: false` and error details from HANDLER_ERRORS
147
+ */
148
+ getInboundUsersCount(tag: string): Promise<ISdkResponse<number>>;
149
+ /**
150
+ * Gets the raw gRPC client for direct access to all handler service methods
151
+ * @returns The underlying HandlerServiceClient instance
152
+ */
153
+ get rawClient(): HandlerServiceClient;
154
+ }
155
+ //# sourceMappingURL=handler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.service.d.ts","sourceRoot":"","sources":["../../../src/handler/handler.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAEH,oBAAoB,EAGvB,MAAM,6CAA6C,CAAC;AAUrD,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EAC1B,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,qBAAa,cAAc;IAGX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAEjB,OAAO,EAAE,OAAO;IAI7C;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAoB9F;;;;;;;OAOG;IACU,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAuC7F;;;;;;;OAOG;IACU,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAyC3F;;;;;;;OAOG;IACU,kBAAkB,CAC3B,IAAI,EAAE,mBAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAyC9C;;;;;;;OAOG;IACU,sBAAsB,CAC/B,IAAI,EAAE,uBAAuB,GAC9B,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAuC9C;;;;;;;OAOG;IACU,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAwC3F;;;;;;;OAOG;IACU,gBAAgB,CACzB,IAAI,EAAE,iBAAiB,GACxB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAwC9C;;;;;;;OAOG;IACU,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAwCzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACU,eAAe,CACxB,IAAI,EAAE,gBAAgB,GACvB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAuC9C;;;;;;;;OAQG;IACU,UAAU,CACnB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IA+BjD;;;;;;;OAOG;IACU,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAmB7E;;;OAGG;IACH,IAAW,SAAS,IAAI,oBAAoB,CAE3C;CACJ"}