@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
@@ -0,0 +1,48 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ export declare const protobufPackage = "xray.app.reverse";
3
+ export interface Control {
4
+ $type: "xray.app.reverse.Control";
5
+ state: Control_State;
6
+ random: Uint8Array;
7
+ }
8
+ export declare enum Control_State {
9
+ ACTIVE = 0,
10
+ DRAIN = 1,
11
+ UNRECOGNIZED = -1
12
+ }
13
+ export declare function control_StateFromJSON(object: any): Control_State;
14
+ export declare function control_StateToJSON(object: Control_State): string;
15
+ export interface BridgeConfig {
16
+ $type: "xray.app.reverse.BridgeConfig";
17
+ tag: string;
18
+ domain: string;
19
+ }
20
+ export interface PortalConfig {
21
+ $type: "xray.app.reverse.PortalConfig";
22
+ tag: string;
23
+ domain: string;
24
+ }
25
+ export interface Config {
26
+ $type: "xray.app.reverse.Config";
27
+ bridgeConfig: BridgeConfig[];
28
+ portalConfig: PortalConfig[];
29
+ }
30
+ export declare const Control: MessageFns<Control, "xray.app.reverse.Control">;
31
+ export declare const BridgeConfig: MessageFns<BridgeConfig, "xray.app.reverse.BridgeConfig">;
32
+ export declare const PortalConfig: MessageFns<PortalConfig, "xray.app.reverse.PortalConfig">;
33
+ export declare const Config: MessageFns<Config, "xray.app.reverse.Config">;
34
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
35
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
36
+ [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
37
+ } : Partial<T>;
38
+ export interface MessageFns<T, V extends string> {
39
+ readonly $type: V;
40
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
41
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
42
+ fromJSON(object: any): T;
43
+ toJSON(message: T): unknown;
44
+ create(base?: DeepPartial<T>): T;
45
+ fromPartial(object: DeepPartial<T>): T;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/xray-protos/app/reverse/config.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGrE,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,0BAA0B,CAAC;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,oBAAY,aAAa;IACvB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,YAAY,KAAK;CAClB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa,CAahE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAUjE;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,+BAA+B,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,+BAA+B,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,yBAAyB,CAAC;IACjC,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAMD,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,0BAA0B,CAyEnE,CAAC;AAQF,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,+BAA+B,CAyElF,CAAC;AAQF,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,+BAA+B,CAyElF,CAAC;AAQF,eAAO,MAAM,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,yBAAyB,CA6EhE,CAAC;AA6BF,KAAK,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GAC9C,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAChE,CAAC,SAAS,EAAE,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACvE,OAAO,CAAC,CAAC,CAAC,CAAC;AAMf,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM;IAC7C,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACzB,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CACxC"}
@@ -0,0 +1,361 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.2.7
5
+ // protoc v5.28.3
6
+ // source: app/reverse/config.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Config = exports.PortalConfig = exports.BridgeConfig = exports.Control = exports.Control_State = exports.protobufPackage = void 0;
9
+ exports.control_StateFromJSON = control_StateFromJSON;
10
+ exports.control_StateToJSON = control_StateToJSON;
11
+ /* eslint-disable */
12
+ const wire_1 = require("@bufbuild/protobuf/wire");
13
+ const typeRegistry_1 = require("../../typeRegistry");
14
+ exports.protobufPackage = "xray.app.reverse";
15
+ var Control_State;
16
+ (function (Control_State) {
17
+ Control_State[Control_State["ACTIVE"] = 0] = "ACTIVE";
18
+ Control_State[Control_State["DRAIN"] = 1] = "DRAIN";
19
+ Control_State[Control_State["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
20
+ })(Control_State || (exports.Control_State = Control_State = {}));
21
+ function control_StateFromJSON(object) {
22
+ switch (object) {
23
+ case 0:
24
+ case "ACTIVE":
25
+ return Control_State.ACTIVE;
26
+ case 1:
27
+ case "DRAIN":
28
+ return Control_State.DRAIN;
29
+ case -1:
30
+ case "UNRECOGNIZED":
31
+ default:
32
+ return Control_State.UNRECOGNIZED;
33
+ }
34
+ }
35
+ function control_StateToJSON(object) {
36
+ switch (object) {
37
+ case Control_State.ACTIVE:
38
+ return "ACTIVE";
39
+ case Control_State.DRAIN:
40
+ return "DRAIN";
41
+ case Control_State.UNRECOGNIZED:
42
+ default:
43
+ return "UNRECOGNIZED";
44
+ }
45
+ }
46
+ function createBaseControl() {
47
+ return { $type: "xray.app.reverse.Control", state: 0, random: new Uint8Array(0) };
48
+ }
49
+ exports.Control = {
50
+ $type: "xray.app.reverse.Control",
51
+ encode(message, writer = new wire_1.BinaryWriter()) {
52
+ if (message.state !== 0) {
53
+ writer.uint32(8).int32(message.state);
54
+ }
55
+ if (message.random.length !== 0) {
56
+ writer.uint32(794).bytes(message.random);
57
+ }
58
+ return writer;
59
+ },
60
+ decode(input, length) {
61
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
62
+ let end = length === undefined ? reader.len : reader.pos + length;
63
+ const message = createBaseControl();
64
+ while (reader.pos < end) {
65
+ const tag = reader.uint32();
66
+ switch (tag >>> 3) {
67
+ case 1: {
68
+ if (tag !== 8) {
69
+ break;
70
+ }
71
+ message.state = reader.int32();
72
+ continue;
73
+ }
74
+ case 99: {
75
+ if (tag !== 794) {
76
+ break;
77
+ }
78
+ message.random = reader.bytes();
79
+ continue;
80
+ }
81
+ }
82
+ if ((tag & 7) === 4 || tag === 0) {
83
+ break;
84
+ }
85
+ reader.skip(tag & 7);
86
+ }
87
+ return message;
88
+ },
89
+ fromJSON(object) {
90
+ return {
91
+ $type: exports.Control.$type,
92
+ state: isSet(object.state) ? control_StateFromJSON(object.state) : 0,
93
+ random: isSet(object.random) ? bytesFromBase64(object.random) : new Uint8Array(0),
94
+ };
95
+ },
96
+ toJSON(message) {
97
+ const obj = {};
98
+ if (message.state !== 0) {
99
+ obj.state = control_StateToJSON(message.state);
100
+ }
101
+ if (message.random.length !== 0) {
102
+ obj.random = base64FromBytes(message.random);
103
+ }
104
+ return obj;
105
+ },
106
+ create(base) {
107
+ return exports.Control.fromPartial(base ?? {});
108
+ },
109
+ fromPartial(object) {
110
+ const message = createBaseControl();
111
+ message.state = object.state ?? 0;
112
+ message.random = object.random ?? new Uint8Array(0);
113
+ return message;
114
+ },
115
+ };
116
+ typeRegistry_1.messageTypeRegistry.set(exports.Control.$type, exports.Control);
117
+ function createBaseBridgeConfig() {
118
+ return { $type: "xray.app.reverse.BridgeConfig", tag: "", domain: "" };
119
+ }
120
+ exports.BridgeConfig = {
121
+ $type: "xray.app.reverse.BridgeConfig",
122
+ encode(message, writer = new wire_1.BinaryWriter()) {
123
+ if (message.tag !== "") {
124
+ writer.uint32(10).string(message.tag);
125
+ }
126
+ if (message.domain !== "") {
127
+ writer.uint32(18).string(message.domain);
128
+ }
129
+ return writer;
130
+ },
131
+ decode(input, length) {
132
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
133
+ let end = length === undefined ? reader.len : reader.pos + length;
134
+ const message = createBaseBridgeConfig();
135
+ while (reader.pos < end) {
136
+ const tag = reader.uint32();
137
+ switch (tag >>> 3) {
138
+ case 1: {
139
+ if (tag !== 10) {
140
+ break;
141
+ }
142
+ message.tag = reader.string();
143
+ continue;
144
+ }
145
+ case 2: {
146
+ if (tag !== 18) {
147
+ break;
148
+ }
149
+ message.domain = reader.string();
150
+ continue;
151
+ }
152
+ }
153
+ if ((tag & 7) === 4 || tag === 0) {
154
+ break;
155
+ }
156
+ reader.skip(tag & 7);
157
+ }
158
+ return message;
159
+ },
160
+ fromJSON(object) {
161
+ return {
162
+ $type: exports.BridgeConfig.$type,
163
+ tag: isSet(object.tag) ? globalThis.String(object.tag) : "",
164
+ domain: isSet(object.domain) ? globalThis.String(object.domain) : "",
165
+ };
166
+ },
167
+ toJSON(message) {
168
+ const obj = {};
169
+ if (message.tag !== "") {
170
+ obj.tag = message.tag;
171
+ }
172
+ if (message.domain !== "") {
173
+ obj.domain = message.domain;
174
+ }
175
+ return obj;
176
+ },
177
+ create(base) {
178
+ return exports.BridgeConfig.fromPartial(base ?? {});
179
+ },
180
+ fromPartial(object) {
181
+ const message = createBaseBridgeConfig();
182
+ message.tag = object.tag ?? "";
183
+ message.domain = object.domain ?? "";
184
+ return message;
185
+ },
186
+ };
187
+ typeRegistry_1.messageTypeRegistry.set(exports.BridgeConfig.$type, exports.BridgeConfig);
188
+ function createBasePortalConfig() {
189
+ return { $type: "xray.app.reverse.PortalConfig", tag: "", domain: "" };
190
+ }
191
+ exports.PortalConfig = {
192
+ $type: "xray.app.reverse.PortalConfig",
193
+ encode(message, writer = new wire_1.BinaryWriter()) {
194
+ if (message.tag !== "") {
195
+ writer.uint32(10).string(message.tag);
196
+ }
197
+ if (message.domain !== "") {
198
+ writer.uint32(18).string(message.domain);
199
+ }
200
+ return writer;
201
+ },
202
+ decode(input, length) {
203
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
204
+ let end = length === undefined ? reader.len : reader.pos + length;
205
+ const message = createBasePortalConfig();
206
+ while (reader.pos < end) {
207
+ const tag = reader.uint32();
208
+ switch (tag >>> 3) {
209
+ case 1: {
210
+ if (tag !== 10) {
211
+ break;
212
+ }
213
+ message.tag = reader.string();
214
+ continue;
215
+ }
216
+ case 2: {
217
+ if (tag !== 18) {
218
+ break;
219
+ }
220
+ message.domain = reader.string();
221
+ continue;
222
+ }
223
+ }
224
+ if ((tag & 7) === 4 || tag === 0) {
225
+ break;
226
+ }
227
+ reader.skip(tag & 7);
228
+ }
229
+ return message;
230
+ },
231
+ fromJSON(object) {
232
+ return {
233
+ $type: exports.PortalConfig.$type,
234
+ tag: isSet(object.tag) ? globalThis.String(object.tag) : "",
235
+ domain: isSet(object.domain) ? globalThis.String(object.domain) : "",
236
+ };
237
+ },
238
+ toJSON(message) {
239
+ const obj = {};
240
+ if (message.tag !== "") {
241
+ obj.tag = message.tag;
242
+ }
243
+ if (message.domain !== "") {
244
+ obj.domain = message.domain;
245
+ }
246
+ return obj;
247
+ },
248
+ create(base) {
249
+ return exports.PortalConfig.fromPartial(base ?? {});
250
+ },
251
+ fromPartial(object) {
252
+ const message = createBasePortalConfig();
253
+ message.tag = object.tag ?? "";
254
+ message.domain = object.domain ?? "";
255
+ return message;
256
+ },
257
+ };
258
+ typeRegistry_1.messageTypeRegistry.set(exports.PortalConfig.$type, exports.PortalConfig);
259
+ function createBaseConfig() {
260
+ return { $type: "xray.app.reverse.Config", bridgeConfig: [], portalConfig: [] };
261
+ }
262
+ exports.Config = {
263
+ $type: "xray.app.reverse.Config",
264
+ encode(message, writer = new wire_1.BinaryWriter()) {
265
+ for (const v of message.bridgeConfig) {
266
+ exports.BridgeConfig.encode(v, writer.uint32(10).fork()).join();
267
+ }
268
+ for (const v of message.portalConfig) {
269
+ exports.PortalConfig.encode(v, writer.uint32(18).fork()).join();
270
+ }
271
+ return writer;
272
+ },
273
+ decode(input, length) {
274
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
275
+ let end = length === undefined ? reader.len : reader.pos + length;
276
+ const message = createBaseConfig();
277
+ while (reader.pos < end) {
278
+ const tag = reader.uint32();
279
+ switch (tag >>> 3) {
280
+ case 1: {
281
+ if (tag !== 10) {
282
+ break;
283
+ }
284
+ message.bridgeConfig.push(exports.BridgeConfig.decode(reader, reader.uint32()));
285
+ continue;
286
+ }
287
+ case 2: {
288
+ if (tag !== 18) {
289
+ break;
290
+ }
291
+ message.portalConfig.push(exports.PortalConfig.decode(reader, reader.uint32()));
292
+ continue;
293
+ }
294
+ }
295
+ if ((tag & 7) === 4 || tag === 0) {
296
+ break;
297
+ }
298
+ reader.skip(tag & 7);
299
+ }
300
+ return message;
301
+ },
302
+ fromJSON(object) {
303
+ return {
304
+ $type: exports.Config.$type,
305
+ bridgeConfig: globalThis.Array.isArray(object?.bridgeConfig)
306
+ ? object.bridgeConfig.map((e) => exports.BridgeConfig.fromJSON(e))
307
+ : [],
308
+ portalConfig: globalThis.Array.isArray(object?.portalConfig)
309
+ ? object.portalConfig.map((e) => exports.PortalConfig.fromJSON(e))
310
+ : [],
311
+ };
312
+ },
313
+ toJSON(message) {
314
+ const obj = {};
315
+ if (message.bridgeConfig?.length) {
316
+ obj.bridgeConfig = message.bridgeConfig.map((e) => exports.BridgeConfig.toJSON(e));
317
+ }
318
+ if (message.portalConfig?.length) {
319
+ obj.portalConfig = message.portalConfig.map((e) => exports.PortalConfig.toJSON(e));
320
+ }
321
+ return obj;
322
+ },
323
+ create(base) {
324
+ return exports.Config.fromPartial(base ?? {});
325
+ },
326
+ fromPartial(object) {
327
+ const message = createBaseConfig();
328
+ message.bridgeConfig = object.bridgeConfig?.map((e) => exports.BridgeConfig.fromPartial(e)) || [];
329
+ message.portalConfig = object.portalConfig?.map((e) => exports.PortalConfig.fromPartial(e)) || [];
330
+ return message;
331
+ },
332
+ };
333
+ typeRegistry_1.messageTypeRegistry.set(exports.Config.$type, exports.Config);
334
+ function bytesFromBase64(b64) {
335
+ if (globalThis.Buffer) {
336
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
337
+ }
338
+ else {
339
+ const bin = globalThis.atob(b64);
340
+ const arr = new Uint8Array(bin.length);
341
+ for (let i = 0; i < bin.length; ++i) {
342
+ arr[i] = bin.charCodeAt(i);
343
+ }
344
+ return arr;
345
+ }
346
+ }
347
+ function base64FromBytes(arr) {
348
+ if (globalThis.Buffer) {
349
+ return globalThis.Buffer.from(arr).toString("base64");
350
+ }
351
+ else {
352
+ const bin = [];
353
+ arr.forEach((byte) => {
354
+ bin.push(globalThis.String.fromCharCode(byte));
355
+ });
356
+ return globalThis.btoa(bin.join(""));
357
+ }
358
+ }
359
+ function isSet(value) {
360
+ return value !== null && value !== undefined;
361
+ }
@@ -0,0 +1,222 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { type CallContext, type CallOptions } from "nice-grpc-common";
3
+ import { Network } from "../../../common/net/network";
4
+ import { TypedMessage } from "../../../common/serial/typed_message";
5
+ export declare const protobufPackage = "xray.app.router.command";
6
+ /**
7
+ * RoutingContext is the context with information relative to routing process.
8
+ * It conforms to the structure of xray.features.routing.Context and
9
+ * xray.features.routing.Route.
10
+ */
11
+ export interface RoutingContext {
12
+ $type: "xray.app.router.command.RoutingContext";
13
+ InboundTag: string;
14
+ Network: Network;
15
+ SourceIPs: Uint8Array[];
16
+ TargetIPs: Uint8Array[];
17
+ SourcePort: number;
18
+ TargetPort: number;
19
+ TargetDomain: string;
20
+ Protocol: string;
21
+ User: string;
22
+ Attributes: {
23
+ [key: string]: string;
24
+ };
25
+ OutboundGroupTags: string[];
26
+ OutboundTag: string;
27
+ }
28
+ export interface RoutingContext_AttributesEntry {
29
+ $type: "xray.app.router.command.RoutingContext.AttributesEntry";
30
+ key: string;
31
+ value: string;
32
+ }
33
+ /**
34
+ * SubscribeRoutingStatsRequest subscribes to routing statistics channel if
35
+ * opened by xray-core.
36
+ * * FieldSelectors selects a subset of fields in routing statistics to return.
37
+ * Valid selectors:
38
+ * - inbound: Selects connection's inbound tag.
39
+ * - network: Selects connection's network.
40
+ * - ip: Equivalent as "ip_source" and "ip_target", selects both source and
41
+ * target IP.
42
+ * - port: Equivalent as "port_source" and "port_target", selects both source
43
+ * and target port.
44
+ * - domain: Selects target domain.
45
+ * - protocol: Select connection's protocol.
46
+ * - user: Select connection's inbound user email.
47
+ * - attributes: Select connection's additional attributes.
48
+ * - outbound: Equivalent as "outbound" and "outbound_group", select both
49
+ * outbound tag and outbound group tags.
50
+ * * If FieldSelectors is left empty, all fields will be returned.
51
+ */
52
+ export interface SubscribeRoutingStatsRequest {
53
+ $type: "xray.app.router.command.SubscribeRoutingStatsRequest";
54
+ FieldSelectors: string[];
55
+ }
56
+ /**
57
+ * TestRouteRequest manually tests a routing result according to the routing
58
+ * context message.
59
+ * * RoutingContext is the routing message without outbound information.
60
+ * * FieldSelectors selects the fields to return in the routing result. All
61
+ * fields are returned if left empty.
62
+ * * PublishResult broadcasts the routing result to routing statistics channel
63
+ * if set true.
64
+ */
65
+ export interface TestRouteRequest {
66
+ $type: "xray.app.router.command.TestRouteRequest";
67
+ RoutingContext: RoutingContext | undefined;
68
+ FieldSelectors: string[];
69
+ PublishResult: boolean;
70
+ }
71
+ export interface PrincipleTargetInfo {
72
+ $type: "xray.app.router.command.PrincipleTargetInfo";
73
+ tag: string[];
74
+ }
75
+ export interface OverrideInfo {
76
+ $type: "xray.app.router.command.OverrideInfo";
77
+ target: string;
78
+ }
79
+ export interface BalancerMsg {
80
+ $type: "xray.app.router.command.BalancerMsg";
81
+ override: OverrideInfo | undefined;
82
+ principleTarget: PrincipleTargetInfo | undefined;
83
+ }
84
+ export interface GetBalancerInfoRequest {
85
+ $type: "xray.app.router.command.GetBalancerInfoRequest";
86
+ tag: string;
87
+ }
88
+ export interface GetBalancerInfoResponse {
89
+ $type: "xray.app.router.command.GetBalancerInfoResponse";
90
+ balancer: BalancerMsg | undefined;
91
+ }
92
+ export interface OverrideBalancerTargetRequest {
93
+ $type: "xray.app.router.command.OverrideBalancerTargetRequest";
94
+ balancerTag: string;
95
+ target: string;
96
+ }
97
+ export interface OverrideBalancerTargetResponse {
98
+ $type: "xray.app.router.command.OverrideBalancerTargetResponse";
99
+ }
100
+ export interface AddRuleRequest {
101
+ $type: "xray.app.router.command.AddRuleRequest";
102
+ config: TypedMessage | undefined;
103
+ shouldAppend: boolean;
104
+ }
105
+ export interface AddRuleResponse {
106
+ $type: "xray.app.router.command.AddRuleResponse";
107
+ }
108
+ export interface RemoveRuleRequest {
109
+ $type: "xray.app.router.command.RemoveRuleRequest";
110
+ ruleTag: string;
111
+ }
112
+ export interface RemoveRuleResponse {
113
+ $type: "xray.app.router.command.RemoveRuleResponse";
114
+ }
115
+ export interface Config {
116
+ $type: "xray.app.router.command.Config";
117
+ }
118
+ export declare const RoutingContext: MessageFns<RoutingContext, "xray.app.router.command.RoutingContext">;
119
+ export declare const RoutingContext_AttributesEntry: MessageFns<RoutingContext_AttributesEntry, "xray.app.router.command.RoutingContext.AttributesEntry">;
120
+ export declare const SubscribeRoutingStatsRequest: MessageFns<SubscribeRoutingStatsRequest, "xray.app.router.command.SubscribeRoutingStatsRequest">;
121
+ export declare const TestRouteRequest: MessageFns<TestRouteRequest, "xray.app.router.command.TestRouteRequest">;
122
+ export declare const PrincipleTargetInfo: MessageFns<PrincipleTargetInfo, "xray.app.router.command.PrincipleTargetInfo">;
123
+ export declare const OverrideInfo: MessageFns<OverrideInfo, "xray.app.router.command.OverrideInfo">;
124
+ export declare const BalancerMsg: MessageFns<BalancerMsg, "xray.app.router.command.BalancerMsg">;
125
+ export declare const GetBalancerInfoRequest: MessageFns<GetBalancerInfoRequest, "xray.app.router.command.GetBalancerInfoRequest">;
126
+ export declare const GetBalancerInfoResponse: MessageFns<GetBalancerInfoResponse, "xray.app.router.command.GetBalancerInfoResponse">;
127
+ export declare const OverrideBalancerTargetRequest: MessageFns<OverrideBalancerTargetRequest, "xray.app.router.command.OverrideBalancerTargetRequest">;
128
+ export declare const OverrideBalancerTargetResponse: MessageFns<OverrideBalancerTargetResponse, "xray.app.router.command.OverrideBalancerTargetResponse">;
129
+ export declare const AddRuleRequest: MessageFns<AddRuleRequest, "xray.app.router.command.AddRuleRequest">;
130
+ export declare const AddRuleResponse: MessageFns<AddRuleResponse, "xray.app.router.command.AddRuleResponse">;
131
+ export declare const RemoveRuleRequest: MessageFns<RemoveRuleRequest, "xray.app.router.command.RemoveRuleRequest">;
132
+ export declare const RemoveRuleResponse: MessageFns<RemoveRuleResponse, "xray.app.router.command.RemoveRuleResponse">;
133
+ export declare const Config: MessageFns<Config, "xray.app.router.command.Config">;
134
+ export type RoutingServiceDefinition = typeof RoutingServiceDefinition;
135
+ export declare const RoutingServiceDefinition: {
136
+ readonly name: "RoutingService";
137
+ readonly fullName: "xray.app.router.command.RoutingService";
138
+ readonly methods: {
139
+ readonly subscribeRoutingStats: {
140
+ readonly name: "SubscribeRoutingStats";
141
+ readonly requestType: MessageFns<SubscribeRoutingStatsRequest, "xray.app.router.command.SubscribeRoutingStatsRequest">;
142
+ readonly requestStream: false;
143
+ readonly responseType: MessageFns<RoutingContext, "xray.app.router.command.RoutingContext">;
144
+ readonly responseStream: true;
145
+ readonly options: {};
146
+ };
147
+ readonly testRoute: {
148
+ readonly name: "TestRoute";
149
+ readonly requestType: MessageFns<TestRouteRequest, "xray.app.router.command.TestRouteRequest">;
150
+ readonly requestStream: false;
151
+ readonly responseType: MessageFns<RoutingContext, "xray.app.router.command.RoutingContext">;
152
+ readonly responseStream: false;
153
+ readonly options: {};
154
+ };
155
+ readonly getBalancerInfo: {
156
+ readonly name: "GetBalancerInfo";
157
+ readonly requestType: MessageFns<GetBalancerInfoRequest, "xray.app.router.command.GetBalancerInfoRequest">;
158
+ readonly requestStream: false;
159
+ readonly responseType: MessageFns<GetBalancerInfoResponse, "xray.app.router.command.GetBalancerInfoResponse">;
160
+ readonly responseStream: false;
161
+ readonly options: {};
162
+ };
163
+ readonly overrideBalancerTarget: {
164
+ readonly name: "OverrideBalancerTarget";
165
+ readonly requestType: MessageFns<OverrideBalancerTargetRequest, "xray.app.router.command.OverrideBalancerTargetRequest">;
166
+ readonly requestStream: false;
167
+ readonly responseType: MessageFns<OverrideBalancerTargetResponse, "xray.app.router.command.OverrideBalancerTargetResponse">;
168
+ readonly responseStream: false;
169
+ readonly options: {};
170
+ };
171
+ readonly addRule: {
172
+ readonly name: "AddRule";
173
+ readonly requestType: MessageFns<AddRuleRequest, "xray.app.router.command.AddRuleRequest">;
174
+ readonly requestStream: false;
175
+ readonly responseType: MessageFns<AddRuleResponse, "xray.app.router.command.AddRuleResponse">;
176
+ readonly responseStream: false;
177
+ readonly options: {};
178
+ };
179
+ readonly removeRule: {
180
+ readonly name: "RemoveRule";
181
+ readonly requestType: MessageFns<RemoveRuleRequest, "xray.app.router.command.RemoveRuleRequest">;
182
+ readonly requestStream: false;
183
+ readonly responseType: MessageFns<RemoveRuleResponse, "xray.app.router.command.RemoveRuleResponse">;
184
+ readonly responseStream: false;
185
+ readonly options: {};
186
+ };
187
+ };
188
+ };
189
+ export interface RoutingServiceImplementation<CallContextExt = {}> {
190
+ subscribeRoutingStats(request: SubscribeRoutingStatsRequest, context: CallContext & CallContextExt): ServerStreamingMethodResult<DeepPartial<RoutingContext>>;
191
+ testRoute(request: TestRouteRequest, context: CallContext & CallContextExt): Promise<DeepPartial<RoutingContext>>;
192
+ getBalancerInfo(request: GetBalancerInfoRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetBalancerInfoResponse>>;
193
+ overrideBalancerTarget(request: OverrideBalancerTargetRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OverrideBalancerTargetResponse>>;
194
+ addRule(request: AddRuleRequest, context: CallContext & CallContextExt): Promise<DeepPartial<AddRuleResponse>>;
195
+ removeRule(request: RemoveRuleRequest, context: CallContext & CallContextExt): Promise<DeepPartial<RemoveRuleResponse>>;
196
+ }
197
+ export interface RoutingServiceClient<CallOptionsExt = {}> {
198
+ subscribeRoutingStats(request: DeepPartial<SubscribeRoutingStatsRequest>, options?: CallOptions & CallOptionsExt): AsyncIterable<RoutingContext>;
199
+ testRoute(request: DeepPartial<TestRouteRequest>, options?: CallOptions & CallOptionsExt): Promise<RoutingContext>;
200
+ getBalancerInfo(request: DeepPartial<GetBalancerInfoRequest>, options?: CallOptions & CallOptionsExt): Promise<GetBalancerInfoResponse>;
201
+ overrideBalancerTarget(request: DeepPartial<OverrideBalancerTargetRequest>, options?: CallOptions & CallOptionsExt): Promise<OverrideBalancerTargetResponse>;
202
+ addRule(request: DeepPartial<AddRuleRequest>, options?: CallOptions & CallOptionsExt): Promise<AddRuleResponse>;
203
+ removeRule(request: DeepPartial<RemoveRuleRequest>, options?: CallOptions & CallOptionsExt): Promise<RemoveRuleResponse>;
204
+ }
205
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
206
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
207
+ [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
208
+ } : Partial<T>;
209
+ export type ServerStreamingMethodResult<Response> = {
210
+ [Symbol.asyncIterator](): AsyncIterator<Response, void>;
211
+ };
212
+ export interface MessageFns<T, V extends string> {
213
+ readonly $type: V;
214
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
215
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
216
+ fromJSON(object: any): T;
217
+ toJSON(message: T): unknown;
218
+ create(base?: DeepPartial<T>): T;
219
+ fromPartial(object: DeepPartial<T>): T;
220
+ }
221
+ export {};
222
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../../src/xray-protos/app/router/command/command.ts"],"names":[],"mappings":"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"}