@remnawave/xtls-sdk 0.0.81-dev.1.8.6 → 0.1.2

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 (119) hide show
  1. package/LICENCE +661 -0
  2. package/build/index.d.ts +2 -0
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +2 -0
  5. package/build/src/common/errors/router/index.d.ts +2 -0
  6. package/build/src/common/errors/router/index.d.ts.map +1 -0
  7. package/build/src/common/errors/router/index.js +17 -0
  8. package/build/src/common/errors/router/router.errors.d.ts +15 -0
  9. package/build/src/common/errors/router/router.errors.d.ts.map +1 -0
  10. package/build/src/common/errors/router/router.errors.js +14 -0
  11. package/build/src/common/utils/decode-user/constants/account-types.d.ts +18 -0
  12. package/build/src/common/utils/decode-user/constants/account-types.d.ts.map +1 -1
  13. package/build/src/common/utils/decode-user/constants/account-types.js +28 -1
  14. package/build/src/common/utils/decode-user/types/decoded-user.type.d.ts +4 -0
  15. package/build/src/common/utils/decode-user/types/decoded-user.type.d.ts.map +1 -1
  16. package/build/src/handler/handler.service.d.ts +60 -2
  17. package/build/src/handler/handler.service.d.ts.map +1 -1
  18. package/build/src/handler/handler.service.js +207 -2
  19. package/build/src/handler/models/get-inbound-users/get-inbound-users.response.model.d.ts +7 -0
  20. package/build/src/handler/models/get-inbound-users/get-inbound-users.response.model.d.ts.map +1 -0
  21. package/build/src/handler/models/get-inbound-users/get-inbound-users.response.model.js +10 -0
  22. package/build/src/handler/models/get-inbound-users/index.d.ts +2 -0
  23. package/build/src/handler/models/get-inbound-users/index.d.ts.map +1 -0
  24. package/build/src/handler/models/get-inbound-users/index.js +17 -0
  25. package/build/src/handler/models/index.d.ts +1 -0
  26. package/build/src/handler/models/index.d.ts.map +1 -1
  27. package/build/src/handler/models/index.js +1 -0
  28. package/build/src/router/interfaces/add-source-ip-rule.interface.d.ts +8 -0
  29. package/build/src/router/interfaces/add-source-ip-rule.interface.d.ts.map +1 -0
  30. package/build/src/router/interfaces/add-source-ip-rule.interface.js +2 -0
  31. package/build/src/router/interfaces/index.d.ts +3 -0
  32. package/build/src/router/interfaces/index.d.ts.map +1 -0
  33. package/build/src/router/interfaces/index.js +18 -0
  34. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.d.ts +4 -0
  35. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.d.ts.map +1 -0
  36. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.js +2 -0
  37. package/build/src/router/models/add-source-ip-rule/add-source-ip-rule.response.model.d.ts +5 -0
  38. package/build/src/router/models/add-source-ip-rule/add-source-ip-rule.response.model.d.ts.map +1 -0
  39. package/build/src/router/models/add-source-ip-rule/add-source-ip-rule.response.model.js +9 -0
  40. package/build/src/router/models/add-source-ip-rule/index.d.ts +2 -0
  41. package/build/src/router/models/add-source-ip-rule/index.d.ts.map +1 -0
  42. package/build/src/router/models/add-source-ip-rule/index.js +17 -0
  43. package/build/src/router/models/index.d.ts +2 -0
  44. package/build/src/router/models/index.d.ts.map +1 -0
  45. package/build/src/router/models/index.js +17 -0
  46. package/build/src/router/models/remove-rule-by-rule-tag/index.d.ts +2 -0
  47. package/build/src/router/models/remove-rule-by-rule-tag/index.d.ts.map +1 -0
  48. package/build/src/router/models/remove-rule-by-rule-tag/index.js +17 -0
  49. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.d.ts +5 -0
  50. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.d.ts.map +1 -0
  51. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.js +9 -0
  52. package/build/src/router/router.service.d.ts +37 -0
  53. package/build/src/router/router.service.d.ts.map +1 -0
  54. package/build/src/router/router.service.js +96 -0
  55. package/build/src/stats/stats.service.d.ts +27 -1
  56. package/build/src/stats/stats.service.d.ts.map +1 -1
  57. package/build/src/stats/stats.service.js +53 -0
  58. package/build/src/xray-protos/app/commander/config.d.ts +2 -0
  59. package/build/src/xray-protos/app/commander/config.d.ts.map +1 -1
  60. package/build/src/xray-protos/app/commander/config.js +16 -1
  61. package/build/src/xray-protos/app/log/config.d.ts +1 -0
  62. package/build/src/xray-protos/app/log/config.d.ts.map +1 -1
  63. package/build/src/xray-protos/app/log/config.js +16 -0
  64. package/build/src/xray-protos/app/policy/config.d.ts +1 -0
  65. package/build/src/xray-protos/app/policy/config.d.ts.map +1 -1
  66. package/build/src/xray-protos/app/policy/config.js +16 -1
  67. package/build/src/xray-protos/app/proxyman/command/command.d.ts +36 -0
  68. package/build/src/xray-protos/app/proxyman/command/command.d.ts.map +1 -1
  69. package/build/src/xray-protos/app/proxyman/command/command.js +210 -1
  70. package/build/src/xray-protos/app/proxyman/config.d.ts +1 -14
  71. package/build/src/xray-protos/app/proxyman/config.d.ts.map +1 -1
  72. package/build/src/xray-protos/app/proxyman/config.js +19 -63
  73. package/build/src/xray-protos/app/router/command/command.d.ts +222 -0
  74. package/build/src/xray-protos/app/router/command/command.d.ts.map +1 -0
  75. package/build/src/xray-protos/app/router/command/command.js +1235 -0
  76. package/build/src/xray-protos/app/router/config.d.ts +176 -0
  77. package/build/src/xray-protos/app/router/config.d.ts.map +1 -0
  78. package/build/src/xray-protos/app/router/config.js +1484 -0
  79. package/build/src/xray-protos/app/stats/command/command.d.ts +10 -0
  80. package/build/src/xray-protos/app/stats/command/command.d.ts.map +1 -1
  81. package/build/src/xray-protos/app/stats/command/command.js +8 -0
  82. package/build/src/xray-protos/common/net/network.d.ts +0 -2
  83. package/build/src/xray-protos/common/net/network.d.ts.map +1 -1
  84. package/build/src/xray-protos/common/net/network.js +0 -7
  85. package/build/src/xray-protos/common/protocol/user.d.ts +1 -1
  86. package/build/src/xray-protos/core/config.d.ts +0 -9
  87. package/build/src/xray-protos/core/config.d.ts.map +1 -1
  88. package/build/src/xray-protos/core/config.js +1 -19
  89. package/build/src/xray-protos/proxy/dns/config.d.ts +1 -0
  90. package/build/src/xray-protos/proxy/dns/config.d.ts.map +1 -1
  91. package/build/src/xray-protos/proxy/dns/config.js +27 -1
  92. package/build/src/xray-protos/proxy/dokodemo/config.d.ts +1 -10
  93. package/build/src/xray-protos/proxy/dokodemo/config.d.ts.map +1 -1
  94. package/build/src/xray-protos/proxy/dokodemo/config.js +0 -34
  95. package/build/src/xray-protos/proxy/freedom/config.d.ts +11 -2
  96. package/build/src/xray-protos/proxy/freedom/config.d.ts.map +1 -1
  97. package/build/src/xray-protos/proxy/freedom/config.js +181 -17
  98. package/build/src/xray-protos/proxy/http/config.d.ts +0 -2
  99. package/build/src/xray-protos/proxy/http/config.d.ts.map +1 -1
  100. package/build/src/xray-protos/proxy/http/config.js +1 -16
  101. package/build/src/xray-protos/proxy/shadowsocks_2022/config.d.ts +4 -5
  102. package/build/src/xray-protos/proxy/shadowsocks_2022/config.d.ts.map +1 -1
  103. package/build/src/xray-protos/proxy/shadowsocks_2022/config.js +16 -48
  104. package/build/src/xray-protos/proxy/socks/config.d.ts +1 -12
  105. package/build/src/xray-protos/proxy/socks/config.d.ts.map +1 -1
  106. package/build/src/xray-protos/proxy/socks/config.js +3 -73
  107. package/build/src/xray-protos/proxy/wireguard/config.d.ts +1 -1
  108. package/build/src/xray-protos/proxy/wireguard/config.d.ts.map +1 -1
  109. package/build/src/xray-protos/proxy/wireguard/config.js +8 -8
  110. package/build/src/xray-protos/transport/internet/config.d.ts +15 -27
  111. package/build/src/xray-protos/transport/internet/config.d.ts.map +1 -1
  112. package/build/src/xray-protos/transport/internet/config.js +150 -84
  113. package/package.json +4 -25
  114. package/build/index-local.d.ts +0 -10
  115. package/build/index-local.d.ts.map +0 -1
  116. package/build/index-local.js +0 -21
  117. package/build/src/xray-protos/transport/global/config.d.ts +0 -29
  118. package/build/src/xray-protos/transport/global/config.d.ts.map +0 -1
  119. package/build/src/xray-protos/transport/global/config.js +0 -71
