@remnawave/xtls-sdk 0.0.4 → 0.0.6

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 (85) hide show
  1. package/package.json +1 -1
  2. package/build/scripts/export-protos.d.ts +0 -2
  3. package/build/scripts/export-protos.d.ts.map +0 -1
  4. package/build/scripts/export-protos.js +0 -122
  5. package/build/src/xray-protos/app/dns/config.d.ts +0 -93
  6. package/build/src/xray-protos/app/dns/config.d.ts.map +0 -1
  7. package/build/src/xray-protos/app/dns/config.js +0 -707
  8. package/build/src/xray-protos/app/dns/fakedns/fakedns.d.ts +0 -30
  9. package/build/src/xray-protos/app/dns/fakedns/fakedns.d.ts.map +0 -1
  10. package/build/src/xray-protos/app/dns/fakedns/fakedns.js +0 -152
  11. package/build/src/xray-protos/app/observatory/burst/config.d.ts +0 -41
  12. package/build/src/xray-protos/app/observatory/burst/config.d.ts.map +0 -1
  13. package/build/src/xray-protos/app/observatory/burst/config.js +0 -223
  14. package/build/src/xray-protos/app/observatory/command/command.d.ts +0 -53
  15. package/build/src/xray-protos/app/observatory/command/command.d.ts.map +0 -1
  16. package/build/src/xray-protos/app/observatory/command/command.js +0 -166
  17. package/build/src/xray-protos/app/observatory/config.d.ts +0 -106
  18. package/build/src/xray-protos/app/observatory/config.d.ts.map +0 -1
  19. package/build/src/xray-protos/app/observatory/config.js +0 -628
  20. package/build/src/xray-protos/app/router/command/command.d.ts +0 -222
  21. package/build/src/xray-protos/app/router/command/command.d.ts.map +0 -1
  22. package/build/src/xray-protos/app/router/command/command.js +0 -1235
  23. package/build/src/xray-protos/app/router/config.d.ts +0 -176
  24. package/build/src/xray-protos/app/router/config.d.ts.map +0 -1
  25. package/build/src/xray-protos/app/router/config.js +0 -1484
  26. package/build/src/xray-protos/transport/internet/grpc/config.d.ts +0 -29
  27. package/build/src/xray-protos/transport/internet/grpc/config.d.ts.map +0 -1
  28. package/build/src/xray-protos/transport/internet/grpc/config.js +0 -186
  29. package/build/src/xray-protos/transport/internet/grpc/encoding/stream.d.ts +0 -62
  30. package/build/src/xray-protos/transport/internet/grpc/encoding/stream.d.ts.map +0 -1
  31. package/build/src/xray-protos/transport/internet/grpc/encoding/stream.js +0 -164
  32. package/build/src/xray-protos/transport/internet/headers/dns/config.d.ts +0 -22
  33. package/build/src/xray-protos/transport/internet/headers/dns/config.d.ts.map +0 -1
  34. package/build/src/xray-protos/transport/internet/headers/dns/config.js +0 -68
  35. package/build/src/xray-protos/transport/internet/headers/http/config.d.ts +0 -80
  36. package/build/src/xray-protos/transport/internet/headers/http/config.d.ts.map +0 -1
  37. package/build/src/xray-protos/transport/internet/headers/http/config.js +0 -544
  38. package/build/src/xray-protos/transport/internet/headers/noop/config.d.ts +0 -25
  39. package/build/src/xray-protos/transport/internet/headers/noop/config.d.ts.map +0 -1
  40. package/build/src/xray-protos/transport/internet/headers/noop/config.js +0 -90
  41. package/build/src/xray-protos/transport/internet/headers/srtp/config.d.ts +0 -27
  42. package/build/src/xray-protos/transport/internet/headers/srtp/config.d.ts.map +0 -1
  43. package/build/src/xray-protos/transport/internet/headers/srtp/config.js +0 -154
  44. package/build/src/xray-protos/transport/internet/headers/tls/config.d.ts +0 -21
  45. package/build/src/xray-protos/transport/internet/headers/tls/config.d.ts.map +0 -1
  46. package/build/src/xray-protos/transport/internet/headers/tls/config.js +0 -51
  47. package/build/src/xray-protos/transport/internet/headers/utp/config.d.ts +0 -22
  48. package/build/src/xray-protos/transport/internet/headers/utp/config.d.ts.map +0 -1
  49. package/build/src/xray-protos/transport/internet/headers/utp/config.js +0 -68
  50. package/build/src/xray-protos/transport/internet/headers/wechat/config.d.ts +0 -21
  51. package/build/src/xray-protos/transport/internet/headers/wechat/config.d.ts.map +0 -1
  52. package/build/src/xray-protos/transport/internet/headers/wechat/config.js +0 -51
  53. package/build/src/xray-protos/transport/internet/headers/wireguard/config.d.ts +0 -21
  54. package/build/src/xray-protos/transport/internet/headers/wireguard/config.d.ts.map +0 -1
  55. package/build/src/xray-protos/transport/internet/headers/wireguard/config.js +0 -51
  56. package/build/src/xray-protos/transport/internet/http/config.d.ts +0 -28
  57. package/build/src/xray-protos/transport/internet/http/config.d.ts.map +0 -1
  58. package/build/src/xray-protos/transport/internet/http/config.js +0 -155
  59. package/build/src/xray-protos/transport/internet/httpupgrade/config.d.ts +0 -34
  60. package/build/src/xray-protos/transport/internet/httpupgrade/config.d.ts.map +0 -1
  61. package/build/src/xray-protos/transport/internet/httpupgrade/config.js +0 -235
  62. package/build/src/xray-protos/transport/internet/kcp/config.d.ts +0 -82
  63. package/build/src/xray-protos/transport/internet/kcp/config.d.ts.map +0 -1
  64. package/build/src/xray-protos/transport/internet/kcp/config.js +0 -639
  65. package/build/src/xray-protos/transport/internet/reality/config.d.ts +0 -38
  66. package/build/src/xray-protos/transport/internet/reality/config.d.ts.map +0 -1
  67. package/build/src/xray-protos/transport/internet/reality/config.js +0 -376
  68. package/build/src/xray-protos/transport/internet/splithttp/config.d.ts +0 -55
  69. package/build/src/xray-protos/transport/internet/splithttp/config.d.ts.map +0 -1
  70. package/build/src/xray-protos/transport/internet/splithttp/config.js +0 -536
  71. package/build/src/xray-protos/transport/internet/tcp/config.d.ts +0 -24
  72. package/build/src/xray-protos/transport/internet/tcp/config.d.ts.map +0 -1
  73. package/build/src/xray-protos/transport/internet/tcp/config.js +0 -89
  74. package/build/src/xray-protos/transport/internet/tls/config.d.ts +0 -87
  75. package/build/src/xray-protos/transport/internet/tls/config.d.ts.map +0 -1
  76. package/build/src/xray-protos/transport/internet/tls/config.js +0 -555
  77. package/build/src/xray-protos/transport/internet/udp/config.d.ts +0 -21
  78. package/build/src/xray-protos/transport/internet/udp/config.d.ts.map +0 -1
  79. package/build/src/xray-protos/transport/internet/udp/config.js +0 -51
  80. package/build/src/xray-protos/transport/internet/websocket/config.d.ts +0 -35
  81. package/build/src/xray-protos/transport/internet/websocket/config.d.ts.map +0 -1
  82. package/build/src/xray-protos/transport/internet/websocket/config.js +0 -235
  83. package/build/tests/stats.spec.d.ts +0 -2
  84. package/build/tests/stats.spec.d.ts.map +0 -1
  85. package/build/tests/stats.spec.js +0 -86
