@nexustechpro/baileys 2.0.2 → 2.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.
- package/LICENSE +1 -1
- package/README.md +924 -1299
- package/WAProto/index.js +22 -18
- package/lib/Defaults/baileys-version.json +6 -2
- package/lib/Defaults/index.js +173 -172
- package/lib/Signal/libsignal.js +395 -292
- package/lib/Signal/lid-mapping.js +264 -171
- package/lib/Socket/Client/index.js +2 -2
- package/lib/Socket/Client/types.js +10 -10
- package/lib/Socket/Client/websocket.js +45 -310
- package/lib/Socket/business.js +375 -375
- package/lib/Socket/chats.js +916 -963
- package/lib/Socket/communities.js +430 -430
- package/lib/Socket/groups.js +342 -342
- package/lib/Socket/index.js +21 -22
- package/lib/Socket/messages-recv.js +963 -743
- package/lib/Socket/messages-send.js +273 -321
- package/lib/Socket/mex.js +50 -50
- package/lib/Socket/newsletter.js +148 -148
- package/lib/Socket/nexus-handler.js +296 -247
- package/lib/Socket/registration.js +50 -33
- package/lib/Socket/socket.js +872 -1201
- package/lib/Store/index.js +5 -5
- package/lib/Store/make-cache-manager-store.js +81 -81
- package/lib/Store/make-in-memory-store.js +416 -416
- package/lib/Store/make-ordered-dictionary.js +81 -81
- package/lib/Store/object-repository.js +30 -30
- package/lib/Types/Auth.js +1 -1
- package/lib/Types/Bussines.js +1 -1
- package/lib/Types/Call.js +1 -1
- package/lib/Types/Chat.js +7 -7
- package/lib/Types/Contact.js +1 -1
- package/lib/Types/Events.js +1 -1
- package/lib/Types/GroupMetadata.js +1 -1
- package/lib/Types/Label.js +24 -24
- package/lib/Types/LabelAssociation.js +6 -6
- package/lib/Types/Message.js +10 -10
- package/lib/Types/Newsletter.js +37 -29
- package/lib/Types/Product.js +1 -1
- package/lib/Types/Signal.js +1 -1
- package/lib/Types/Socket.js +2 -2
- package/lib/Types/State.js +55 -12
- package/lib/Types/USync.js +1 -1
- package/lib/Types/index.js +25 -25
- package/lib/Utils/auth-utils.js +264 -256
- package/lib/Utils/baileys-event-stream.js +55 -55
- package/lib/Utils/browser-utils.js +27 -27
- package/lib/Utils/business.js +228 -230
- package/lib/Utils/chat-utils.js +726 -764
- package/lib/Utils/companion-reg-client-utils.js +34 -0
- package/lib/Utils/crypto.js +109 -135
- package/lib/Utils/decode-wa-message.js +342 -314
- package/lib/Utils/event-buffer.js +547 -547
- package/lib/Utils/generics.js +295 -297
- package/lib/Utils/history.js +91 -83
- package/lib/Utils/index.js +25 -20
- package/lib/Utils/key-store.js +17 -0
- package/lib/Utils/link-preview.js +107 -98
- package/lib/Utils/logger.js +2 -2
- package/lib/Utils/lt-hash.js +47 -47
- package/lib/Utils/make-mutex.js +39 -39
- package/lib/Utils/message-retry-manager.js +148 -148
- package/lib/Utils/messages-media.js +579 -535
- package/lib/Utils/messages.js +821 -706
- package/lib/Utils/noise-handler.js +255 -255
- package/lib/Utils/pre-key-manager.js +105 -105
- package/lib/Utils/process-message.js +430 -412
- package/lib/Utils/reporting-utils.js +155 -0
- package/lib/Utils/signal.js +191 -159
- package/lib/Utils/sync-action-utils.js +33 -0
- package/lib/Utils/tc-token-utils.js +162 -0
- package/lib/Utils/use-multi-file-auth-state.js +120 -120
- package/lib/Utils/validate-connection.js +194 -194
- package/lib/WABinary/constants.js +1306 -1300
- package/lib/WABinary/decode.js +237 -237
- package/lib/WABinary/encode.js +232 -232
- package/lib/WABinary/generic-utils.js +252 -211
- package/lib/WABinary/index.js +6 -5
- package/lib/WABinary/jid-utils.js +279 -95
- package/lib/WABinary/types.js +1 -1
- package/lib/WAM/BinaryInfo.js +9 -9
- package/lib/WAM/constants.js +22852 -22852
- package/lib/WAM/encode.js +149 -149
- package/lib/WAM/index.js +3 -3
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +28 -28
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +53 -53
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +26 -26
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +37 -37
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +50 -50
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +28 -28
- package/lib/WAUSync/Protocols/index.js +4 -4
- package/lib/WAUSync/USyncQuery.js +93 -93
- package/lib/WAUSync/USyncUser.js +22 -22
- package/lib/WAUSync/index.js +3 -3
- package/lib/index.js +65 -66
- package/package.json +172 -143
- package/lib/Signal/Group/ciphertext-message.js +0 -12
- package/lib/Signal/Group/group-session-builder.js +0 -30
- package/lib/Signal/Group/group_cipher.js +0 -100
- package/lib/Signal/Group/index.js +0 -12
- package/lib/Signal/Group/keyhelper.js +0 -18
- package/lib/Signal/Group/sender-chain-key.js +0 -26
- package/lib/Signal/Group/sender-key-distribution-message.js +0 -63
- package/lib/Signal/Group/sender-key-message.js +0 -66
- package/lib/Signal/Group/sender-key-name.js +0 -48
- package/lib/Signal/Group/sender-key-record.js +0 -41
- package/lib/Signal/Group/sender-key-state.js +0 -84
- package/lib/Signal/Group/sender-message-key.js +0 -26
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable camelcase */
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { MOBILE_TOKEN, MOBILE_REGISTRATION_ENDPOINT, MOBILE_USERAGENT, REGISTRATION_PUBLIC_KEY } from '../Defaults/index.js'
|
|
4
|
-
import { md5, Curve, aesEncryptGCM } from '../Utils/
|
|
3
|
+
import { MOBILE_TOKEN, MOBILE_REGISTRATION_ENDPOINT, MOBILE_USERAGENT, REGISTRATION_PUBLIC_KEY, GRAPHQL_ENDPOINT, GRAPHQL_ACCESS_TOKEN, GRAPHQL_BAN_STATUS_DOC_ID } from '../Defaults/index.js'
|
|
4
|
+
import { md5, Curve, aesEncryptGCM } from '../Utils/index.js';
|
|
5
5
|
import { jidEncode } from '../WABinary/index.js';
|
|
6
6
|
import { makeCommunitiesSocket } from './communities.js';
|
|
7
7
|
|
|
@@ -69,6 +69,22 @@ const makeRegistrationSocket = (config) => {
|
|
|
69
69
|
};
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
+
async function getBanDetails(appealToken) {
|
|
73
|
+
const res = await axios.post(GRAPHQL_ENDPOINT, {
|
|
74
|
+
variables: JSON.stringify({ app_id: 'dev.app.id', request_token: appealToken }),
|
|
75
|
+
access_token: GRAPHQL_ACCESS_TOKEN,
|
|
76
|
+
doc_id: GRAPHQL_BAN_STATUS_DOC_ID,
|
|
77
|
+
lang: 'en_GB',
|
|
78
|
+
'Content-Type': 'application/json'
|
|
79
|
+
}, {
|
|
80
|
+
headers: {
|
|
81
|
+
'User-Agent': MOBILE_USERAGENT,
|
|
82
|
+
'Content-Type': 'application/json'
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
return res.data?.data?.whatsapp_support_ban_appeal_status || null
|
|
86
|
+
}
|
|
87
|
+
|
|
72
88
|
function registrationParams(params) {
|
|
73
89
|
const e_regid = Buffer.alloc(4);
|
|
74
90
|
e_regid.writeInt32BE(params.registrationId);
|
|
@@ -76,33 +92,33 @@ function registrationParams(params) {
|
|
|
76
92
|
const e_skey_id = Buffer.alloc(3);
|
|
77
93
|
e_skey_id.writeInt16BE(params.signedPreKey.keyId);
|
|
78
94
|
|
|
95
|
+
// ✅ Clean BEFORE token generation
|
|
79
96
|
params.phoneNumberCountryCode = params.phoneNumberCountryCode.replace('+', '').trim();
|
|
80
97
|
params.phoneNumberNationalNumber = params.phoneNumberNationalNumber.replace(/[/\-\s)(]/g, '').trim();
|
|
81
98
|
|
|
82
99
|
return {
|
|
83
|
-
cc:
|
|
84
|
-
in:
|
|
85
|
-
Rc:
|
|
86
|
-
lg:
|
|
87
|
-
lc:
|
|
88
|
-
mistyped:
|
|
89
|
-
authkey:
|
|
90
|
-
e_regid:
|
|
91
|
-
e_keytype:
|
|
92
|
-
e_ident:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
token: md5(Buffer.concat([MOBILE_TOKEN, Buffer.from(params.phoneNumberNationalNumber)])).toString('hex'),
|
|
100
|
+
cc: params.phoneNumberCountryCode,
|
|
101
|
+
in: params.phoneNumberNationalNumber,
|
|
102
|
+
Rc: '0',
|
|
103
|
+
lg: 'en',
|
|
104
|
+
lc: 'GB',
|
|
105
|
+
mistyped: '6',
|
|
106
|
+
authkey: Buffer.from(params.noiseKey.public).toString('base64url'),
|
|
107
|
+
e_regid: e_regid.toString('base64url'),
|
|
108
|
+
e_keytype: 'BQ',
|
|
109
|
+
e_ident: Buffer.from(params.signedIdentityKey.public).toString('base64url'),
|
|
110
|
+
e_skey_id: e_skey_id.toString('base64url'),
|
|
111
|
+
e_skey_val: Buffer.from(params.signedPreKey.keyPair.public).toString('base64url'),
|
|
112
|
+
e_skey_sig: Buffer.from(params.signedPreKey.signature).toString('base64url'),
|
|
113
|
+
fdid: params.phoneId,
|
|
114
|
+
network_ratio_type: '1',
|
|
115
|
+
expid: params.deviceId,
|
|
116
|
+
simnum: '1',
|
|
117
|
+
hasinrc: '1',
|
|
118
|
+
pid: Math.floor(Math.random() * 1000).toString(),
|
|
119
|
+
id: convertBufferToUrlHex(params.identityId),
|
|
120
|
+
backup_token: convertBufferToUrlHex(params.backupToken),
|
|
121
|
+
token: Buffer.from(md5(Buffer.concat([MOBILE_TOKEN, Buffer.from(params.phoneNumberNationalNumber)]))).toString('hex'),
|
|
106
122
|
fraud_checkpoint_code: params.captcha,
|
|
107
123
|
};
|
|
108
124
|
}
|
|
@@ -114,13 +130,13 @@ function mobileRegisterCode(params, fetchOptions) {
|
|
|
114
130
|
return mobileRegisterFetch('/code', {
|
|
115
131
|
params: {
|
|
116
132
|
...registrationParams(params),
|
|
117
|
-
mcc:
|
|
118
|
-
mnc:
|
|
133
|
+
mcc: `${params.phoneNumberMobileCountryCode}`.padStart(3, '0'),
|
|
134
|
+
mnc: `${params.phoneNumberMobileNetworkCode || '001'}`.padStart(3, '0'),
|
|
119
135
|
sim_mcc: '000',
|
|
120
136
|
sim_mnc: '000',
|
|
121
|
-
method:
|
|
122
|
-
reason:
|
|
123
|
-
hasav:
|
|
137
|
+
method: params?.method || 'sms',
|
|
138
|
+
reason: '',
|
|
139
|
+
hasav: '1',
|
|
124
140
|
},
|
|
125
141
|
...fetchOptions,
|
|
126
142
|
});
|
|
@@ -148,8 +164,8 @@ async function mobileRegister(params, fetchOptions) {
|
|
|
148
164
|
*/
|
|
149
165
|
function mobileRegisterEncrypt(data) {
|
|
150
166
|
const keypair = Curve.generateKeyPair();
|
|
151
|
-
const key
|
|
152
|
-
const buffer
|
|
167
|
+
const key = Curve.sharedKey(keypair.private, REGISTRATION_PUBLIC_KEY);
|
|
168
|
+
const buffer = aesEncryptGCM(Buffer.from(data), new Uint8Array(key), Buffer.alloc(12), Buffer.alloc(0));
|
|
153
169
|
|
|
154
170
|
return Buffer.concat([Buffer.from(keypair.public), buffer]).toString('base64url');
|
|
155
171
|
}
|
|
@@ -194,4 +210,5 @@ export {
|
|
|
194
210
|
mobileRegister,
|
|
195
211
|
mobileRegisterEncrypt,
|
|
196
212
|
mobileRegisterFetch,
|
|
197
|
-
|
|
213
|
+
getBanDetails
|
|
214
|
+
}
|