amiudmodz 5.0.5 → 5.0.7
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.
- package/lib/Defaults/index.js +1 -1
- package/lib/Socket/Client/web-socket-client.js +3 -3
- package/lib/Socket/chats.js +1 -1
- package/lib/Socket/socket.js +1 -1
- package/lib/Utils/event-buffer.js +1 -1
- package/lib/Utils/make-mutex.js +1 -1
- package/lib/Utils/messages-media.js +13 -13
- package/lib/Utils/noise-handler.js +2 -2
- package/lib/Utils/use-multi-file-auth-state.js +1 -1
- package/lib/index.d.ts +12 -0
- package/lib/index.js +34 -0
- package/package.json +1 -1
package/lib/Defaults/index.js
CHANGED
|
@@ -141,7 +141,7 @@ exports.MEDIA_HKDF_KEY_MAPPING = {
|
|
|
141
141
|
exports.MEDIA_KEYS = Object.keys(exports.MEDIA_PATH_MAP);
|
|
142
142
|
exports.MIN_PREKEY_COUNT = 5;
|
|
143
143
|
exports.INITIAL_PREKEY_COUNT = 30;
|
|
144
|
-
exports.UPLOAD_TIMEOUT = 7200000;
|
|
144
|
+
exports.UPLOAD_TIMEOUT = 7200000;
|
|
145
145
|
exports.MIN_UPLOAD_INTERVAL = 5000;
|
|
146
146
|
|
|
147
147
|
exports.TimeMs = {
|
|
@@ -22,7 +22,7 @@ class WebSocketClient extends abstract_socket_client_1.AbstractSocketClient {
|
|
|
22
22
|
}
|
|
23
23
|
get isClosing() {
|
|
24
24
|
var _a;
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
return this.socket !== null && ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CLOSING;
|
|
27
27
|
}
|
|
28
28
|
get isConnecting() {
|
|
@@ -55,10 +55,10 @@ class WebSocketClient extends abstract_socket_client_1.AbstractSocketClient {
|
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
const socketToClose = this.socket;
|
|
58
|
-
this.socket = null;
|
|
58
|
+
this.socket = null;
|
|
59
59
|
const closePromise = new Promise((resolve) => {
|
|
60
60
|
socketToClose.once('close', resolve);
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
setTimeout(resolve, 5000);
|
|
63
63
|
});
|
|
64
64
|
socketToClose.close();
|
package/lib/Socket/chats.js
CHANGED
package/lib/Socket/socket.js
CHANGED
|
@@ -378,7 +378,7 @@ const makeSocket = (config) => {
|
|
|
378
378
|
}, PING_TIMEOUT_MS)
|
|
379
379
|
.catch(err => {
|
|
380
380
|
logger.error({ trace: err?.stack }, 'error in keep-alive ping');
|
|
381
|
-
|
|
381
|
+
|
|
382
382
|
if (err?.output?.statusCode === Types_1.DisconnectReason.timedOut ||
|
|
383
383
|
err?.message?.includes('timed out') ||
|
|
384
384
|
err?.message?.includes('Connection Closed')) {
|
|
@@ -48,7 +48,7 @@ const makeEventBuffer = (logger) => {
|
|
|
48
48
|
if (totalEvents > MAX_BUFFER_SIZE) {
|
|
49
49
|
logger.warn({ totalEvents }, 'buffer too large, auto-flushing');
|
|
50
50
|
flush(true);
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
buffersInProgress = 1;
|
|
53
53
|
} else {
|
|
54
54
|
buffersInProgress += 1;
|
package/lib/Utils/make-mutex.js
CHANGED
|
@@ -402,11 +402,11 @@ const prepareStream = async (media, mediaType, { logger, saveOriginalFileIfRequi
|
|
|
402
402
|
let didSaveToTmpPath = false;
|
|
403
403
|
let fileLength = 0;
|
|
404
404
|
const sha256 = Crypto.createHash('sha256');
|
|
405
|
-
|
|
406
|
-
|
|
405
|
+
|
|
406
|
+
|
|
407
407
|
const preparedPath = (0, path_1.join)(getTmpFilesDirectory(), `prepared-${mediaType}-${(0, generics_1.generateMessageID)()}`);
|
|
408
408
|
const preparedWriteStream = (0, fs_1.createWriteStream)(preparedPath);
|
|
409
|
-
|
|
409
|
+
|
|
410
410
|
if (type === 'file') {
|
|
411
411
|
bodyPath = media.url;
|
|
412
412
|
} else if (saveOriginalFileIfRequired) {
|
|
@@ -435,7 +435,7 @@ const prepareStream = async (media, mediaType, { logger, saveOriginalFileIfRequi
|
|
|
435
435
|
|
|
436
436
|
const fileSha256 = sha256.digest();
|
|
437
437
|
logger === null || logger === void 0 ? void 0 : logger.debug('prepare stream data successfully');
|
|
438
|
-
|
|
438
|
+
|
|
439
439
|
return {
|
|
440
440
|
mediaKey: undefined,
|
|
441
441
|
encWriteStream: (0, fs_1.createReadStream)(preparedPath),
|
|
@@ -453,7 +453,7 @@ const prepareStream = async (media, mediaType, { logger, saveOriginalFileIfRequi
|
|
|
453
453
|
writeStream?.destroy();
|
|
454
454
|
try {
|
|
455
455
|
await fs_1.promises.unlink(preparedPath);
|
|
456
|
-
} catch {}
|
|
456
|
+
} catch { }
|
|
457
457
|
if (didSaveToTmpPath) {
|
|
458
458
|
try {
|
|
459
459
|
await fs_1.promises.unlink(bodyPath);
|
|
@@ -484,11 +484,11 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
|
|
|
484
484
|
}
|
|
485
485
|
const mediaKey = Crypto.randomBytes(32);
|
|
486
486
|
const { cipherKey, iv, macKey } = getMediaKeys(mediaKey, mediaType);
|
|
487
|
-
|
|
488
|
-
|
|
487
|
+
|
|
488
|
+
|
|
489
489
|
const encPath = (0, path_1.join)(getTmpFilesDirectory(), `enc-${mediaType}-${(0, generics_1.generateMessageID)()}`);
|
|
490
490
|
const encTempWriteStream = (0, fs_1.createWriteStream)(encPath);
|
|
491
|
-
|
|
491
|
+
|
|
492
492
|
let bodyPath;
|
|
493
493
|
let writeStream;
|
|
494
494
|
let didSaveToTmpPath = false;
|
|
@@ -543,7 +543,7 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
|
|
|
543
543
|
|
|
544
544
|
const fileSha256 = sha256Plain.digest();
|
|
545
545
|
const fileEncSha256 = sha256Enc.digest();
|
|
546
|
-
|
|
546
|
+
|
|
547
547
|
encTempWriteStream.end();
|
|
548
548
|
writeStream === null || writeStream === void 0 ? void 0 : writeStream.end();
|
|
549
549
|
finalStream.destroy();
|
|
@@ -571,7 +571,7 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
|
|
|
571
571
|
finalStream.destroy();
|
|
572
572
|
try {
|
|
573
573
|
await fs_1.promises.unlink(encPath);
|
|
574
|
-
} catch {}
|
|
574
|
+
} catch { }
|
|
575
575
|
if (didSaveToTmpPath) {
|
|
576
576
|
try {
|
|
577
577
|
await fs_1.promises.unlink(bodyPath);
|
|
@@ -718,9 +718,9 @@ const getWAUploadToServer = ({ customUploadHosts, fetchAgent, logger, options },
|
|
|
718
718
|
logger.debug(`uploading to "${hostname}"`);
|
|
719
719
|
const auth = encodeURIComponent(uploadInfo.auth);
|
|
720
720
|
const url = `https://${hostname}${media}/${fileEncSha256B64}?auth=${auth}&token=${fileEncSha256B64}`;
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
|
|
724
724
|
const reqBody = streamPath ? createReadStream(streamPath) : stream;
|
|
725
725
|
|
|
726
726
|
let result;
|
|
@@ -135,7 +135,7 @@ const makeNoiseHandler = ({ keyPair: { private: privateKey, public: publicKey },
|
|
|
135
135
|
logger.trace(`recv ${newData.length} bytes, total recv ${inBytesLength} bytes`);
|
|
136
136
|
|
|
137
137
|
while (inBytesLength >= 3) {
|
|
138
|
-
|
|
138
|
+
|
|
139
139
|
if (inChunks.length > 1) {
|
|
140
140
|
const combined = Buffer.concat(inChunks);
|
|
141
141
|
inChunks = [combined];
|
|
@@ -149,7 +149,7 @@ const makeNoiseHandler = ({ keyPair: { private: privateKey, public: publicKey },
|
|
|
149
149
|
let frame = inBytes.subarray(3, size + 3);
|
|
150
150
|
|
|
151
151
|
const remaining = inBytes.subarray(size + 3);
|
|
152
|
-
|
|
152
|
+
|
|
153
153
|
if (remaining.length > 0) {
|
|
154
154
|
inChunks = [remaining];
|
|
155
155
|
} else {
|
|
@@ -18,7 +18,7 @@ const useMultiFileAuthState = async (folder) => {
|
|
|
18
18
|
return mutex;
|
|
19
19
|
};
|
|
20
20
|
const releaseFileLock = (path) => {
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
const mutex = fileLocks.get(path);
|
|
23
23
|
if (mutex && !mutex.isLocked()) {
|
|
24
24
|
fileLocks.delete(path);
|
package/lib/index.d.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import makeWASocket from './Socket';
|
|
2
|
+
export * from './Defaults';
|
|
3
|
+
export * from './Utils';
|
|
4
|
+
export * from '../WAProto';
|
|
5
|
+
export * from './Types';
|
|
6
|
+
export * from './Store';
|
|
7
|
+
export * from './WAUSync';
|
|
8
|
+
export * from './WABinary';
|
|
9
|
+
export * from './WAM';
|
|
10
|
+
export * from './Socket';
|
|
11
|
+
export { makeWASocket };
|
|
12
|
+
export default makeWASocket;
|
package/lib/index.js
CHANGED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
+
};
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.makeWASocket = void 0;
|
|
23
|
+
const Socket_1 = __importDefault(require("./Socket"));
|
|
24
|
+
exports.makeWASocket = Socket_1.default;
|
|
25
|
+
__exportStar(require("../WAProto"), exports);
|
|
26
|
+
__exportStar(require("./Utils"), exports);
|
|
27
|
+
__exportStar(require("./Types"), exports);
|
|
28
|
+
__exportStar(require("./Store"), exports);
|
|
29
|
+
__exportStar(require("./Defaults"), exports);
|
|
30
|
+
__exportStar(require("./WABinary"), exports);
|
|
31
|
+
__exportStar(require("./WAM"), exports);
|
|
32
|
+
__exportStar(require("./WAUSync"), exports);
|
|
33
|
+
|
|
34
|
+
exports.default = Socket_1.default;
|