fca-smart-shankar 1.5.6 → 10.9.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.
- package/.cache/replit/env/latest +43 -43
- package/.cache/replit/env/latest.json +1 -1
- package/.cache/typescript/5.5/package.json +1 -1
- package/.config/configstore/update-notifier-npm.json +1 -1
- package/.upm/store.json +1 -1
- package/Extra/Balancer.js +49 -0
- package/Extra/ExtraAddons.js +27 -27
- package/Extra/ExtraFindUID.js +3 -3
- package/Extra/ExtraGetThread.js +47 -47
- package/Extra/ExtraUptimeRobot.js +3 -3
- package/Extra/Src/Change_Environment.js +4 -4
- package/Extra/Src/Premium.js +14 -14
- package/Func/AcceptAgreement.js +1 -1
- package/Func/ClearCache.js +8 -8
- package/LICENSE +678 -21
- package/Language/index.json +10 -4
- package/Main.js +206 -28
- package/README.md +53 -1
- package/SECURITY.md +1 -1
- package/broadcast.js +3 -3
- package/index.js +18 -18
- package/logger.js +9 -9
- package/package.json +16 -12
- package/src/listenMqtt.js +37 -17
- package/src/unsendMessage.js +28 -20
- package/src/unsendMqttMessage.js +66 -0
- package/test/Db2.js +4 -4
- package/utils.js +43 -4
- /package/test/{Horizon_Database → Shankar_Database}/A_README.md +0 -0
- /package/test/{Horizon_Database → Shankar_Database}/Database.db +0 -0
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "fca-smart-shankar",
|
3
|
-
"version": "
|
4
|
-
"description": "
|
3
|
+
"version": "10.9.1",
|
4
|
+
"description": "Facebook-chat-api protect and deploy by Smart Shankar",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
7
7
|
"test": "mocha"
|
@@ -9,12 +9,12 @@
|
|
9
9
|
"author": "SMART SHANKAR",
|
10
10
|
"license": "MIT",
|
11
11
|
"bugs": {
|
12
|
-
"url": "https://github.com/SHANKAR-PROJECT/issues"
|
12
|
+
"url": "https://github.com/SHANKAR-PROJECT/fca-smart-shankar/issues"
|
13
13
|
},
|
14
|
-
"homepage": "https://github.com/SHANKAR-PROJECT
|
14
|
+
"homepage": "https://github.com/SHANKAR-PROJECT/fca-smart-shankar#readme",
|
15
15
|
"repository": {
|
16
16
|
"type": "git",
|
17
|
-
"url": "https://github.com/SHANKAR-PROJECT/
|
17
|
+
"url": "https://github.com/SHANKAR-PROJECT/fca-smart-shankar.git"
|
18
18
|
},
|
19
19
|
"dependencies": {
|
20
20
|
"aes-js": "latest",
|
@@ -23,13 +23,15 @@
|
|
23
23
|
"better-sqlite3": "7.6.2",
|
24
24
|
"bluebird": "latest",
|
25
25
|
"chalk": "4.1.2",
|
26
|
-
"cheerio": "
|
26
|
+
"cheerio": "1.0.0-rc.12",
|
27
27
|
"crypto-js": "latest",
|
28
28
|
"deasync": "^0.1.28",
|
29
29
|
"duplexify": "^4.1.2",
|
30
30
|
"encode32": "latest",
|
31
31
|
"express": "latest",
|
32
|
+
"figlet": "latest",
|
32
33
|
"file-url": "^3.0.0",
|
34
|
+
"fs-extra": "^11.2.0",
|
33
35
|
"got": "^11.8.6",
|
34
36
|
"https-proxy-agent": "latest",
|
35
37
|
"is-hexcolor": "^1.0.0",
|
@@ -44,12 +46,11 @@
|
|
44
46
|
"readline": "latest",
|
45
47
|
"request": "latest",
|
46
48
|
"speakeasy": "latest",
|
47
|
-
"
|
49
|
+
"sqlite3": "^5.0.2",
|
50
|
+
"totp-generator": "^0.0.14",
|
48
51
|
"tough-cookie": "^4.1.2",
|
49
52
|
"uuid": "latest",
|
50
|
-
"ws": "^8.13.0"
|
51
|
-
"sqlite3": "^5.0.2",
|
52
|
-
"figlet": "latest"
|
53
|
+
"ws": "^8.13.0"
|
53
54
|
},
|
54
55
|
"engines": {
|
55
56
|
"node": ">=14.x"
|
@@ -86,6 +87,9 @@
|
|
86
87
|
}
|
87
88
|
},
|
88
89
|
"keywords": [
|
89
|
-
"
|
90
|
+
"Fca shankar",
|
91
|
+
"fca-smart-shankar",
|
92
|
+
"fca-shankar-bot",
|
93
|
+
"shankar"
|
90
94
|
]
|
91
|
-
}
|
95
|
+
}
|
package/src/listenMqtt.js
CHANGED
@@ -135,7 +135,7 @@ function listenMqtt(defaultFuncs, api, ctx, globalCallback) {
|
|
135
135
|
headers: {
|
136
136
|
Cookie: cookies,
|
137
137
|
Origin: 'https://www.facebook.com',
|
138
|
-
'User-Agent': ctx.globalOptions.userAgent
|
138
|
+
'User-Agent': ctx.globalOptions.userAgent,
|
139
139
|
Referer: 'https://www.facebook.com/',
|
140
140
|
Host: new URL(host).hostname,
|
141
141
|
},
|
@@ -210,7 +210,7 @@ function listenMqtt(defaultFuncs, api, ctx, globalCallback) {
|
|
210
210
|
warningThreshold: 0.7,
|
211
211
|
releaseThreshold: 0.8,
|
212
212
|
maxThreshold: 0.9,
|
213
|
-
interval:
|
213
|
+
interval: 300 * 1000,
|
214
214
|
logLevel: 'warn',
|
215
215
|
logFile: path.join(process.cwd(), 'Horizon_Database' ,'memory.log'),
|
216
216
|
smartReleaseEnabled: true,
|
@@ -558,22 +558,27 @@ function parseDelta(defaultFuncs, api, ctx, globalCallback, {
|
|
558
558
|
messageID: delta.deltaMessageReply.repliedToMessage.messageMetadata.messageId,
|
559
559
|
senderID: delta.deltaMessageReply.repliedToMessage.messageMetadata.actorFbId.toString(),
|
560
560
|
attachments: delta.deltaMessageReply.repliedToMessage.attachments
|
561
|
-
|
562
|
-
|
561
|
+
.map((att) => {
|
562
|
+
let mercury;
|
563
|
+
try {
|
564
|
+
mercury = JSON.parse(att.mercuryJSON);
|
563
565
|
Object.assign(att, mercury);
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
566
|
+
} catch (ex) {
|
567
|
+
mercury = {};
|
568
|
+
}
|
569
|
+
return att;
|
570
|
+
})
|
571
|
+
.map((att) => {
|
572
|
+
let x;
|
573
|
+
try {
|
574
|
+
x = utils._formatAttachment(att);
|
575
|
+
} catch (ex) {
|
576
|
+
x = att;
|
577
|
+
x.error = ex;
|
578
|
+
x.type = 'unknown';
|
579
|
+
}
|
580
|
+
return x;
|
581
|
+
}),
|
577
582
|
args: (delta.deltaMessageReply.repliedToMessage.body || '').trim().split(/\s+/),
|
578
583
|
body: delta.deltaMessageReply.repliedToMessage.body || '',
|
579
584
|
isGroup: !!delta.deltaMessageReply.repliedToMessage.messageMetadata.threadKey.threadFbId,
|
@@ -843,13 +848,23 @@ function markDelivery(ctx, api, threadID, messageID) {
|
|
843
848
|
|
844
849
|
module.exports = function(defaultFuncs, api, ctx) {
|
845
850
|
var globalCallback = identity;
|
851
|
+
var okeoke;
|
846
852
|
getSeqID = function getSeqID() {
|
847
853
|
ctx.t_mqttCalled = false;
|
848
854
|
defaultFuncs
|
849
855
|
.post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
|
856
|
+
.then(res => {
|
857
|
+
okeoke = res;
|
858
|
+
return res;
|
859
|
+
})
|
850
860
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
851
861
|
.then((resData) => {
|
852
862
|
if (utils.getType(resData) != "Array") {
|
863
|
+
if (okeoke.request.uri && okeoke.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
|
864
|
+
if (okeoke.request.uri.href.includes('601051028565049')) {
|
865
|
+
return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
|
866
|
+
}
|
867
|
+
}
|
853
868
|
if (global.Fca.Require.FastConfig.AutoLogin) {
|
854
869
|
return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
|
855
870
|
return global.Fca.Action('AutoLogin');
|
@@ -875,6 +890,11 @@ module.exports = function(defaultFuncs, api, ctx) {
|
|
875
890
|
})
|
876
891
|
.catch((err) => {
|
877
892
|
log.error("getSeqId", err);
|
893
|
+
if (okeoke.request.uri && okeoke.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
|
894
|
+
if (okeoke.request.uri.href.includes('601051028565049')) {
|
895
|
+
return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
|
896
|
+
}
|
897
|
+
}
|
878
898
|
if (utils.getType(err) == "Object" && err.error === global.Fca.Require.Language.Index.ErrAppState) ctx.loggedIn = false;
|
879
899
|
return globalCallback(err);
|
880
900
|
});
|
package/src/unsendMessage.js
CHANGED
@@ -1,17 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
const Balancer = require('../Extra/Balancer.js');
|
3
4
|
var utils = require("../utils");
|
4
5
|
var log = require("npmlog");
|
5
6
|
|
6
7
|
module.exports = function (defaultFuncs, api, ctx) {
|
7
|
-
|
8
|
+
//const BalancerInstance = new Balancer(api.unsendMessage, unsendMessage, 0.85);
|
9
|
+
|
10
|
+
function unsendMessage(messageID, threadID, callback) {
|
8
11
|
var resolveFunc = function () { };
|
9
12
|
var rejectFunc = function () { };
|
10
13
|
var returnPromise = new Promise(function (resolve, reject) {
|
11
14
|
resolveFunc = resolve;
|
12
15
|
rejectFunc = reject;
|
13
16
|
});
|
14
|
-
|
17
|
+
|
15
18
|
if (!callback) {
|
16
19
|
callback = function (err, friendList) {
|
17
20
|
if (err) return rejectFunc(err);
|
@@ -19,22 +22,27 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
19
22
|
};
|
20
23
|
}
|
21
24
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
25
|
+
if (threadID) return api.unsendMqttMessage(threadID, messageID, callback);
|
26
|
+
else {
|
27
|
+
var form = {
|
28
|
+
message_id: messageID
|
29
|
+
};
|
30
|
+
|
31
|
+
defaultFuncs
|
32
|
+
.post("https://www.facebook.com/messaging/unsend_message/", ctx.jar, form)
|
33
|
+
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
34
|
+
.then(function (resData) {
|
35
|
+
if (resData.error) throw resData;
|
36
|
+
return callback();
|
37
|
+
})
|
38
|
+
.catch(function (err) {
|
39
|
+
log.error("unsendMessage", err);
|
40
|
+
return callback(err);
|
41
|
+
});
|
42
|
+
|
43
|
+
return returnPromise;
|
44
|
+
}
|
45
|
+
}
|
37
46
|
|
38
|
-
|
39
|
-
|
40
|
-
};
|
47
|
+
return unsendMessage;
|
48
|
+
};
|
@@ -0,0 +1,66 @@
|
|
1
|
+
/* eslint-disable linebreak-style */
|
2
|
+
"use strict";
|
3
|
+
|
4
|
+
var utils = require("../utils");
|
5
|
+
|
6
|
+
module.exports = function (defaultFuncs, api, ctx) {
|
7
|
+
return function(threadID, messageID ,callback) {
|
8
|
+
var resolveFunc = function () { };
|
9
|
+
var rejectFunc = function () { };
|
10
|
+
|
11
|
+
var returnPromise = new Promise(function (resolve, reject) {
|
12
|
+
resolveFunc = resolve;
|
13
|
+
rejectFunc = reject;
|
14
|
+
});
|
15
|
+
|
16
|
+
if (!callback && utils.getType(messageID) === "AsyncFunction" || !callback && utils.getType(messageID) === "Function") messageID = callback;
|
17
|
+
|
18
|
+
if (!callback) {
|
19
|
+
callback = function (err, data) {
|
20
|
+
if (err) return rejectFunc(err);
|
21
|
+
resolveFunc(data);
|
22
|
+
};
|
23
|
+
}
|
24
|
+
|
25
|
+
const Payload = {
|
26
|
+
message_id:messageID,
|
27
|
+
thread_key:threadID,
|
28
|
+
sync_group: 1
|
29
|
+
};
|
30
|
+
|
31
|
+
if (messageID != undefined || messageID != null) Payload.reply_metadata = {
|
32
|
+
reply_source_id: messageID,
|
33
|
+
reply_source_type: 1,
|
34
|
+
reply_type: 0
|
35
|
+
};
|
36
|
+
|
37
|
+
const Form = JSON.stringify({
|
38
|
+
app_id: "2220391788200892",
|
39
|
+
payload: JSON.stringify({
|
40
|
+
tasks: [{
|
41
|
+
label: 33,
|
42
|
+
payload: JSON.stringify(Payload),
|
43
|
+
queue_name: "unsend_message",
|
44
|
+
task_id: Math.random() * 1001 << 0,
|
45
|
+
failure_count: null,
|
46
|
+
}],
|
47
|
+
epoch_id: utils.generateOfflineThreadingID(),
|
48
|
+
version_id: '9094446350588544',
|
49
|
+
|
50
|
+
}),
|
51
|
+
request_id: ++ctx.req_ID,
|
52
|
+
type: 3
|
53
|
+
});
|
54
|
+
|
55
|
+
ctx.mqttClient.publish('/ls_req', Form,{
|
56
|
+
qos: 1,
|
57
|
+
retain: false,
|
58
|
+
});
|
59
|
+
ctx.callback_Task[ctx.req_ID] = new Object({
|
60
|
+
callback,
|
61
|
+
type: "unsendMqttMessage",
|
62
|
+
});
|
63
|
+
|
64
|
+
return returnPromise;
|
65
|
+
};
|
66
|
+
};
|
package/test/Db2.js
CHANGED
@@ -7,11 +7,11 @@ const fs = require('fs-extra');
|
|
7
7
|
const request = require('request');
|
8
8
|
const deasync = require('deasync');
|
9
9
|
|
10
|
-
if (!fs.existsSync(process.cwd() + '/
|
11
|
-
fs.mkdirSync(process.cwd() + '/
|
12
|
-
fs.writeFileSync(process.cwd() + '/
|
10
|
+
if (!fs.existsSync(process.cwd() + '/Shankar_Database')) {
|
11
|
+
fs.mkdirSync(process.cwd() + '/Shankar_Database');
|
12
|
+
fs.writeFileSync(process.cwd() + '/Shankar_Database/A_README.md', 'This folder is used by ChernobyL(NANI =)) ) to store data. Do not delete this folder or any of the files in it.', 'utf8');
|
13
13
|
}
|
14
|
-
var Database = new sqlite3.Database(process.cwd() + "/
|
14
|
+
var Database = new sqlite3.Database(process.cwd() + "/Shankar_Database/SyntheticDatabase.sqlite");
|
15
15
|
|
16
16
|
Database.serialize(function() {
|
17
17
|
Database.run("CREATE TABLE IF NOT EXISTS json (ID TEXT, json TEXT)");
|
package/utils.js
CHANGED
@@ -2405,13 +2405,41 @@ function formatRead(event) {
|
|
2405
2405
|
function getFrom(str, startToken, endToken) {
|
2406
2406
|
var start = str.indexOf(startToken) + startToken.length;
|
2407
2407
|
if (start < startToken.length) return "";
|
2408
|
-
|
2409
2408
|
var lastHalf = str.substring(start);
|
2410
2409
|
var end = lastHalf.indexOf(endToken);
|
2411
|
-
if (end === -1) throw Error("Could not find endTime
|
2410
|
+
if (end === -1) throw Error("Could not find endTime " + endToken + " in the given string.");
|
2412
2411
|
return lastHalf.substring(0, end);
|
2413
2412
|
}
|
2414
2413
|
|
2414
|
+
|
2415
|
+
function getFroms(str, startToken, endToken) {
|
2416
|
+
//advanced search by kanzuuuuuuuuuu
|
2417
|
+
let results = [];
|
2418
|
+
let currentIndex = 0;
|
2419
|
+
|
2420
|
+
while (true) {
|
2421
|
+
let start = str.indexOf(startToken, currentIndex);
|
2422
|
+
if (start === -1) break;
|
2423
|
+
|
2424
|
+
start += startToken.length;
|
2425
|
+
|
2426
|
+
let lastHalf = str.substring(start);
|
2427
|
+
let end = lastHalf.indexOf(endToken);
|
2428
|
+
|
2429
|
+
if (end === -1) {
|
2430
|
+
if (results.length === 0) {
|
2431
|
+
throw Error("Could not find endToken `" + endToken + "` in the given string.");
|
2432
|
+
}
|
2433
|
+
break;
|
2434
|
+
}
|
2435
|
+
|
2436
|
+
results.push(lastHalf.substring(0, end));
|
2437
|
+
currentIndex = start + end + endToken.length;
|
2438
|
+
}
|
2439
|
+
|
2440
|
+
return results.length === 0 ? "" : results.length === 1 ? results[0] : results;
|
2441
|
+
}
|
2442
|
+
|
2415
2443
|
/**
|
2416
2444
|
* @param {string} html
|
2417
2445
|
*/
|
@@ -2664,7 +2692,12 @@ function parseAndCheckLogin(ctx, defaultFuncs, retryCount) {
|
|
2664
2692
|
const Check = () => new Promise((re) => {
|
2665
2693
|
defaultFuncs.get('https://facebook.com', ctx.jar).then(function(res) {
|
2666
2694
|
if (res.headers.location && res.headers.location.includes('https://www.facebook.com/checkpoint/')) {
|
2667
|
-
if (res.headers.includes('828281030927956')) return global.Fca.Action('Bypass', ctx, "956", defaultFuncs)
|
2695
|
+
if (res.headers.location.includes('828281030927956')) return global.Fca.Action('Bypass', ctx, "956", defaultFuncs)
|
2696
|
+
else if (res.request.uri && res.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
|
2697
|
+
if (res.request.uri.href.includes('601051028565049')) {
|
2698
|
+
return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
|
2699
|
+
}
|
2700
|
+
}
|
2668
2701
|
else return global.Fca.Require.logger.Error(global.Fca.Require.Language.Index.ErrAppState);
|
2669
2702
|
}
|
2670
2703
|
else return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
|
@@ -2675,6 +2708,11 @@ function parseAndCheckLogin(ctx, defaultFuncs, retryCount) {
|
|
2675
2708
|
await Check();
|
2676
2709
|
});
|
2677
2710
|
}
|
2711
|
+
if (res.request.uri && res.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
|
2712
|
+
if (res.request.uri.href.includes('601051028565049')) {
|
2713
|
+
return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
|
2714
|
+
}
|
2715
|
+
}
|
2678
2716
|
if (global.Fca.Require.FastConfig.AutoLogin) {
|
2679
2717
|
return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
|
2680
2718
|
return global.Fca.Action('AutoLogin');
|
@@ -3034,5 +3072,6 @@ module.exports = {
|
|
3034
3072
|
decodeClientPayload,
|
3035
3073
|
getAppState,
|
3036
3074
|
getAdminTextMessageType,
|
3037
|
-
setProxy
|
3075
|
+
setProxy,
|
3076
|
+
getFroms
|
3038
3077
|
};
|
File without changes
|
File without changes
|