@remnawave/xtls-sdk 0.0.1

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 (317) hide show
  1. package/README.md +104 -0
  2. package/build/index.d.ts +8 -0
  3. package/build/index.d.ts.map +1 -0
  4. package/build/index.js +13 -0
  5. package/build/scripts/export-protos.d.ts +2 -0
  6. package/build/scripts/export-protos.d.ts.map +1 -0
  7. package/build/scripts/export-protos.js +122 -0
  8. package/build/src/common/errors/index.d.ts +2 -0
  9. package/build/src/common/errors/index.d.ts.map +1 -0
  10. package/build/src/common/errors/index.js +17 -0
  11. package/build/src/common/errors/stats/index.d.ts +2 -0
  12. package/build/src/common/errors/stats/index.d.ts.map +1 -0
  13. package/build/src/common/errors/stats/index.js +17 -0
  14. package/build/src/common/errors/stats/stats.errors.d.ts +39 -0
  15. package/build/src/common/errors/stats/stats.errors.d.ts.map +1 -0
  16. package/build/src/common/errors/stats/stats.errors.js +38 -0
  17. package/build/src/common/types/index.d.ts +2 -0
  18. package/build/src/common/types/index.d.ts.map +1 -0
  19. package/build/src/common/types/index.js +17 -0
  20. package/build/src/common/types/sdk-response.d.ts +6 -0
  21. package/build/src/common/types/sdk-response.d.ts.map +1 -0
  22. package/build/src/common/types/sdk-response.js +2 -0
  23. package/build/src/handler/handler.service.d.ts +1 -0
  24. package/build/src/handler/handler.service.d.ts.map +1 -0
  25. package/build/src/handler/handler.service.js +1 -0
  26. package/build/src/stats/models/get-all-inbounds-stats/get-all-inbounds-stats.response.model.d.ts +21 -0
  27. package/build/src/stats/models/get-all-inbounds-stats/get-all-inbounds-stats.response.model.d.ts.map +1 -0
  28. package/build/src/stats/models/get-all-inbounds-stats/get-all-inbounds-stats.response.model.js +42 -0
  29. package/build/src/stats/models/get-all-inbounds-stats/index.d.ts +2 -0
  30. package/build/src/stats/models/get-all-inbounds-stats/index.d.ts.map +1 -0
  31. package/build/src/stats/models/get-all-inbounds-stats/index.js +17 -0
  32. package/build/src/stats/models/get-all-inbounds-stats/interfaces/inbound.interface.d.ts +6 -0
  33. package/build/src/stats/models/get-all-inbounds-stats/interfaces/inbound.interface.d.ts.map +1 -0
  34. package/build/src/stats/models/get-all-inbounds-stats/interfaces/inbound.interface.js +2 -0
  35. package/build/src/stats/models/get-all-inbounds-stats/interfaces/index.d.ts +2 -0
  36. package/build/src/stats/models/get-all-inbounds-stats/interfaces/index.d.ts.map +1 -0
  37. package/build/src/stats/models/get-all-inbounds-stats/interfaces/index.js +17 -0
  38. package/build/src/stats/models/get-all-outbounds-stats/get-all-outbounds-stats.response.model.d.ts +21 -0
  39. package/build/src/stats/models/get-all-outbounds-stats/get-all-outbounds-stats.response.model.d.ts.map +1 -0
  40. package/build/src/stats/models/get-all-outbounds-stats/get-all-outbounds-stats.response.model.js +42 -0
  41. package/build/src/stats/models/get-all-outbounds-stats/index.d.ts +2 -0
  42. package/build/src/stats/models/get-all-outbounds-stats/index.d.ts.map +1 -0
  43. package/build/src/stats/models/get-all-outbounds-stats/index.js +17 -0
  44. package/build/src/stats/models/get-all-outbounds-stats/interfaces/index.d.ts +2 -0
  45. package/build/src/stats/models/get-all-outbounds-stats/interfaces/index.d.ts.map +1 -0
  46. package/build/src/stats/models/get-all-outbounds-stats/interfaces/index.js +17 -0
  47. package/build/src/stats/models/get-all-outbounds-stats/interfaces/outbound.interface.d.ts +6 -0
  48. package/build/src/stats/models/get-all-outbounds-stats/interfaces/outbound.interface.d.ts.map +1 -0
  49. package/build/src/stats/models/get-all-outbounds-stats/interfaces/outbound.interface.js +2 -0
  50. package/build/src/stats/models/get-all-users-stats/get-all-users-stats.response.model.d.ts +21 -0
  51. package/build/src/stats/models/get-all-users-stats/get-all-users-stats.response.model.d.ts.map +1 -0
  52. package/build/src/stats/models/get-all-users-stats/get-all-users-stats.response.model.js +42 -0
  53. package/build/src/stats/models/get-all-users-stats/index.d.ts +2 -0
  54. package/build/src/stats/models/get-all-users-stats/index.d.ts.map +1 -0
  55. package/build/src/stats/models/get-all-users-stats/index.js +17 -0
  56. package/build/src/stats/models/get-all-users-stats/interfaces/index.d.ts +2 -0
  57. package/build/src/stats/models/get-all-users-stats/interfaces/index.d.ts.map +1 -0
  58. package/build/src/stats/models/get-all-users-stats/interfaces/index.js +17 -0
  59. package/build/src/stats/models/get-all-users-stats/interfaces/user.interface.d.ts +6 -0
  60. package/build/src/stats/models/get-all-users-stats/interfaces/user.interface.d.ts.map +1 -0
  61. package/build/src/stats/models/get-all-users-stats/interfaces/user.interface.js +2 -0
  62. package/build/src/stats/models/get-inbound-stats/get-inbound-stats.response.model.d.ts +27 -0
  63. package/build/src/stats/models/get-inbound-stats/get-inbound-stats.response.model.d.ts.map +1 -0
  64. package/build/src/stats/models/get-inbound-stats/get-inbound-stats.response.model.js +46 -0
  65. package/build/src/stats/models/get-inbound-stats/index.d.ts +2 -0
  66. package/build/src/stats/models/get-inbound-stats/index.d.ts.map +1 -0
  67. package/build/src/stats/models/get-inbound-stats/index.js +17 -0
  68. package/build/src/stats/models/get-inbound-stats/interfaces/inbound.interface.d.ts +6 -0
  69. package/build/src/stats/models/get-inbound-stats/interfaces/inbound.interface.d.ts.map +1 -0
  70. package/build/src/stats/models/get-inbound-stats/interfaces/inbound.interface.js +2 -0
  71. package/build/src/stats/models/get-inbound-stats/interfaces/index.d.ts +2 -0
  72. package/build/src/stats/models/get-inbound-stats/interfaces/index.d.ts.map +1 -0
  73. package/build/src/stats/models/get-inbound-stats/interfaces/index.js +17 -0
  74. package/build/src/stats/models/get-outbound-stats/get-outbound-stats.response.model.d.ts +27 -0
  75. package/build/src/stats/models/get-outbound-stats/get-outbound-stats.response.model.d.ts.map +1 -0
  76. package/build/src/stats/models/get-outbound-stats/get-outbound-stats.response.model.js +46 -0
  77. package/build/src/stats/models/get-outbound-stats/index.d.ts +2 -0
  78. package/build/src/stats/models/get-outbound-stats/index.d.ts.map +1 -0
  79. package/build/src/stats/models/get-outbound-stats/index.js +17 -0
  80. package/build/src/stats/models/get-outbound-stats/interfaces/index.d.ts +2 -0
  81. package/build/src/stats/models/get-outbound-stats/interfaces/index.d.ts.map +1 -0
  82. package/build/src/stats/models/get-outbound-stats/interfaces/index.js +17 -0
  83. package/build/src/stats/models/get-outbound-stats/interfaces/outbound.d.ts +6 -0
  84. package/build/src/stats/models/get-outbound-stats/interfaces/outbound.d.ts.map +1 -0
  85. package/build/src/stats/models/get-outbound-stats/interfaces/outbound.js +2 -0
  86. package/build/src/stats/models/get-sys-stats/get-sys-stats.response.model.d.ts +15 -0
  87. package/build/src/stats/models/get-sys-stats/get-sys-stats.response.model.d.ts.map +1 -0
  88. package/build/src/stats/models/get-sys-stats/get-sys-stats.response.model.js +22 -0
  89. package/build/src/stats/models/get-sys-stats/index.d.ts +2 -0
  90. package/build/src/stats/models/get-sys-stats/index.d.ts.map +1 -0
  91. package/build/src/stats/models/get-sys-stats/index.js +17 -0
  92. package/build/src/stats/models/get-user-online-status/get-user-online-status.response.model.d.ts +5 -0
  93. package/build/src/stats/models/get-user-online-status/get-user-online-status.response.model.d.ts.map +1 -0
  94. package/build/src/stats/models/get-user-online-status/get-user-online-status.response.model.js +9 -0
  95. package/build/src/stats/models/get-user-online-status/index.d.ts +2 -0
  96. package/build/src/stats/models/get-user-online-status/index.d.ts.map +1 -0
  97. package/build/src/stats/models/get-user-online-status/index.js +17 -0
  98. package/build/src/stats/models/get-user-stats/get-user-stats.response.model.d.ts +26 -0
  99. package/build/src/stats/models/get-user-stats/get-user-stats.response.model.d.ts.map +1 -0
  100. package/build/src/stats/models/get-user-stats/get-user-stats.response.model.js +46 -0
  101. package/build/src/stats/models/get-user-stats/index.d.ts +2 -0
  102. package/build/src/stats/models/get-user-stats/index.d.ts.map +1 -0
  103. package/build/src/stats/models/get-user-stats/index.js +17 -0
  104. package/build/src/stats/models/get-user-stats/interfaces/index.d.ts +2 -0
  105. package/build/src/stats/models/get-user-stats/interfaces/index.d.ts.map +1 -0
  106. package/build/src/stats/models/get-user-stats/interfaces/index.js +17 -0
  107. package/build/src/stats/models/get-user-stats/interfaces/user.interface.d.ts +6 -0
  108. package/build/src/stats/models/get-user-stats/interfaces/user.interface.d.ts.map +1 -0
  109. package/build/src/stats/models/get-user-stats/interfaces/user.interface.js +2 -0
  110. package/build/src/stats/models/index.d.ts +9 -0
  111. package/build/src/stats/models/index.d.ts.map +1 -0
  112. package/build/src/stats/models/index.js +24 -0
  113. package/build/src/stats/stats.service.d.ts +227 -0
  114. package/build/src/stats/stats.service.d.ts.map +1 -0
  115. package/build/src/stats/stats.service.js +399 -0
  116. package/build/src/xray-protos/app/commander/config.d.ts +37 -0
  117. package/build/src/xray-protos/app/commander/config.d.ts.map +1 -0
  118. package/build/src/xray-protos/app/commander/config.js +143 -0
  119. package/build/src/xray-protos/app/dispatcher/config.d.ts +26 -0
  120. package/build/src/xray-protos/app/dispatcher/config.d.ts.map +1 -0
  121. package/build/src/xray-protos/app/dispatcher/config.js +112 -0
  122. package/build/src/xray-protos/app/dns/config.d.ts +93 -0
  123. package/build/src/xray-protos/app/dns/config.d.ts.map +1 -0
  124. package/build/src/xray-protos/app/dns/config.js +707 -0
  125. package/build/src/xray-protos/app/dns/fakedns/fakedns.d.ts +30 -0
  126. package/build/src/xray-protos/app/dns/fakedns/fakedns.d.ts.map +1 -0
  127. package/build/src/xray-protos/app/dns/fakedns/fakedns.js +152 -0
  128. package/build/src/xray-protos/app/log/command/config.d.ts +51 -0
  129. package/build/src/xray-protos/app/log/command/config.d.ts.map +1 -0
  130. package/build/src/xray-protos/app/log/command/config.js +143 -0
  131. package/build/src/xray-protos/app/log/config.d.ts +38 -0
  132. package/build/src/xray-protos/app/log/config.d.ts.map +1 -0
  133. package/build/src/xray-protos/app/log/config.js +216 -0
  134. package/build/src/xray-protos/app/metrics/config.d.ts +24 -0
  135. package/build/src/xray-protos/app/metrics/config.d.ts.map +1 -0
  136. package/build/src/xray-protos/app/metrics/config.js +68 -0
  137. package/build/src/xray-protos/app/observatory/burst/config.d.ts +41 -0
  138. package/build/src/xray-protos/app/observatory/burst/config.d.ts.map +1 -0
  139. package/build/src/xray-protos/app/observatory/burst/config.js +223 -0
  140. package/build/src/xray-protos/app/observatory/command/command.d.ts +53 -0
  141. package/build/src/xray-protos/app/observatory/command/command.d.ts.map +1 -0
  142. package/build/src/xray-protos/app/observatory/command/command.js +166 -0
  143. package/build/src/xray-protos/app/observatory/config.d.ts +106 -0
  144. package/build/src/xray-protos/app/observatory/config.d.ts.map +1 -0
  145. package/build/src/xray-protos/app/observatory/config.js +628 -0
  146. package/build/src/xray-protos/app/policy/config.d.ts +78 -0
  147. package/build/src/xray-protos/app/policy/config.d.ts.map +1 -0
  148. package/build/src/xray-protos/app/policy/config.js +750 -0
  149. package/build/src/xray-protos/app/proxyman/command/command.d.ts +198 -0
  150. package/build/src/xray-protos/app/proxyman/command/command.d.ts.map +1 -0
  151. package/build/src/xray-protos/app/proxyman/command/command.js +1028 -0
  152. package/build/src/xray-protos/app/proxyman/config.d.ts +125 -0
  153. package/build/src/xray-protos/app/proxyman/config.d.ts.map +1 -0
  154. package/build/src/xray-protos/app/proxyman/config.js +958 -0
  155. package/build/src/xray-protos/app/reverse/config.d.ts +48 -0
  156. package/build/src/xray-protos/app/reverse/config.d.ts.map +1 -0
  157. package/build/src/xray-protos/app/reverse/config.js +361 -0
  158. package/build/src/xray-protos/app/router/command/command.d.ts +222 -0
  159. package/build/src/xray-protos/app/router/command/command.d.ts.map +1 -0
  160. package/build/src/xray-protos/app/router/command/command.js +1235 -0
  161. package/build/src/xray-protos/app/router/config.d.ts +176 -0
  162. package/build/src/xray-protos/app/router/config.d.ts.map +1 -0
  163. package/build/src/xray-protos/app/router/config.js +1484 -0
  164. package/build/src/xray-protos/app/stats/command/command.d.ts +121 -0
  165. package/build/src/xray-protos/app/stats/command/command.d.ts.map +1 -0
  166. package/build/src/xray-protos/app/stats/command/command.js +666 -0
  167. package/build/src/xray-protos/app/stats/config.d.ts +28 -0
  168. package/build/src/xray-protos/app/stats/config.d.ts.map +1 -0
  169. package/build/src/xray-protos/app/stats/config.js +140 -0
  170. package/build/src/xray-protos/common/log/log.d.ts +12 -0
  171. package/build/src/xray-protos/common/log/log.d.ts.map +1 -0
  172. package/build/src/xray-protos/common/log/log.js +61 -0
  173. package/build/src/xray-protos/common/net/address.d.ts +29 -0
  174. package/build/src/xray-protos/common/net/address.d.ts.map +1 -0
  175. package/build/src/xray-protos/common/net/address.js +111 -0
  176. package/build/src/xray-protos/common/net/destination.d.ts +27 -0
  177. package/build/src/xray-protos/common/net/destination.d.ts.map +1 -0
  178. package/build/src/xray-protos/common/net/destination.js +105 -0
  179. package/build/src/xray-protos/common/net/network.d.ts +32 -0
  180. package/build/src/xray-protos/common/net/network.d.ts.map +1 -0
  181. package/build/src/xray-protos/common/net/network.js +122 -0
  182. package/build/src/xray-protos/common/net/port.d.ts +32 -0
  183. package/build/src/xray-protos/common/net/port.d.ts.map +1 -0
  184. package/build/src/xray-protos/common/net/port.js +142 -0
  185. package/build/src/xray-protos/common/protocol/headers.d.ts +34 -0
  186. package/build/src/xray-protos/common/protocol/headers.d.ts.map +1 -0
  187. package/build/src/xray-protos/common/protocol/headers.js +126 -0
  188. package/build/src/xray-protos/common/protocol/server_spec.d.ts +26 -0
  189. package/build/src/xray-protos/common/protocol/server_spec.d.ts.map +1 -0
  190. package/build/src/xray-protos/common/protocol/server_spec.js +105 -0
  191. package/build/src/xray-protos/common/protocol/user.d.ts +30 -0
  192. package/build/src/xray-protos/common/protocol/user.d.ts.map +1 -0
  193. package/build/src/xray-protos/common/protocol/user.js +104 -0
  194. package/build/src/xray-protos/common/serial/typed_message.d.ts +26 -0
  195. package/build/src/xray-protos/common/serial/typed_message.d.ts.map +1 -0
  196. package/build/src/xray-protos/common/serial/typed_message.js +111 -0
  197. package/build/src/xray-protos/core/config.d.ts +74 -0
  198. package/build/src/xray-protos/core/config.d.ts.map +1 -0
  199. package/build/src/xray-protos/core/config.js +350 -0
  200. package/build/src/xray-protos/proxy/blackhole/config.d.ts +31 -0
  201. package/build/src/xray-protos/proxy/blackhole/config.d.ts.map +1 -0
  202. package/build/src/xray-protos/proxy/blackhole/config.js +152 -0
  203. package/build/src/xray-protos/proxy/dns/config.d.ts +30 -0
  204. package/build/src/xray-protos/proxy/dns/config.d.ts.map +1 -0
  205. package/build/src/xray-protos/proxy/dns/config.js +130 -0
  206. package/build/src/xray-protos/proxy/dokodemo/config.d.ts +29 -0
  207. package/build/src/xray-protos/proxy/dokodemo/config.d.ts.map +1 -0
  208. package/build/src/xray-protos/proxy/dokodemo/config.js +151 -0
  209. package/build/src/xray-protos/proxy/freedom/config.d.ts +68 -0
  210. package/build/src/xray-protos/proxy/freedom/config.d.ts.map +1 -0
  211. package/build/src/xray-protos/proxy/freedom/config.js +603 -0
  212. package/build/src/xray-protos/proxy/http/config.d.ts +54 -0
  213. package/build/src/xray-protos/proxy/http/config.d.ts.map +1 -0
  214. package/build/src/xray-protos/proxy/http/config.js +408 -0
  215. package/build/src/xray-protos/proxy/loopback/config.d.ts +22 -0
  216. package/build/src/xray-protos/proxy/loopback/config.d.ts.map +1 -0
  217. package/build/src/xray-protos/proxy/loopback/config.js +68 -0
  218. package/build/src/xray-protos/proxy/shadowsocks/config.d.ts +49 -0
  219. package/build/src/xray-protos/proxy/shadowsocks/config.d.ts.map +1 -0
  220. package/build/src/xray-protos/proxy/shadowsocks/config.js +297 -0
  221. package/build/src/xray-protos/proxy/shadowsocks_2022/config.d.ts +69 -0
  222. package/build/src/xray-protos/proxy/shadowsocks_2022/config.d.ts.map +1 -0
  223. package/build/src/xray-protos/proxy/shadowsocks_2022/config.js +684 -0
  224. package/build/src/xray-protos/proxy/socks/config.d.ts +61 -0
  225. package/build/src/xray-protos/proxy/socks/config.d.ts.map +1 -0
  226. package/build/src/xray-protos/proxy/socks/config.js +402 -0
  227. package/build/src/xray-protos/proxy/trojan/config.d.ts +45 -0
  228. package/build/src/xray-protos/proxy/trojan/config.d.ts.map +1 -0
  229. package/build/src/xray-protos/proxy/trojan/config.js +340 -0
  230. package/build/src/xray-protos/proxy/vless/account.d.ts +27 -0
  231. package/build/src/xray-protos/proxy/vless/account.d.ts.map +1 -0
  232. package/build/src/xray-protos/proxy/vless/account.js +101 -0
  233. package/build/src/xray-protos/proxy/vless/encoding/addons.d.ts +23 -0
  234. package/build/src/xray-protos/proxy/vless/encoding/addons.d.ts.map +1 -0
  235. package/build/src/xray-protos/proxy/vless/encoding/addons.js +111 -0
  236. package/build/src/xray-protos/proxy/vless/inbound/config.d.ts +39 -0
  237. package/build/src/xray-protos/proxy/vless/inbound/config.d.ts.map +1 -0
  238. package/build/src/xray-protos/proxy/vless/inbound/config.js +245 -0
  239. package/build/src/xray-protos/proxy/vless/outbound/config.d.ts +23 -0
  240. package/build/src/xray-protos/proxy/vless/outbound/config.d.ts.map +1 -0
  241. package/build/src/xray-protos/proxy/vless/outbound/config.js +69 -0
  242. package/build/src/xray-protos/proxy/vmess/account.d.ts +31 -0
  243. package/build/src/xray-protos/proxy/vmess/account.d.ts.map +1 -0
  244. package/build/src/xray-protos/proxy/vmess/account.js +104 -0
  245. package/build/src/xray-protos/proxy/vmess/inbound/config.d.ts +36 -0
  246. package/build/src/xray-protos/proxy/vmess/inbound/config.d.ts.map +1 -0
  247. package/build/src/xray-protos/proxy/vmess/inbound/config.js +212 -0
  248. package/build/src/xray-protos/proxy/vmess/outbound/config.d.ts +23 -0
  249. package/build/src/xray-protos/proxy/vmess/outbound/config.d.ts.map +1 -0
  250. package/build/src/xray-protos/proxy/vmess/outbound/config.js +71 -0
  251. package/build/src/xray-protos/proxy/wireguard/config.d.ts +49 -0
  252. package/build/src/xray-protos/proxy/wireguard/config.d.ts.map +1 -0
  253. package/build/src/xray-protos/proxy/wireguard/config.js +403 -0
  254. package/build/src/xray-protos/transport/internet/config.d.ts +114 -0
  255. package/build/src/xray-protos/transport/internet/config.d.ts.map +1 -0
  256. package/build/src/xray-protos/transport/internet/config.js +946 -0
  257. package/build/src/xray-protos/transport/internet/grpc/config.d.ts +29 -0
  258. package/build/src/xray-protos/transport/internet/grpc/config.d.ts.map +1 -0
  259. package/build/src/xray-protos/transport/internet/grpc/config.js +186 -0
  260. package/build/src/xray-protos/transport/internet/grpc/encoding/stream.d.ts +62 -0
  261. package/build/src/xray-protos/transport/internet/grpc/encoding/stream.d.ts.map +1 -0
  262. package/build/src/xray-protos/transport/internet/grpc/encoding/stream.js +164 -0
  263. package/build/src/xray-protos/transport/internet/headers/dns/config.d.ts +22 -0
  264. package/build/src/xray-protos/transport/internet/headers/dns/config.d.ts.map +1 -0
  265. package/build/src/xray-protos/transport/internet/headers/dns/config.js +68 -0
  266. package/build/src/xray-protos/transport/internet/headers/http/config.d.ts +80 -0
  267. package/build/src/xray-protos/transport/internet/headers/http/config.d.ts.map +1 -0
  268. package/build/src/xray-protos/transport/internet/headers/http/config.js +544 -0
  269. package/build/src/xray-protos/transport/internet/headers/noop/config.d.ts +25 -0
  270. package/build/src/xray-protos/transport/internet/headers/noop/config.d.ts.map +1 -0
  271. package/build/src/xray-protos/transport/internet/headers/noop/config.js +90 -0
  272. package/build/src/xray-protos/transport/internet/headers/srtp/config.d.ts +27 -0
  273. package/build/src/xray-protos/transport/internet/headers/srtp/config.d.ts.map +1 -0
  274. package/build/src/xray-protos/transport/internet/headers/srtp/config.js +154 -0
  275. package/build/src/xray-protos/transport/internet/headers/tls/config.d.ts +21 -0
  276. package/build/src/xray-protos/transport/internet/headers/tls/config.d.ts.map +1 -0
  277. package/build/src/xray-protos/transport/internet/headers/tls/config.js +51 -0
  278. package/build/src/xray-protos/transport/internet/headers/utp/config.d.ts +22 -0
  279. package/build/src/xray-protos/transport/internet/headers/utp/config.d.ts.map +1 -0
  280. package/build/src/xray-protos/transport/internet/headers/utp/config.js +68 -0
  281. package/build/src/xray-protos/transport/internet/headers/wechat/config.d.ts +21 -0
  282. package/build/src/xray-protos/transport/internet/headers/wechat/config.d.ts.map +1 -0
  283. package/build/src/xray-protos/transport/internet/headers/wechat/config.js +51 -0
  284. package/build/src/xray-protos/transport/internet/headers/wireguard/config.d.ts +21 -0
  285. package/build/src/xray-protos/transport/internet/headers/wireguard/config.d.ts.map +1 -0
  286. package/build/src/xray-protos/transport/internet/headers/wireguard/config.js +51 -0
  287. package/build/src/xray-protos/transport/internet/http/config.d.ts +28 -0
  288. package/build/src/xray-protos/transport/internet/http/config.d.ts.map +1 -0
  289. package/build/src/xray-protos/transport/internet/http/config.js +155 -0
  290. package/build/src/xray-protos/transport/internet/httpupgrade/config.d.ts +34 -0
  291. package/build/src/xray-protos/transport/internet/httpupgrade/config.d.ts.map +1 -0
  292. package/build/src/xray-protos/transport/internet/httpupgrade/config.js +235 -0
  293. package/build/src/xray-protos/transport/internet/kcp/config.d.ts +82 -0
  294. package/build/src/xray-protos/transport/internet/kcp/config.d.ts.map +1 -0
  295. package/build/src/xray-protos/transport/internet/kcp/config.js +639 -0
  296. package/build/src/xray-protos/transport/internet/reality/config.d.ts +38 -0
  297. package/build/src/xray-protos/transport/internet/reality/config.d.ts.map +1 -0
  298. package/build/src/xray-protos/transport/internet/reality/config.js +376 -0
  299. package/build/src/xray-protos/transport/internet/splithttp/config.d.ts +55 -0
  300. package/build/src/xray-protos/transport/internet/splithttp/config.d.ts.map +1 -0
  301. package/build/src/xray-protos/transport/internet/splithttp/config.js +536 -0
  302. package/build/src/xray-protos/transport/internet/tcp/config.d.ts +24 -0
  303. package/build/src/xray-protos/transport/internet/tcp/config.d.ts.map +1 -0
  304. package/build/src/xray-protos/transport/internet/tcp/config.js +89 -0
  305. package/build/src/xray-protos/transport/internet/tls/config.d.ts +87 -0
  306. package/build/src/xray-protos/transport/internet/tls/config.d.ts.map +1 -0
  307. package/build/src/xray-protos/transport/internet/tls/config.js +555 -0
  308. package/build/src/xray-protos/transport/internet/udp/config.d.ts +21 -0
  309. package/build/src/xray-protos/transport/internet/udp/config.d.ts.map +1 -0
  310. package/build/src/xray-protos/transport/internet/udp/config.js +51 -0
  311. package/build/src/xray-protos/transport/internet/websocket/config.d.ts +35 -0
  312. package/build/src/xray-protos/transport/internet/websocket/config.d.ts.map +1 -0
  313. package/build/src/xray-protos/transport/internet/websocket/config.js +235 -0
  314. package/build/src/xray-protos/typeRegistry.d.ts +19 -0
  315. package/build/src/xray-protos/typeRegistry.d.ts.map +1 -0
  316. package/build/src/xray-protos/typeRegistry.js +8 -0
  317. package/package.json +28 -0