@@ -5,73 +5,17 @@
5
5
  // protoc v5.28.3
6
6
  // source: transport/internet/config.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.SocketConfig = exports.ProxyConfig = exports.StreamConfig = exports.TransportConfig = exports.SocketConfig_TProxyMode = exports.DomainStrategy = exports.TransportProtocol = exports.protobufPackage = void 0;
9
- exports.transportProtocolFromJSON = transportProtocolFromJSON;
10
- exports.transportProtocolToJSON = transportProtocolToJSON;
8
+ exports.SocketConfig = exports.CustomSockopt = exports.ProxyConfig = exports.StreamConfig = exports.TransportConfig = exports.SocketConfig_TProxyMode = exports.DomainStrategy = exports.protobufPackage = void 0;
11
9
  exports.domainStrategyFromJSON = domainStrategyFromJSON;
12
10
  exports.domainStrategyToJSON = domainStrategyToJSON;
13
11
  exports.socketConfig_TProxyModeFromJSON = socketConfig_TProxyModeFromJSON;
14
12
  exports.socketConfig_TProxyModeToJSON = socketConfig_TProxyModeToJSON;
15
13
  /* eslint-disable */
16
14
  const wire_1 = require("@bufbuild/protobuf/wire");
15
+ const address_1 = require("../../common/net/address");
17
16
  const typed_message_1 = require("../../common/serial/typed_message");