@@ -1,376 +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/internet/reality/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
- exports.protobufPackage = "xray.transport.internet.reality";
13
- function createBaseConfig() {
14
- return {
15
- $type: "xray.transport.internet.reality.Config",
16
- show: false,
17
- dest: "",
18
- type: "",
19
- xver: 0,
20
- serverNames: [],
21
- privateKey: new Uint8Array(0),
22
- minClientVer: new Uint8Array(0),
23
- maxClientVer: new Uint8Array(0),
24
- maxTimeDiff: 0,
25
- shortIds: [],
26
- Fingerprint: "",
27
- serverName: "",
28
- publicKey: new Uint8Array(0),
29
- shortId: new Uint8Array(0),
30
- spiderX: "",
31
- spiderY: [],
32
- masterKeyLog: "",
33
- };
34
- }
35
- exports.Config = {
36
- $type: "xray.transport.internet.reality.Config",
37
- encode(message, writer = new wire_1.BinaryWriter()) {
38
- if (message.show !== false) {
39
- writer.uint32(8).bool(message.show);
40
- }
41
- if (message.dest !== "") {
42
- writer.uint32(18).string(message.dest);
43
- }
44
- if (message.type !== "") {
45
- writer.uint32(26).string(message.type);
46
- }
47
- if (message.xver !== 0) {
48
- writer.uint32(32).uint64(message.xver);
49
- }
50
- for (const v of message.serverNames) {
51
- writer.uint32(42).string(v);
52
- }
53
- if (message.privateKey.length !== 0) {
54
- writer.uint32(50).bytes(message.privateKey);
55
- }
56
- if (message.minClientVer.length !== 0) {
57
- writer.uint32(58).bytes(message.minClientVer);
58
- }
59
- if (message.maxClientVer.length !== 0) {
60
- writer.uint32(66).bytes(message.maxClientVer);
61
- }
62
- if (message.maxTimeDiff !== 0) {
63
- writer.uint32(72).uint64(message.maxTimeDiff);
64
- }
65
- for (const v of message.shortIds) {
66
- writer.uint32(82).bytes(v);
67
- }
68
- if (message.Fingerprint !== "") {
69
- writer.uint32(170).string(message.Fingerprint);
70
- }
71
- if (message.serverName !== "") {
72
- writer.uint32(178).string(message.serverName);
73
- }
74
- if (message.publicKey.length !== 0) {
75
- writer.uint32(186).bytes(message.publicKey);
76
- }
77
- if (message.shortId.length !== 0) {
78
- writer.uint32(194).bytes(message.shortId);
79
- }
80
- if (message.spiderX !== "") {
81
- writer.uint32(202).string(message.spiderX);
82
- }
83
- writer.uint32(210).fork();
84
- for (const v of message.spiderY) {
85
- writer.int64(v);
86
- }
87
- writer.join();
88
- if (message.masterKeyLog !== "") {
89
- writer.uint32(218).string(message.masterKeyLog);
90
- }
91
- return writer;
92
- },
93
- decode(input, length) {
94
- const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
95
- let end = length === undefined ? reader.len : reader.pos + length;
96
- const message = createBaseConfig();
97
- while (reader.pos < end) {
98
- const tag = reader.uint32();
99
- switch (tag >>> 3) {
100
- case 1: {
101
- if (tag !== 8) {
102
- break;
103
- }
104
- message.show = reader.bool();
105
- continue;
106
- }
107
- case 2: {
108
- if (tag !== 18) {
109
- break;
110
- }
111
- message.dest = reader.string();
112
- continue;
113
- }
114
- case 3: {
115
- if (tag !== 26) {
116
- break;
117
- }
118
- message.type = reader.string();
119
- continue;
120
- }
121
- case 4: {
122
- if (tag !== 32) {
123
- break;
124
- }
125
- message.xver = longToNumber(reader.uint64());
126
- continue;
127
- }
128
- case 5: {
129
- if (tag !== 42) {
130
- break;
131
- }
132
- message.serverNames.push(reader.string());
133
- continue;
134
- }
135
- case 6: {
136
- if (tag !== 50) {
137
- break;
138
- }
139
- message.privateKey = reader.bytes();
140
- continue;
141
- }
142
- case 7: {
143
- if (tag !== 58) {
144
- break;
145
- }
146
- message.minClientVer = reader.bytes();
147
- continue;
148
- }
149
- case 8: {
150
- if (tag !== 66) {
151
- break;
152
- }
153
- message.maxClientVer = reader.bytes();
154
- continue;
155
- }
156
- case 9: {
157
- if (tag !== 72) {
158
- break;
159
- }
160
- message.maxTimeDiff = longToNumber(reader.uint64());
161
- continue;
162
- }
163
- case 10: {
164
- if (tag !== 82) {
165
- break;
166
- }
167
- message.shortIds.push(reader.bytes());
168
- continue;
169
- }
170
- case 21: {
171
- if (tag !== 170) {
172
- break;
173
- }
174
- message.Fingerprint = reader.string();
175
- continue;
176
- }
177
- case 22: {
178
- if (tag !== 178) {
179
- break;
180
- }
181
- message.serverName = reader.string();
182
- continue;
183
- }
184
- case 23: {
185
- if (tag !== 186) {
186
- break;
187
- }
188
- message.publicKey = reader.bytes();
189
- continue;
190
- }
191
- case 24: {
192
- if (tag !== 194) {
193
- break;
194
- }
195
- message.shortId = reader.bytes();
196
- continue;
197
- }
198
- case 25: {
199
- if (tag !== 202) {
200
- break;
201
- }
202
- message.spiderX = reader.string();
203
- continue;
204
- }
205
- case 26: {
206
- if (tag === 208) {
207
- message.spiderY.push(longToNumber(reader.int64()));
208
- continue;
209
- }
210
- if (tag === 210) {
211
- const end2 = reader.uint32() + reader.pos;
212
- while (reader.pos < end2) {
213
- message.spiderY.push(longToNumber(reader.int64()));
214
- }
215
- continue;
216
- }
217
- break;
218
- }
219
- case 27: {
220
- if (tag !== 218) {
221
- break;
222
- }
223
- message.masterKeyLog = reader.string();
224
- continue;
225
- }
226
- }
227
- if ((tag & 7) === 4 || tag === 0) {
228
- break;
229
- }
230
- reader.skip(tag & 7);
231
- }
232
- return message;
233
- },
234
- fromJSON(object) {
235
- return {
236
- $type: exports.Config.$type,
237
- show: isSet(object.show) ? globalThis.Boolean(object.show) : false,
238
- dest: isSet(object.dest) ? globalThis.String(object.dest) : "",
239
- type: isSet(object.type) ? globalThis.String(object.type) : "",
240
- xver: isSet(object.xver) ? globalThis.Number(object.xver) : 0,
241
- serverNames: globalThis.Array.isArray(object?.serverNames)
242
- ? object.serverNames.map((e) => globalThis.String(e))
243
- : [],
244
- privateKey: isSet(object.privateKey) ? bytesFromBase64(object.privateKey) : new Uint8Array(0),
245
- minClientVer: isSet(object.minClientVer) ? bytesFromBase64(object.minClientVer) : new Uint8Array(0),
246
- maxClientVer: isSet(object.maxClientVer) ? bytesFromBase64(object.maxClientVer) : new Uint8Array(0),
247
- maxTimeDiff: isSet(object.maxTimeDiff) ? globalThis.Number(object.maxTimeDiff) : 0,
248
- shortIds: globalThis.Array.isArray(object?.shortIds) ? object.shortIds.map((e) => bytesFromBase64(e)) : [],
249
- Fingerprint: isSet(object.Fingerprint) ? globalThis.String(object.Fingerprint) : "",
250
- serverName: isSet(object.serverName) ? globalThis.String(object.serverName) : "",
251
- publicKey: isSet(object.publicKey) ? bytesFromBase64(object.publicKey) : new Uint8Array(0),
252
- shortId: isSet(object.shortId) ? bytesFromBase64(object.shortId) : new Uint8Array(0),
253
- spiderX: isSet(object.spiderX) ? globalThis.String(object.spiderX) : "",
254
- spiderY: globalThis.Array.isArray(object?.spiderY) ? object.spiderY.map((e) => globalThis.Number(e)) : [],
255
- masterKeyLog: isSet(object.masterKeyLog) ? globalThis.String(object.masterKeyLog) : "",
256
- };
257
- },
258
- toJSON(message) {
259
- const obj = {};
260
- if (message.show !== false) {
261
- obj.show = message.show;
262
- }
263
- if (message.dest !== "") {
264
- obj.dest = message.dest;
265
- }
266
- if (message.type !== "") {
267
- obj.type = message.type;
268
- }
269
- if (message.xver !== 0) {
270
- obj.xver = Math.round(message.xver);
271
- }
272
- if (message.serverNames?.length) {
273
- obj.serverNames = message.serverNames;
274
- }
275
- if (message.privateKey.length !== 0) {
276
- obj.privateKey = base64FromBytes(message.privateKey);
277
- }
278
- if (message.minClientVer.length !== 0) {
279
- obj.minClientVer = base64FromBytes(message.minClientVer);
280
- }
281
- if (message.maxClientVer.length !== 0) {
282
- obj.maxClientVer = base64FromBytes(message.maxClientVer);
283
- }
284
- if (message.maxTimeDiff !== 0) {
285
- obj.maxTimeDiff = Math.round(message.maxTimeDiff);
286
- }
287
- if (message.shortIds?.length) {
288
- obj.shortIds = message.shortIds.map((e) => base64FromBytes(e));
289
- }
290
- if (message.Fingerprint !== "") {
291
- obj.Fingerprint = message.Fingerprint;
292
- }
293
- if (message.serverName !== "") {
294
- obj.serverName = message.serverName;
295
- }
296
- if (message.publicKey.length !== 0) {
297
- obj.publicKey = base64FromBytes(message.publicKey);
298
- }
299
- if (message.shortId.length !== 0) {
300
- obj.shortId = base64FromBytes(message.shortId);
301
- }
302
- if (message.spiderX !== "") {
303
- obj.spiderX = message.spiderX;
304
- }
305
- if (message.spiderY?.length) {
306
- obj.spiderY = message.spiderY.map((e) => Math.round(e));
307
- }
308
- if (message.masterKeyLog !== "") {
309
- obj.masterKeyLog = message.masterKeyLog;
310
- }
311
- return obj;
312
- },
313
- create(base) {
314
- return exports.Config.fromPartial(base ?? {});
315
- },
316
- fromPartial(object) {
317
- const message = createBaseConfig();
318
- message.show = object.show ?? false;
319
- message.dest = object.dest ?? "";
320
- message.type = object.type ?? "";
321
- message.xver = object.xver ?? 0;
322
- message.serverNames = object.serverNames?.map((e) => e) || [];
323
- message.privateKey = object.privateKey ?? new Uint8Array(0);
324
- message.minClientVer = object.minClientVer ?? new Uint8Array(0);
325
- message.maxClientVer = object.maxClientVer ?? new Uint8Array(0);
326
- message.maxTimeDiff = object.maxTimeDiff ?? 0;
327
- message.shortIds = object.shortIds?.map((e) => e) || [];
328
- message.Fingerprint = object.Fingerprint ?? "";
329
- message.serverName = object.serverName ?? "";
330
- message.publicKey = object.publicKey ?? new Uint8Array(0);
331
- message.shortId = object.shortId ?? new Uint8Array(0);
332
- message.spiderX = object.spiderX ?? "";
333
- message.spiderY = object.spiderY?.map((e) => e) || [];
334
- message.masterKeyLog = object.masterKeyLog ?? "";
335
- return message;
336
- },
337
- };
338
- typeRegistry_1.messageTypeRegistry.set(exports.Config.$type, exports.Config);
339
- function bytesFromBase64(b64) {
340
- if (globalThis.Buffer) {
341
- return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
342
- }
343
- else {
344
- const bin = globalThis.atob(b64);
345
- const arr = new Uint8Array(bin.length);
346
- for (let i = 0; i < bin.length; ++i) {
347
- arr[i] = bin.charCodeAt(i);
348
- }
349
- return arr;
350
- }
351
- }
352
- function base64FromBytes(arr) {
353
- if (globalThis.Buffer) {
354
- return globalThis.Buffer.from(arr).toString("base64");
355
- }
356
- else {
357
- const bin = [];
358
- arr.forEach((byte) => {
359
- bin.push(globalThis.String.fromCharCode(byte));
360
- });
361
- return globalThis.btoa(bin.join(""));
362
- }
363
- }
364
- function longToNumber(int64) {
365
- const num = globalThis.Number(int64.toString());
366
- if (num > globalThis.Number.MAX_SAFE_INTEGER) {
367
- throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
368
- }
369
- if (num < globalThis.Number.MIN_SAFE_INTEGER) {
370
- throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
371
- }
372
- return num;
373
- }
374
- function isSet(value) {
375
- return value !== null && value !== undefined;
376
- }
@@ -1,55 +0,0 @@
1
- import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
- import { StreamConfig } from "../config";
3
- export declare const protobufPackage = "xray.transport.internet.splithttp";
4
- export interface Config {
5
- $type: "xray.transport.internet.splithttp.Config";
6
- host: string;
7
- path: string;
8
- header: {
9
- [key: string]: string;
10
- };
11
- scMaxConcurrentPosts: RandRangeConfig | undefined;
12
- scMaxEachPostBytes: RandRangeConfig | undefined;
13
- scMinPostsIntervalMs: RandRangeConfig | undefined;
14
- noSSEHeader: boolean;
15
- xPaddingBytes: RandRangeConfig | undefined;
16
- xmux: Multiplexing | undefined;
17
- downloadSettings: StreamConfig | undefined;
18
- mode: string;
19
- }
20
- export interface Config_HeaderEntry {
21
- $type: "xray.transport.internet.splithttp.Config.HeaderEntry";
22
- key: string;
23
- value: string;
24
- }
25
- export interface RandRangeConfig {
26
- $type: "xray.transport.internet.splithttp.RandRangeConfig";
27
- from: number;
28
- to: number;
29
- }
30
- export interface Multiplexing {
31
- $type: "xray.transport.internet.splithttp.Multiplexing";
32
- maxConcurrency: RandRangeConfig | undefined;
33
- maxConnections: RandRangeConfig | undefined;
34
- cMaxReuseTimes: RandRangeConfig | undefined;
35
- cMaxLifetimeMs: RandRangeConfig | undefined;
36
- }
37
- export declare const Config: MessageFns<Config, "xray.transport.internet.splithttp.Config">;
38
- export declare const Config_HeaderEntry: MessageFns<Config_HeaderEntry, "xray.transport.internet.splithttp.Config.HeaderEntry">;
39
- export declare const RandRangeConfig: MessageFns<RandRangeConfig, "xray.transport.internet.splithttp.RandRangeConfig">;
40
- export declare const Multiplexing: MessageFns<Multiplexing, "xray.transport.internet.splithttp.Multiplexing">;
41
- type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
42
- 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 {} ? {
43
- [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
44
- } : Partial<T>;
45
- export interface MessageFns<T, V extends string> {
46
- readonly $type: V;
47
- encode(message: T, writer?: BinaryWriter): BinaryWriter;
48
- decode(input: BinaryReader | Uint8Array, length?: number): T;
49
- fromJSON(object: any): T;
50
- toJSON(message: T): unknown;
51
- create(base?: DeepPartial<T>): T;
52
- fromPartial(object: DeepPartial<T>): T;
53
- }
54
- export {};
55
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/xray-protos/transport/internet/splithttp/config.ts"],"names":[],"mappings":"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"}