package/README.md ADDED
@@ -0,0 +1,104 @@
1
+ # XTLS API SDK
2
+
3
+ A TypeScript SDK for interacting with Xray server statistics via gRPC.
4
+
5
+ This package provides a simple and type-safe way to retrieve various statistics from your Xray server, including system stats, user stats, and connection information.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install @remnawave/xtls-sdk
11
+ # or
12
+ yarn add @remnawave/xtls-sdk
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ ### Basic Setup
18
+
19
+ ```typescript
20
+ import { XtlsApi } from '@remnawave/xtls-sdk';
21
+
22
+ // Create a new instance
23
+ const xtlsApi = new XtlsApi('127.0.0.1', '8080');
24
+ ```
25
+
26
+ ### Examples
27
+
28
+ #### Get System Statistics
29
+
30
+ ```typescript
31
+ const response = await xtlsApi.stats.getSysStats();
32
+
33
+ if (response.isOk) {
34
+ console.log('System Stats:', response.data);
35
+ } else {
36
+ console.error('Error:', response.message);
37
+ }
38
+ ```
39
+
40
+ #### Get User Statistics
41
+
42
+ ```typescript
43
+ // Get stats for all users
44
+ const allUsers = await xtlsApi.stats.getAllUsersStats();
45
+
46
+ // Get stats for a specific user
47
+ const userStats = await xtlsApi.stats.getUserStats('username123');
48
+
49
+ // Check if a user is online
50
+ const onlineStatus = await xtlsApi.stats.getUserOnlineStatus('username123');
51
+ ```
52
+
53
+ #### Connection Statistics
54
+
55
+ ```typescript
56
+ // Get all inbound connection stats
57
+ const inbounds = await xtlsApi.stats.getAllInboundsStats();
58
+
59
+ // Get specific inbound stats
60
+ const inbound = await xtlsApi.stats.getInboundStats('http_in');
61
+
62
+ // Get all outbound connection stats
63
+ const outbounds = await xtlsApi.stats.getAllOutboundsStats();
64
+
65
+ // Get specific outbound stats
66
+ const outbound = await xtlsApi.stats.getOutboundStats('http_out');
67
+ ```
68
+
69
+ ### Reset Statistics
70
+
71
+ Most methods support an optional `reset` parameter to clear statistics after retrieval:
72
+
73
+ ```typescript
74
+ // Get and reset user stats
75
+ const stats = await xtlsApi.stats.getUserStats('username123', true);
76
+ ```
77
+
78
+ ## API Reference
79
+
80
+ ### XtlsApi
81
+
82
+ - `constructor(ip: string, port: string)`: Creates a new XtlsApi instance
83
+
84
+ ### StatsService
85
+
86
+ - `getSysStats()`: Get system statistics
87
+ - `getAllUsersStats(reset?: boolean)`: Get statistics for all users
88
+ - `getUserStats(username: string, reset?: boolean)`: Get statistics for a specific user
89
+ - `getUserOnlineStatus(username: string)`: Check if a user is currently online
90
+ - `getAllInboundsStats(reset?: boolean)`: Get statistics for all inbound connections
91
+ - `getInboundStats(inbound: string, reset?: boolean)`: Get statistics for a specific inbound connection
92
+ - `getAllOutboundsStats(reset?: boolean)`: Get statistics for all outbound connections
93
+ - `getOutboundStats(outbound: string, reset?: boolean)`: Get statistics for a specific outbound connection
94
+
95
+ All methods return a Promise with an `ISdkResponse` type that includes:
96
+
97
+ - `isOk`: Boolean indicating success/failure
98
+ - `data`: The requested statistics (when successful)
99
+ - `message`: Error message (when unsuccessful)
100
+ - `code`: Error code (when unsuccessful)
101
+
102
+ ## License
103
+
104
+ MIT
@@ -0,0 +1,8 @@
1
+ import { Channel } from 'nice-grpc';
2
+ import { StatsService } from './src/stats/stats.service';
3
+ export declare class XtlsApi {
4
+ readonly channel: Channel;
5
+ readonly stats: StatsService;
6
+ constructor(ip: string, port: string);
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,OAAO;IAChB,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,KAAK,EAAE,YAAY,CAAC;gBACxB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAKvC"}
package/build/index.js ADDED
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XtlsApi = void 0;
4
+ const nice_grpc_1 = require("nice-grpc");
5
+ const stats_service_1 = require("./src/stats/stats.service");
6
+ class XtlsApi {
7
+ constructor(ip, port) {
8
+ this.channel = (0, nice_grpc_1.createChannel)(`${ip}:${port}`);
9
+ this.stats = new stats_service_1.StatsService(this.channel);
10
+ return this;
11
+ }
12
+ }
13
+ exports.XtlsApi = XtlsApi;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=export-protos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-protos.d.ts","sourceRoot":"","sources":["../../scripts/export-protos.ts"],"names":[],"mappings":""}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /* eslint-disable no-console */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ const fs = __importStar(require("node:fs"));
28
+ const path = __importStar(require("node:path"));
29
+ const tar = __importStar(require("tar"));
30
+ const node_child_process_1 = require("node:child_process");
31
+ const node_util_1 = require("node:util");
32
+ const VERSION = '24.11.11';
33
+ const TEMP_DIR = path.join(__dirname, 'temp-xray-core');
34
+ const TARGET_URL = `https://github.com/XTLS/Xray-core/archive/refs/tags/v${VERSION}.tar.gz`;
35
+ const PROTO_DIR = path.join(__dirname, '../src/xray-protos');
36
+ const execAsync = (0, node_util_1.promisify)(node_child_process_1.exec);
37
+ async function downloadTarGz(url, dest) {
38
+ const response = await fetch(url);
39
+ if (!response.ok)
40
+ throw new Error(`Failed to download file: ${response.statusText}`);
41
+ const buffer = await response.arrayBuffer();
42
+ fs.writeFileSync(dest, Buffer.from(buffer));
43
+ console.log(`Core extracted to ${dest}`);
44
+ }
45
+ async function extractProtoFiles(tarPath) {
46
+ await tar.x({
47
+ file: tarPath,
48
+ cwd: TEMP_DIR,
49
+ strip: 1,
50
+ });
51
+ console.log('Core extracted');
52
+ const protoFiles = findProtoFiles(TEMP_DIR);
53
+ return protoFiles;
54
+ }
55
+ function findProtoFiles(dir, fileList = []) {
56
+ const files = fs.readdirSync(dir);
57
+ for (const file of files) {
58
+ const filePath = path.join(dir, file);
59
+ const stat = fs.statSync(filePath);
60
+ if (stat.isDirectory()) {
61
+ findProtoFiles(filePath, fileList);
62
+ }
63
+ else if (path.extname(file) === '.proto') {
64
+ fileList.push(filePath);
65
+ }
66
+ }
67
+ return fileList;
68
+ }
69
+ async function generateTsFromProto(protoFile) {
70
+ try {
71
+ console.log(protoFile);
72
+ const dir = path.join(__dirname, '../src/xray-protos');
73
+ const command = [
74
+ 'protoc',
75
+ `--plugin=./node_modules/.bin/protoc-gen-ts_proto`,
76
+ `--ts_proto_out=${dir}`,
77
+ `--ts_proto_opt=outputServices=generic-definitions,useExactTypes=false`,
78
+ `--ts_proto_opt=outputServices=nice-grpc`,
79
+ `--ts_proto_opt=outputTypeRegistry=true`,
80
+ `--ts_proto_opt=outputEncodeMethods=true`,
81
+ `--ts_proto_opt=outputJsonMethods=true`,
82
+ `--ts_proto_opt=lowerCaseServiceMethods=true`,
83
+ `--proto_path=${path.join(__dirname, '../scripts/temp-xray-core')}`,
84
+ protoFile,
85
+ ].join(' ');
86
+ console.log(`Generating TypeScript for: ${protoFile}`);
87
+ const { stdout, stderr } = await execAsync(command);
88
+ if (stderr) {
89
+ console.error(`Error for ${protoFile}:`, stderr);
90
+ }
91
+ if (stdout) {
92
+ console.log(`Output for ${protoFile}:`, stdout);
93
+ }
94
+ }
95
+ catch (error) {
96
+ console.error(`Failed to generate TypeScript for ${protoFile}:`, error);
97
+ }
98
+ }
99
+ async function main() {
100
+ try {
101
+ if (!fs.existsSync(TEMP_DIR)) {
102
+ fs.mkdirSync(TEMP_DIR);
103
+ }
104
+ if (!fs.existsSync(PROTO_DIR)) {
105
+ fs.mkdirSync(PROTO_DIR, { recursive: true });
106
+ }
107
+ const tarPath = path.join(TEMP_DIR, `xray-core-${VERSION}.tar.gz`);
108
+ await downloadTarGz(TARGET_URL, tarPath);
109
+ const protoFiles = await extractProtoFiles(tarPath);
110
+ for (const protoFile of protoFiles) {
111
+ await generateTsFromProto(protoFile);
112
+ }
113
+ }
114
+ catch (error) {
115
+ console.error('Произошла ошибка:', error);
116
+ }
117
+ finally {
118
+ fs.rmSync(TEMP_DIR, { recursive: true, force: true });
119
+ console.log('Temp directory removed');
120
+ }
121
+ }
122
+ main();
@@ -0,0 +1,2 @@
1
+ export * from './stats';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,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("./stats"), exports);
@@ -0,0 +1,2 @@
1
+ export * from './stats.errors';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/common/errors/stats/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,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("./stats.errors"), exports);
@@ -0,0 +1,39 @@
1
+ export declare const STATS_ERRORS: {
2
+ readonly UNKNOWN_ERROR: {
3
+ readonly code: "A001";
4
+ readonly message: "Unexpected error";
5
+ };
6
+ readonly GET_SYS_STATS_ERROR: (message: string) => {
7
+ code: string;
8
+ message: string;
9
+ };
10
+ readonly GET_ALL_USERS_STATS_ERROR: (message: string) => {
11
+ code: string;
12
+ message: string;
13
+ };
14
+ readonly GET_USER_STATS_ERROR: (message: string) => {
15
+ code: string;
16
+ message: string;
17
+ };
18
+ readonly GET_USER_ONLINE_STATUS_ERROR: (message: string) => {
19
+ code: string;
20
+ message: string;
21
+ };
22
+ readonly GET_ALL_INBOUNDS_STATS_ERROR: (message: string) => {
23
+ code: string;
24
+ message: string;
25
+ };
26
+ readonly GET_INBOUND_STATS_ERROR: (message: string) => {
27
+ code: string;
28
+ message: string;
29
+ };
30
+ readonly GET_ALL_OUTBOUNDS_STATS_ERROR: (message: string) => {
31
+ code: string;
32
+ message: string;
33
+ };
34
+ readonly GET_OUTBOUND_STATS_ERROR: (message: string) => {
35
+ code: string;
36
+ message: string;
37
+ };
38
+ };
39
+ //# sourceMappingURL=stats.errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.errors.d.ts","sourceRoot":"","sources":["../../../../../src/common/errors/stats/stats.errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;4CAEU,MAAM;;;;kDAIA,MAAM;;;;6CAIX,MAAM;;;;qDAIE,MAAM;;;;qDAIN,MAAM;;;;gDAIX,MAAM;;;;sDAIA,MAAM;;;;iDAIX,MAAM;;;;CAIpC,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STATS_ERRORS = void 0;
4
+ exports.STATS_ERRORS = {
5
+ UNKNOWN_ERROR: { code: 'A001', message: 'Unexpected error' },
6
+ GET_SYS_STATS_ERROR: (message) => ({
7
+ code: 'A002',
8
+ message: `Failed to get system stats: ${message}`,
9
+ }),
10
+ GET_ALL_USERS_STATS_ERROR: (message) => ({
11
+ code: 'A003',
12
+ message: `Failed to get all users stats: ${message}`,
13
+ }),
14
+ GET_USER_STATS_ERROR: (message) => ({
15
+ code: 'A004',
16
+ message: `Failed to get user stats: ${message}`,
17
+ }),
18
+ GET_USER_ONLINE_STATUS_ERROR: (message) => ({
19
+ code: 'A005',
20
+ message: `Failed to get user online status: ${message}`,
21
+ }),
22
+ GET_ALL_INBOUNDS_STATS_ERROR: (message) => ({
23
+ code: 'A006',
24
+ message: `Failed to get all inbounds stats: ${message}`,
25
+ }),
26
+ GET_INBOUND_STATS_ERROR: (message) => ({
27
+ code: 'A007',
28
+ message: `Failed to get inbound stats: ${message}`,
29
+ }),
30
+ GET_ALL_OUTBOUNDS_STATS_ERROR: (message) => ({
31
+ code: 'A008',
32
+ message: `Failed to get all outbounds stats: ${message}`,
33
+ }),
34
+ GET_OUTBOUND_STATS_ERROR: (message) => ({
35
+ code: 'A009',
36
+ message: `Failed to get outbound stats: ${message}`,
37
+ }),
38
+ };
@@ -0,0 +1,2 @@
1
+ export * from './sdk-response';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,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("./sdk-response"), exports);
@@ -0,0 +1,6 @@
1
+ export interface ISdkResponse<T> {
2
+ isOk: boolean;
3
+ data?: T;
4
+ message?: string;
5
+ }
6
+ //# sourceMappingURL=sdk-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-response.d.ts","sourceRoot":"","sources":["../../../../src/common/types/sdk-response.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY,CAAC,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ //# 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":""}
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,21 @@
1
+ import { QueryStatsResponse } from '../../../xray-protos/app/stats/command/command';
2
+ import { IInboundStat } from './interfaces';
3
+ /**
4
+ * Model for handling and formatting inbound statistics response data
5
+ */
6
+ export declare class GetAllInboundsStatsResponseModel {
7
+ /** Array of inbound statistics containing inbound tag, uplink and downlink data */
8
+ inbounds: IInboundStat[];
9
+ /**
10
+ * Creates an instance of GetAllInboundsStatsResponseModel
11
+ * @param data Raw stats response data from the query
12
+ */
13
+ constructor(data: QueryStatsResponse);
14
+ /**
15
+ * Parses and formats the raw stats data into inbound-specific statistics
16
+ * @param data Raw stats response data containing individual stat entries
17
+ * @returns Array of formatted inbound statistics
18
+ */
19
+ private parseData;
20
+ }
21
+ //# sourceMappingURL=get-all-inbounds-stats.response.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-all-inbounds-stats.response.model.d.ts","sourceRoot":"","sources":["../../../../../src/stats/models/get-all-inbounds-stats/get-all-inbounds-stats.response.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAQ,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,qBAAa,gCAAgC;IACzC,mFAAmF;IAC5E,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEhC;;;OAGG;gBACS,IAAI,EAAE,kBAAkB;IAIpC;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAyBpB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetAllInboundsStatsResponseModel = void 0;
4
+ /**
5
+ * Model for handling and formatting inbound statistics response data
6
+ */
7
+ class GetAllInboundsStatsResponseModel {
8
+ /**
9
+ * Creates an instance of GetAllInboundsStatsResponseModel
10
+ * @param data Raw stats response data from the query
11
+ */
12
+ constructor(data) {
13
+ this.inbounds = this.parseData(data);
14
+ }
15
+ /**
16
+ * Parses and formats the raw stats data into inbound-specific statistics
17
+ * @param data Raw stats response data containing individual stat entries
18
+ * @returns Array of formatted inbound statistics
19
+ */
20
+ parseData(data) {
21
+ const formattedStats = data.stat.reduce((acc, curr) => {
22
+ const nameParts = curr.name.split('>>>');
23
+ const tagValue = nameParts[1];
24
+ const type = nameParts[3];
25
+ const value = curr.value;
26
+ let inbound = acc.find((item) => item.inbound === tagValue);
27
+ if (!inbound) {
28
+ inbound = { inbound: tagValue, uplink: 0, downlink: 0 };
29
+ acc.push(inbound);
30
+ }
31
+ if (type === 'uplink') {
32
+ inbound.uplink += value;
33
+ }
34
+ else if (type === 'downlink') {
35
+ inbound.downlink += value;
36
+ }
37
+ return acc;
38
+ }, []);
39
+ return formattedStats;
40
+ }
41
+ }
42
+ exports.GetAllInboundsStatsResponseModel = GetAllInboundsStatsResponseModel;
@@ -0,0 +1,2 @@
1
+ export * from './get-all-inbounds-stats.response.model';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/stats/models/get-all-inbounds-stats/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,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("./get-all-inbounds-stats.response.model"), exports);
@@ -0,0 +1,6 @@
1
+ export interface IInboundStat {
2
+ inbound: string;
3
+ uplink: number;
4
+ downlink: number;
5
+ }
6
+ //# sourceMappingURL=inbound.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/stats/models/get-all-inbounds-stats/interfaces/inbound.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from './inbound.interface';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/stats/models/get-all-inbounds-stats/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,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("./inbound.interface"), exports);
@@ -0,0 +1,21 @@
1
+ import { QueryStatsResponse } from '../../../xray-protos/app/stats/command/command';
2
+ import { IOutboundStat } from './interfaces';
3
+ /**
4
+ * Model for handling and formatting outbound statistics response data
5
+ */
6
+ export declare class GetAllOutboundsStatsResponseModel {
7
+ /** Array of outbound statistics containing outbound tag, uplink and downlink data */
8
+ outbounds: IOutboundStat[];
9
+ /**
10
+ * Creates an instance of GetAllOutboundsStatsResponseModel
11
+ * @param data Raw stats response data from the query
12
+ */
13
+ constructor(data: QueryStatsResponse);
14
+ /**
15
+ * Parses and formats the raw stats data into outbound-specific statistics
16
+ * @param data Raw stats response data containing individual stat entries
17
+ * @returns Array of formatted outbound statistics
18
+ */
19
+ private parseData;
20
+ }
21
+ //# sourceMappingURL=get-all-outbounds-stats.response.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-all-outbounds-stats.response.model.d.ts","sourceRoot":"","sources":["../../../../../src/stats/models/get-all-outbounds-stats/get-all-outbounds-stats.response.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAQ,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;GAEG;AACH,qBAAa,iCAAiC;IAC1C,qFAAqF;IAC9E,SAAS,EAAE,aAAa,EAAE,CAAC;IAElC;;;OAGG;gBACS,IAAI,EAAE,kBAAkB;IAIpC;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAyBpB"}