18
17
  const typeRegistry_1 = require("../../typeRegistry");
19
18
  exports.protobufPackage = "xray.transport.internet";
20
- var TransportProtocol;
21
- (function (TransportProtocol) {
22
- TransportProtocol[TransportProtocol["TCP"] = 0] = "TCP";
23
- TransportProtocol[TransportProtocol["UDP"] = 1] = "UDP";
24
- TransportProtocol[TransportProtocol["MKCP"] = 2] = "MKCP";
25
- TransportProtocol[TransportProtocol["WebSocket"] = 3] = "WebSocket";
26
- TransportProtocol[TransportProtocol["HTTP"] = 4] = "HTTP";
27
- TransportProtocol[TransportProtocol["DomainSocket"] = 5] = "DomainSocket";
28
- TransportProtocol[TransportProtocol["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
29
- })(TransportProtocol || (exports.TransportProtocol = TransportProtocol = {}));
30
- function transportProtocolFromJSON(object) {
31
- switch (object) {
32
- case 0:
33
- case "TCP":
34
- return TransportProtocol.TCP;
35
- case 1:
36
- case "UDP":
37
- return TransportProtocol.UDP;
38
- case 2:
39
- case "MKCP":
40
- return TransportProtocol.MKCP;
41
- case 3:
42
- case "WebSocket":
43
- return TransportProtocol.WebSocket;
44
- case 4:
45
- case "HTTP":
46
- return TransportProtocol.HTTP;
47
- case 5:
48
- case "DomainSocket":
49
- return TransportProtocol.DomainSocket;
50
- case -1:
51
- case "UNRECOGNIZED":
52
- default:
53
- return TransportProtocol.UNRECOGNIZED;
54
- }
55
- }
56
- function transportProtocolToJSON(object) {
57
- switch (object) {
58
- case TransportProtocol.TCP:
59
- return "TCP";
60
- case TransportProtocol.UDP:
61
- return "UDP";
62
- case TransportProtocol.MKCP:
63
- return "MKCP";
64
- case TransportProtocol.WebSocket:
65
- return "WebSocket";
66
- case TransportProtocol.HTTP:
67
- return "HTTP";
68
- case TransportProtocol.DomainSocket:
69
- return "DomainSocket";
70
- case TransportProtocol.UNRECOGNIZED:
71
- default:
72
- return "UNRECOGNIZED";
73
- }
74
- }
75
19
  var DomainStrategy;
76
20
  (function (DomainStrategy) {
77
21
  DomainStrategy[DomainStrategy["AS_IS"] = 0] = "AS_IS";
@@ -198,14 +142,11 @@ function socketConfig_TProxyModeToJSON(object) {
198
142
  }
199
143
  }
200
144
  function createBaseTransportConfig() {
201
- return { $type: "xray.transport.internet.TransportConfig", protocol: 0, protocolName: "", settings: undefined };
145
+ return { $type: "xray.transport.internet.TransportConfig", protocolName: "", settings: undefined };
202
146
  }
203
147
  exports.TransportConfig = {
204
148
  $type: "xray.transport.internet.TransportConfig",
205
149
  encode(message, writer = new wire_1.BinaryWriter()) {
206
- if (message.protocol !== 0) {
207
- writer.uint32(8).int32(message.protocol);
208
- }
209
150
  if (message.protocolName !== "") {
210
151
  writer.uint32(26).string(message.protocolName);
211
152
  }
@@ -221,13 +162,6 @@ exports.TransportConfig = {
221
162
  while (reader.pos < end) {
222
163
  const tag = reader.uint32();
223
164
  switch (tag >>> 3) {
224
- case 1: {
225
- if (tag !== 8) {
226
- break;
227
- }
228
- message.protocol = reader.int32();
229
- continue;
230
- }
231
165
  case 3: {
232
166
  if (tag !== 26) {
233
167
  break;
@@ -253,16 +187,12 @@ exports.TransportConfig = {
253
187
  fromJSON(object) {
254
188
  return {
255
189
  $type: exports.TransportConfig.$type,
256
- protocol: isSet(object.protocol) ? transportProtocolFromJSON(object.protocol) : 0,
257
190
  protocolName: isSet(object.protocolName) ? globalThis.String(object.protocolName) : "",
258
191
  settings: isSet(object.settings) ? typed_message_1.TypedMessage.fromJSON(object.settings) : undefined,
259
192
  };
260
193
  },
261
194
  toJSON(message) {
262
195
  const obj = {};
263
- if (message.protocol !== 0) {
264
- obj.protocol = transportProtocolToJSON(message.protocol);
265
- }
266
196
  if (message.protocolName !== "") {
267
197
  obj.protocolName = message.protocolName;
268
198
  }
@@ -276,7 +206,6 @@ exports.TransportConfig = {
276
206
  },
277
207
  fromPartial(object) {
278
208
  const message = createBaseTransportConfig();
279
- message.protocol = object.protocol ?? 0;
280
209
  message.protocolName = object.protocolName ?? "";
281
210
  message.settings = (object.settings !== undefined && object.settings !== null)
282
211
  ? typed_message_1.TypedMessage.fromPartial(object.settings)
@@ -288,7 +217,8 @@ typeRegistry_1.messageTypeRegistry.set(exports.TransportConfig.$type, exports.Tr
288
217
  function createBaseStreamConfig() {
289
218
  return {
290
219
  $type: "xray.transport.internet.StreamConfig",
291
- protocol: 0,
220
+ address: undefined,
221
+ port: 0,
292
222
  protocolName: "",
293
223
  transportSettings: [],
294
224
  securityType: "",
@@ -299,8 +229,11 @@ function createBaseStreamConfig() {
299
229
  exports.StreamConfig = {
300
230
  $type: "xray.transport.internet.StreamConfig",
301
231
  encode(message, writer = new wire_1.BinaryWriter()) {
302
- if (message.protocol !== 0) {
303
- writer.uint32(8).int32(message.protocol);
232
+ if (message.address !== undefined) {
233
+ address_1.IPOrDomain.encode(message.address, writer.uint32(66).fork()).join();
234
+ }
235
+ if (message.port !== 0) {
236
+ writer.uint32(72).uint32(message.port);
304
237
  }
305
238
  if (message.protocolName !== "") {
306
239
  writer.uint32(42).string(message.protocolName);
@@ -326,11 +259,18 @@ exports.StreamConfig = {
326
259
  while (reader.pos < end) {
327
260
  const tag = reader.uint32();
328
261
  switch (tag >>> 3) {
329
- case 1: {
330
- if (tag !== 8) {
262
+ case 8: {
263
+ if (tag !== 66) {
264
+ break;
265
+ }
266
+ message.address = address_1.IPOrDomain.decode(reader, reader.uint32());
267
+ continue;
268
+ }
269
+ case 9: {
270
+ if (tag !== 72) {
331
271
  break;
332
272
  }
333
- message.protocol = reader.int32();
273
+ message.port = reader.uint32();
334
274
  continue;
335
275
  }
336
276
  case 5: {
@@ -379,7 +319,8 @@ exports.StreamConfig = {
379
319
  fromJSON(object) {
380
320
  return {
381
321
  $type: exports.StreamConfig.$type,
382
- protocol: isSet(object.protocol) ? transportProtocolFromJSON(object.protocol) : 0,
322
+ address: isSet(object.address) ? address_1.IPOrDomain.fromJSON(object.address) : undefined,
323
+ port: isSet(object.port) ? globalThis.Number(object.port) : 0,
383
324
  protocolName: isSet(object.protocolName) ? globalThis.String(object.protocolName) : "",
384
325
  transportSettings: globalThis.Array.isArray(object?.transportSettings)
385
326
  ? object.transportSettings.map((e) => exports.TransportConfig.fromJSON(e))
@@ -393,8 +334,11 @@ exports.StreamConfig = {
393
334
  },
394
335
  toJSON(message) {
395
336
  const obj = {};
396
- if (message.protocol !== 0) {
397
- obj.protocol = transportProtocolToJSON(message.protocol);
337
+ if (message.address !== undefined) {
338
+ obj.address = address_1.IPOrDomain.toJSON(message.address);
339
+ }
340
+ if (message.port !== 0) {
341
+ obj.port = Math.round(message.port);
398
342
  }
399
343
  if (message.protocolName !== "") {
400
344
  obj.protocolName = message.protocolName;
@@ -418,7 +362,10 @@ exports.StreamConfig = {
418
362
  },
419
363
  fromPartial(object) {
420
364
  const message = createBaseStreamConfig();
421
- message.protocol = object.protocol ?? 0;
365
+ message.address = (object.address !== undefined && object.address !== null)
366
+ ? address_1.IPOrDomain.fromPartial(object.address)
367
+ : undefined;
368
+ message.port = object.port ?? 0;
422
369
  message.protocolName = object.protocolName ?? "";
423
370
  message.transportSettings = object.transportSettings?.map((e) => exports.TransportConfig.fromPartial(e)) || [];
424
371
  message.securityType = object.securityType ?? "";
@@ -501,6 +448,107 @@ exports.ProxyConfig = {
501
448
  },
502
449
  };
503
450
  typeRegistry_1.messageTypeRegistry.set(exports.ProxyConfig.$type, exports.ProxyConfig);
451
+ function createBaseCustomSockopt() {
452
+ return { $type: "xray.transport.internet.CustomSockopt", level: "", opt: "", value: "", type: "" };
453
+ }
454
+ exports.CustomSockopt = {
455
+ $type: "xray.transport.internet.CustomSockopt",
456
+ encode(message, writer = new wire_1.BinaryWriter()) {
457
+ if (message.level !== "") {
458
+ writer.uint32(10).string(message.level);
459
+ }
460
+ if (message.opt !== "") {
461
+ writer.uint32(18).string(message.opt);
462
+ }
463
+ if (message.value !== "") {
464
+ writer.uint32(26).string(message.value);
465
+ }
466
+ if (message.type !== "") {
467
+ writer.uint32(34).string(message.type);
468
+ }
469
+ return writer;
470
+ },
471
+ decode(input, length) {
472
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
473
+ let end = length === undefined ? reader.len : reader.pos + length;
474
+ const message = createBaseCustomSockopt();
475
+ while (reader.pos < end) {
476
+ const tag = reader.uint32();
477
+ switch (tag >>> 3) {
478
+ case 1: {
479
+ if (tag !== 10) {
480
+ break;
481
+ }
482
+ message.level = reader.string();
483
+ continue;
484
+ }
485
+ case 2: {
486
+ if (tag !== 18) {
487
+ break;
488
+ }
489
+ message.opt = reader.string();
490
+ continue;
491
+ }
492
+ case 3: {
493
+ if (tag !== 26) {
494
+ break;
495
+ }
496
+ message.value = reader.string();
497
+ continue;
498
+ }
499
+ case 4: {
500
+ if (tag !== 34) {
501
+ break;
502
+ }
503
+ message.type = reader.string();
504
+ continue;
505
+ }
506
+ }
507
+ if ((tag & 7) === 4 || tag === 0) {
508
+ break;
509
+ }
510
+ reader.skip(tag & 7);
511
+ }
512
+ return message;
513
+ },
514
+ fromJSON(object) {
515
+ return {
516
+ $type: exports.CustomSockopt.$type,
517
+ level: isSet(object.level) ? globalThis.String(object.level) : "",
518
+ opt: isSet(object.opt) ? globalThis.String(object.opt) : "",
519
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
520
+ type: isSet(object.type) ? globalThis.String(object.type) : "",
521
+ };
522
+ },
523
+ toJSON(message) {
524
+ const obj = {};
525
+ if (message.level !== "") {
526
+ obj.level = message.level;
527
+ }
528
+ if (message.opt !== "") {
529
+ obj.opt = message.opt;
530
+ }
531
+ if (message.value !== "") {
532
+ obj.value = message.value;
533
+ }
534
+ if (message.type !== "") {
535
+ obj.type = message.type;
536
+ }
537
+ return obj;
538
+ },
539
+ create(base) {
540
+ return exports.CustomSockopt.fromPartial(base ?? {});
541
+ },
542
+ fromPartial(object) {
543
+ const message = createBaseCustomSockopt();
544
+ message.level = object.level ?? "";
545
+ message.opt = object.opt ?? "";
546
+ message.value = object.value ?? "";
547
+ message.type = object.type ?? "";
548
+ return message;
549
+ },
550
+ };
551
+ typeRegistry_1.messageTypeRegistry.set(exports.CustomSockopt.$type, exports.CustomSockopt);
504
552
  function createBaseSocketConfig() {
505
553
  return {
506
554
  $type: "xray.transport.internet.SocketConfig",
@@ -523,6 +571,7 @@ function createBaseSocketConfig() {
523
571
  tcpMaxSeg: 0,
524
572
  tcpNoDelay: false,
525
573
  tcpMptcp: false,
574
+ customSockopt: [],
526
575
  };
527
576
  }
528
577
  exports.SocketConfig = {
@@ -585,6 +634,9 @@ exports.SocketConfig = {
585
634
  if (message.tcpMptcp !== false) {
586
635
  writer.uint32(152).bool(message.tcpMptcp);
587
636
  }
637
+ for (const v of message.customSockopt) {
638
+ exports.CustomSockopt.encode(v, writer.uint32(162).fork()).join();
639
+ }
588
640
  return writer;
589
641
  },
590
642
  decode(input, length) {
@@ -727,6 +779,13 @@ exports.SocketConfig = {
727
779
  message.tcpMptcp = reader.bool();
728
780
  continue;
729
781
  }
782
+ case 20: {
783
+ if (tag !== 162) {
784
+ break;
785
+ }
786
+ message.customSockopt.push(exports.CustomSockopt.decode(reader, reader.uint32()));
787
+ continue;
788
+ }
730
789
  }
731
790
  if ((tag & 7) === 4 || tag === 0) {
732
791
  break;
@@ -759,6 +818,9 @@ exports.SocketConfig = {
759
818
  tcpMaxSeg: isSet(object.tcpMaxSeg) ? globalThis.Number(object.tcpMaxSeg) : 0,
760
819
  tcpNoDelay: isSet(object.tcpNoDelay) ? globalThis.Boolean(object.tcpNoDelay) : false,
761
820
  tcpMptcp: isSet(object.tcpMptcp) ? globalThis.Boolean(object.tcpMptcp) : false,
821
+ customSockopt: globalThis.Array.isArray(object?.customSockopt)
822
+ ? object.customSockopt.map((e) => exports.CustomSockopt.fromJSON(e))
823
+ : [],
762
824
  };
763
825
  },
764
826
  toJSON(message) {
@@ -820,6 +882,9 @@ exports.SocketConfig = {
820
882
  if (message.tcpMptcp !== false) {
821
883
  obj.tcpMptcp = message.tcpMptcp;
822
884
  }
885
+ if (message.customSockopt?.length) {
886
+ obj.customSockopt = message.customSockopt.map((e) => exports.CustomSockopt.toJSON(e));
887
+ }
823
888
  return obj;
824
889
  },
825
890
  create(base) {
@@ -846,6 +911,7 @@ exports.SocketConfig = {
846
911
  message.tcpMaxSeg = object.tcpMaxSeg ?? 0;
847
912
  message.tcpNoDelay = object.tcpNoDelay ?? false;
848
913
  message.tcpMptcp = object.tcpMptcp ?? false;
914
+ message.customSockopt = object.customSockopt?.map((e) => exports.CustomSockopt.fromPartial(e)) || [];
849
915
  return message;
850
916
  },
851
917
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnawave/xtls-sdk",
3
- "version": "0.0.81-dev.1.8.6",
3
+ "version": "0.1.2",
4
4
  "description": "A Typescript SDK for XRAY (XTLS) Core GRPC Api",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -9,9 +9,7 @@
9
9
  ],
10
10
  "scripts": {
11
11
  "prepublish": "rm -rf build && tsc",
12
- "build": "tsc",
13
- "test": "jest",
14
- "test:watch": "jest --watch"
12
+ "build": "tsc"
15
13
  },
16
14
  "repository": {
17
15
  "type": "git",
@@ -21,8 +19,8 @@
21
19
  "bugs": {
22
20
  "url": "https://github.com/remnawave/xtls-sdk/issues"
23
21
  },
24
- "author": "Remnawave",
25
- "license": "MIT",
22
+ "author": "Remnawave <https://github.com/remnawave>",
23
+ "license": "AGPL-3.0-only",
26
24
  "keywords": [
27
25
  "xtls",
28
26
  "grpc",
@@ -51,26 +49,7 @@
51
49
  "@types/jest": "^29.5.2",
52
50
  "@types/node": "^22.9.0",
53
51
  "grpc-tools": "^1.12.4",
54
- "ts-jest": "^29.1.0",
55
- "jest": "^29.5.0",
56
52
  "ts-proto": "^2.2.7",
57
53
  "typescript": "^5.6.3"
58
- },
59
- "jest": {
60
- "moduleFileExtensions": [
61
- "js",
62
- "json",
63
- "ts"
64
- ],
65
- "rootDir": ".",
66
- "testRegex": ".*\\.spec\\.ts$",
67
- "transform": {
68
- "^.+\\.(t|j)s$": "ts-jest"
69
- },
70
- "collectCoverageFrom": [
71
- "**/*.(t|j)s"
72
- ],
73
- "coverageDirectory": "./coverage",
74
- "testEnvironment": "node"
75
54
  }
76
55
  }
@@ -1,10 +0,0 @@
1
- import { Channel } from 'nice-grpc';
2
- import { StatsService } from './src/stats/stats.service';
3
- import { HandlerService } from './src/handler/handler.service';
4
- export declare class XtlsApi {
5
- readonly channel: Channel;
6
- readonly stats: StatsService;
7
- readonly handler: HandlerService;
8
- constructor(ip: string, port: string);
9
- }
10
- //# sourceMappingURL=index-local.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-local.d.ts","sourceRoot":"","sources":["../index-local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,qBAAa,OAAO;IAChB,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,OAAO,EAAE,cAAc,CAAC;gBAC5B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAMvC"}
@@ -1,21 +0,0 @@
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
- const handler_service_1 = require("./src/handler/handler.service");
7
- class XtlsApi {
8
- constructor(ip, port) {
9
- this.channel = (0, nice_grpc_1.createChannel)(`${ip}:${port}`);
10
- this.stats = new stats_service_1.StatsService(this.channel);
11
- this.handler = new handler_service_1.HandlerService(this.channel);
12
- return this;
13
- }
14
- }
15
- exports.XtlsApi = XtlsApi;
16
- const xtlsApi = new XtlsApi('43.240.149.39', '62051');
17
- async function main() {
18
- // const res = await xtlsApi.handler.getInboundUsers('Personal');
19
- // console.log(res);
20
- }
21
- main();
@@ -1,29 +0,0 @@
1
- import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
- import { TransportConfig } from "../internet/config";
3
- export declare const protobufPackage = "xray.transport";
4
- /**
5
- * Global transport settings. This affects all type of connections that go
6
- * through Xray. Deprecated. Use each settings in StreamConfig.
7
- *
8
- * @deprecated
9
- */
10
- export interface Config {
11
- $type: "xray.transport.Config";
12
- transportSettings: TransportConfig[];
13
- }
14
- export declare const Config: MessageFns<Config, "xray.transport.Config">;
15
- type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
16
- 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 {} ? {
17
- [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
18
- } : Partial<T>;
19
- export interface MessageFns<T, V extends string> {
20
- readonly $type: V;
21
- encode(message: T, writer?: BinaryWriter): BinaryWriter;
22
- decode(input: BinaryReader | Uint8Array, length?: number): T;
23
- fromJSON(object: any): T;
24
- toJSON(message: T): unknown;
25
- create(base?: DeepPartial<T>): T;
26
- fromPartial(object: DeepPartial<T>): T;
27
- }
28
- export {};
29
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/xray-protos/transport/global/config.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,iBAAiB,EAAE,eAAe,EAAE,CAAC;CACtC;AAMD,eAAO,MAAM,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,uBAAuB,CA2D9D,CAAC;AAIF,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;AAEf,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"}
@@ -1,71 +0,0 @@
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: transport/global/config.proto
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.Config = exports.protobufPackage = void 0;
9
- /* eslint-disable */
10
- const wire_1 = require("@bufbuild/protobuf/wire");
11
- const typeRegistry_1 = require("../../typeRegistry");
12
- const config_1 = require("../internet/config");
13
- exports.protobufPackage = "xray.transport";
14
- function createBaseConfig() {
15
- return { $type: "xray.transport.Config", transportSettings: [] };
16
- }
17
- exports.Config = {
18
- $type: "xray.transport.Config",
19
- encode(message, writer = new wire_1.BinaryWriter()) {
20
- for (const v of message.transportSettings) {
21
- config_1.TransportConfig.encode(v, writer.uint32(10).fork()).join();
22
- }
23
- return writer;
24
- },
25
- decode(input, length) {
26
- const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
27
- let end = length === undefined ? reader.len : reader.pos + length;
28
- const message = createBaseConfig();
29
- while (reader.pos < end) {
30
- const tag = reader.uint32();
31
- switch (tag >>> 3) {
32
- case 1: {
33
- if (tag !== 10) {
34
- break;
35
- }
36
- message.transportSettings.push(config_1.TransportConfig.decode(reader, reader.uint32()));
37
- continue;
38
- }
39
- }
40
- if ((tag & 7) === 4 || tag === 0) {
41
- break;
42
- }
43
- reader.skip(tag & 7);
44
- }
45
- return message;
46
- },
47
- fromJSON(object) {
48
- return {
49
- $type: exports.Config.$type,
50
- transportSettings: globalThis.Array.isArray(object?.transportSettings)
51
- ? object.transportSettings.map((e) => config_1.TransportConfig.fromJSON(e))
52
- : [],
53
- };
54
- },
55
- toJSON(message) {
56
- const obj = {};
57
- if (message.transportSettings?.length) {
58
- obj.transportSettings = message.transportSettings.map((e) => config_1.TransportConfig.toJSON(e));
59
- }
60
- return obj;
61
- },
62
- create(base) {
63
- return exports.Config.fromPartial(base ?? {});
64
- },
65
- fromPartial(object) {
66
- const message = createBaseConfig();
67
- message.transportSettings = object.transportSettings?.map((e) => config_1.TransportConfig.fromPartial(e)) || [];
68
- return message;
69
- },
70
- };
71
- typeRegistry_1.messageTypeRegistry.set(exports.Config.$type, exports.Config);