fca-smart-shankar 19.0.0 → 20.0.0
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 +45 -45
- package/.cache/replit/env/latest.json +1 -1
- package/.cache/typescript/5.5/package.json +1 -0
- package/.config/configstore/update-notifier-npm.json +1 -1
- package/.upm/store.json +1 -0
- package/Extra/Balancer.js +49 -0
- package/LICENSE +678 -21
- package/Language/index.json +10 -4
- package/Main.js +206 -28
- package/README.md +53 -1
- package/broadcast.js +1 -1
- package/index.js +21 -21
- package/logger.js +7 -7
- package/package.json +14 -13
- package/src/listenMqtt.js +37 -17
- package/src/unsendMessage.js +28 -20
- package/src/unsendMqttMessage.js +66 -0
- package/utils.js +12 -7
- /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,20 +1,20 @@
|
|
1
1
|
{
|
2
2
|
"name": "fca-smart-shankar",
|
3
|
-
"version": "
|
4
|
-
"description": "Facebook-chat-api protect and deploy by Shankar
|
3
|
+
"version": "20.0.0",
|
4
|
+
"description": "Facebook-chat-api protect and deploy by Smart Shankar",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
7
7
|
"test": "mocha"
|
8
8
|
},
|
9
|
-
"author": "
|
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#readme",
|
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,9 +87,9 @@
|
|
86
87
|
}
|
87
88
|
},
|
88
89
|
"keywords": [
|
90
|
+
"Fca shankar",
|
91
|
+
"fca-smart-shankar",
|
89
92
|
"fca-shankar-bot",
|
90
|
-
"SHANKAR-PROJECT",
|
91
|
-
"fca-shankar",
|
92
93
|
"shankar"
|
93
94
|
]
|
94
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/utils.js
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
// @ts-nocheck
|
2
|
+
/* eslint-disable no-undef */
|
3
|
+
|
4
|
+
/* eslint-disable no-prototype-builtins */
|
5
|
+
|
1
6
|
"use strict";
|
2
7
|
var url = require("url");
|
3
8
|
var log = require("npmlog");
|
@@ -2682,7 +2687,7 @@ function parseAndCheckLogin(ctx, defaultFuncs, retryCount) {
|
|
2682
2687
|
}
|
2683
2688
|
|
2684
2689
|
if (res.error === 1357001) {
|
2685
|
-
if (global.Fca.Require.
|
2690
|
+
if (global.Fca.Require.FastConfig.AutoLogin && global.Fca.Require.FastConfig.CheckPointBypass['956'].Allow) {
|
2686
2691
|
return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.Bypass_956, async function() {
|
2687
2692
|
const Check = () => new Promise((re) => {
|
2688
2693
|
defaultFuncs.get('https://facebook.com', ctx.jar).then(function(res) {
|
@@ -2708,12 +2713,12 @@ function parseAndCheckLogin(ctx, defaultFuncs, retryCount) {
|
|
2708
2713
|
return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
|
2709
2714
|
}
|
2710
2715
|
}
|
2711
|
-
if (global.Fca.Require.
|
2716
|
+
if (global.Fca.Require.FastConfig.AutoLogin) {
|
2712
2717
|
return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
|
2713
2718
|
return global.Fca.Action('AutoLogin');
|
2714
2719
|
});
|
2715
2720
|
}
|
2716
|
-
else if (!global.Fca.Require.
|
2721
|
+
else if (!global.Fca.Require.FastConfig.AutoLogin) {
|
2717
2722
|
return global.Fca.Require.logger.Error(global.Fca.Require.Language.Index.ErrAppState);
|
2718
2723
|
}
|
2719
2724
|
return;
|
@@ -2916,9 +2921,9 @@ function getAppState(jar, Encode) {
|
|
2916
2921
|
var Security = require("./Extra/Security/Base");
|
2917
2922
|
var appstate = jar.getCookies("https://www.facebook.com").concat(jar.getCookies("https://facebook.com")).concat(jar.getCookies("https://www.messenger.com"));
|
2918
2923
|
var logger = require('./logger'),languageFile = require('./Language/index.json');
|
2919
|
-
var Language = languageFile.find(i => i.Language == globalThis.Fca.Require.
|
2924
|
+
var Language = languageFile.find(i => i.Language == globalThis.Fca.Require.FastConfig.Language).Folder.Index;
|
2920
2925
|
var data;
|
2921
|
-
switch (require(process.cwd() + "/
|
2926
|
+
switch (require(process.cwd() + "/FastConfigFca.json").EncryptFeature) {
|
2922
2927
|
case true: {
|
2923
2928
|
if (Encode == undefined) Encode = true;
|
2924
2929
|
if (process.env['FBKEY'] != undefined && Encode) {
|
@@ -2933,7 +2938,7 @@ function getAppState(jar, Encode) {
|
|
2933
2938
|
}
|
2934
2939
|
break;
|
2935
2940
|
default: {
|
2936
|
-
logger.Normal(getText(Language.IsNotABoolean,require(process.cwd() + "/
|
2941
|
+
logger.Normal(getText(Language.IsNotABoolean,require(process.cwd() + "/FastConfigFca.json").EncryptFeature));
|
2937
2942
|
data = appstate;
|
2938
2943
|
}
|
2939
2944
|
}
|
@@ -3069,4 +3074,4 @@ module.exports = {
|
|
3069
3074
|
getAdminTextMessageType,
|
3070
3075
|
setProxy,
|
3071
3076
|
getFroms
|
3072
|
-
};
|
3077
|
+
};
|
File without changes
|
File without changes
|