fca-smart-shankar 18.9.2 → 19.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 +48 -48
- package/.cache/replit/env/latest.json +1 -1
- package/.config/configstore/update-notifier-npm.json +1 -1
- package/Extra/ExtraGetThread.js +21 -21
- package/Extra/Src/Change_Environment.js +3 -3
- package/Func/AcceptAgreement.js +1 -1
- package/LICENSE +21 -678
- package/Language/index.json +4 -10
- package/Main.js +28 -206
- package/README.md +1 -53
- package/broadcast.js +2 -2
- package/index.js +21 -21
- package/logger.js +7 -7
- package/package.json +13 -14
- package/src/listenMqtt.js +17 -37
- package/src/unsendMessage.js +20 -28
- package/utils.js +7 -12
- package/.cache/typescript/5.5/package.json +0 -1
- package/Extra/Balancer.js +0 -49
- package/src/unsendMqttMessage.js +0 -66
- /package/test/{Shankar_Database → Horizon_Database}/A_README.md +0 -0
- /package/test/{Shankar_Database → Horizon_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
|
3
|
+
"version": "19.0.0",
|
4
|
+
"description": "Facebook-chat-api protect and deploy by Shankar Suman",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
7
7
|
"test": "mocha"
|
8
8
|
},
|
9
|
-
"author": "
|
9
|
+
"author": "Avery, David, Maude, Benjamin, UIRI, KanzuWakazaki",
|
10
10
|
"license": "MIT",
|
11
11
|
"bugs": {
|
12
|
-
"url": "https://github.com/SHANKAR-PROJECT/
|
12
|
+
"url": "https://github.com/SHANKAR-PROJECT/issues"
|
13
13
|
},
|
14
|
-
"homepage": "https://github.com/SHANKAR-PROJECT
|
14
|
+
"homepage": "https://github.com/SHANKAR-PROJECT#readme",
|
15
15
|
"repository": {
|
16
16
|
"type": "git",
|
17
|
-
"url": "https://github.com/SHANKAR-PROJECT
|
17
|
+
"url": "https://github.com/SHANKAR-PROJECT"
|
18
18
|
},
|
19
19
|
"dependencies": {
|
20
20
|
"aes-js": "latest",
|
@@ -23,15 +23,13 @@
|
|
23
23
|
"better-sqlite3": "7.6.2",
|
24
24
|
"bluebird": "latest",
|
25
25
|
"chalk": "4.1.2",
|
26
|
-
"cheerio": "
|
26
|
+
"cheerio": "latest",
|
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",
|
33
32
|
"file-url": "^3.0.0",
|
34
|
-
"fs-extra": "^11.2.0",
|
35
33
|
"got": "^11.8.6",
|
36
34
|
"https-proxy-agent": "latest",
|
37
35
|
"is-hexcolor": "^1.0.0",
|
@@ -46,11 +44,12 @@
|
|
46
44
|
"readline": "latest",
|
47
45
|
"request": "latest",
|
48
46
|
"speakeasy": "latest",
|
49
|
-
"
|
50
|
-
"totp-generator": "^0.0.14",
|
47
|
+
"totp-generator": "latest",
|
51
48
|
"tough-cookie": "^4.1.2",
|
52
49
|
"uuid": "latest",
|
53
|
-
"ws": "^8.13.0"
|
50
|
+
"ws": "^8.13.0",
|
51
|
+
"sqlite3": "^5.0.2",
|
52
|
+
"figlet": "latest"
|
54
53
|
},
|
55
54
|
"engines": {
|
56
55
|
"node": ">=14.x"
|
@@ -87,9 +86,9 @@
|
|
87
86
|
}
|
88
87
|
},
|
89
88
|
"keywords": [
|
90
|
-
"Fca shankar",
|
91
|
-
"fca-smart-shankar",
|
92
89
|
"fca-shankar-bot",
|
90
|
+
"SHANKAR-PROJECT",
|
91
|
+
"fca-shankar",
|
93
92
|
"shankar"
|
94
93
|
]
|
95
94
|
}
|
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 || 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36',
|
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: 60 * 1000,
|
214
214
|
logLevel: 'warn',
|
215
215
|
logFile: path.join(process.cwd(), 'Horizon_Database' ,'memory.log'),
|
216
216
|
smartReleaseEnabled: true,
|
@@ -558,27 +558,22 @@ 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
|
-
|
563
|
-
try {
|
564
|
-
mercury = JSON.parse(att.mercuryJSON);
|
561
|
+
.map((att) => {
|
562
|
+
const mercury = JSON.parse(att.mercuryJSON);
|
565
563
|
Object.assign(att, mercury);
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
x
|
578
|
-
|
579
|
-
}
|
580
|
-
return x;
|
581
|
-
}),
|
564
|
+
return att;
|
565
|
+
})
|
566
|
+
.map((att) => {
|
567
|
+
let x;
|
568
|
+
try {
|
569
|
+
x = utils._formatAttachment(att);
|
570
|
+
} catch (ex) {
|
571
|
+
x = att;
|
572
|
+
x.error = ex;
|
573
|
+
x.type = 'unknown';
|
574
|
+
}
|
575
|
+
return x;
|
576
|
+
}),
|
582
577
|
args: (delta.deltaMessageReply.repliedToMessage.body || '').trim().split(/\s+/),
|
583
578
|
body: delta.deltaMessageReply.repliedToMessage.body || '',
|
584
579
|
isGroup: !!delta.deltaMessageReply.repliedToMessage.messageMetadata.threadKey.threadFbId,
|
@@ -848,23 +843,13 @@ function markDelivery(ctx, api, threadID, messageID) {
|
|
848
843
|
|
849
844
|
module.exports = function(defaultFuncs, api, ctx) {
|
850
845
|
var globalCallback = identity;
|
851
|
-
var okeoke;
|
852
846
|
getSeqID = function getSeqID() {
|
853
847
|
ctx.t_mqttCalled = false;
|
854
848
|
defaultFuncs
|
855
849
|
.post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
|
856
|
-
.then(res => {
|
857
|
-
okeoke = res;
|
858
|
-
return res;
|
859
|
-
})
|
860
850
|
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
861
851
|
.then((resData) => {
|
862
852
|
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
|
-
}
|
868
853
|
if (global.Fca.Require.FastConfig.AutoLogin) {
|
869
854
|
return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
|
870
855
|
return global.Fca.Action('AutoLogin');
|
@@ -890,11 +875,6 @@ module.exports = function(defaultFuncs, api, ctx) {
|
|
890
875
|
})
|
891
876
|
.catch((err) => {
|
892
877
|
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
|
-
}
|
898
878
|
if (utils.getType(err) == "Object" && err.error === global.Fca.Require.Language.Index.ErrAppState) ctx.loggedIn = false;
|
899
879
|
return globalCallback(err);
|
900
880
|
});
|
package/src/unsendMessage.js
CHANGED
@@ -1,20 +1,17 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
const Balancer = require('../Extra/Balancer.js');
|
4
3
|
var utils = require("../utils");
|
5
4
|
var log = require("npmlog");
|
6
5
|
|
7
6
|
module.exports = function (defaultFuncs, api, ctx) {
|
8
|
-
|
9
|
-
|
10
|
-
function unsendMessage(messageID, threadID, callback) {
|
7
|
+
return function unsendMessage(messageID, callback) {
|
11
8
|
var resolveFunc = function () { };
|
12
9
|
var rejectFunc = function () { };
|
13
10
|
var returnPromise = new Promise(function (resolve, reject) {
|
14
11
|
resolveFunc = resolve;
|
15
12
|
rejectFunc = reject;
|
16
13
|
});
|
17
|
-
|
14
|
+
|
18
15
|
if (!callback) {
|
19
16
|
callback = function (err, friendList) {
|
20
17
|
if (err) return rejectFunc(err);
|
@@ -22,27 +19,22 @@ module.exports = function (defaultFuncs, api, ctx) {
|
|
22
19
|
};
|
23
20
|
}
|
24
21
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
defaultFuncs
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
return callback(err);
|
41
|
-
});
|
42
|
-
|
43
|
-
return returnPromise;
|
44
|
-
}
|
45
|
-
}
|
22
|
+
var form = {
|
23
|
+
message_id: messageID
|
24
|
+
};
|
25
|
+
|
26
|
+
defaultFuncs
|
27
|
+
.post("https://www.facebook.com/messaging/unsend_message/", ctx.jar, form)
|
28
|
+
.then(utils.parseAndCheckLogin(ctx, defaultFuncs))
|
29
|
+
.then(function (resData) {
|
30
|
+
if (resData.error) throw resData;
|
31
|
+
return callback();
|
32
|
+
})
|
33
|
+
.catch(function (err) {
|
34
|
+
log.error("unsendMessage", err);
|
35
|
+
return callback(err);
|
36
|
+
});
|
46
37
|
|
47
|
-
|
48
|
-
};
|
38
|
+
return returnPromise;
|
39
|
+
};
|
40
|
+
};
|
package/utils.js
CHANGED
@@ -1,8 +1,3 @@
|
|
1
|
-
// @ts-nocheck
|
2
|
-
/* eslint-disable no-undef */
|
3
|
-
|
4
|
-
/* eslint-disable no-prototype-builtins */
|
5
|
-
|
6
1
|
"use strict";
|
7
2
|
var url = require("url");
|
8
3
|
var log = require("npmlog");
|
@@ -2687,7 +2682,7 @@ function parseAndCheckLogin(ctx, defaultFuncs, retryCount) {
|
|
2687
2682
|
}
|
2688
2683
|
|
2689
2684
|
if (res.error === 1357001) {
|
2690
|
-
if (global.Fca.Require.
|
2685
|
+
if (global.Fca.Require.Priyansh.AutoLogin && global.Fca.Require.Priyansh.CheckPointBypass['956'].Allow) {
|
2691
2686
|
return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.Bypass_956, async function() {
|
2692
2687
|
const Check = () => new Promise((re) => {
|
2693
2688
|
defaultFuncs.get('https://facebook.com', ctx.jar).then(function(res) {
|
@@ -2713,12 +2708,12 @@ function parseAndCheckLogin(ctx, defaultFuncs, retryCount) {
|
|
2713
2708
|
return global.Fca.BypassAutomationNotification(undefined, ctx.jar, ctx.globalOptions, undefined ,process.env.UID)
|
2714
2709
|
}
|
2715
2710
|
}
|
2716
|
-
if (global.Fca.Require.
|
2711
|
+
if (global.Fca.Require.Priyansh.AutoLogin) {
|
2717
2712
|
return global.Fca.Require.logger.Warning(global.Fca.Require.Language.Index.AutoLogin, function() {
|
2718
2713
|
return global.Fca.Action('AutoLogin');
|
2719
2714
|
});
|
2720
2715
|
}
|
2721
|
-
else if (!global.Fca.Require.
|
2716
|
+
else if (!global.Fca.Require.Priyansh.AutoLogin) {
|
2722
2717
|
return global.Fca.Require.logger.Error(global.Fca.Require.Language.Index.ErrAppState);
|
2723
2718
|
}
|
2724
2719
|
return;
|
@@ -2921,9 +2916,9 @@ function getAppState(jar, Encode) {
|
|
2921
2916
|
var Security = require("./Extra/Security/Base");
|
2922
2917
|
var appstate = jar.getCookies("https://www.facebook.com").concat(jar.getCookies("https://facebook.com")).concat(jar.getCookies("https://www.messenger.com"));
|
2923
2918
|
var logger = require('./logger'),languageFile = require('./Language/index.json');
|
2924
|
-
var Language = languageFile.find(i => i.Language == globalThis.Fca.Require.
|
2919
|
+
var Language = languageFile.find(i => i.Language == globalThis.Fca.Require.Priyansh.Language).Folder.Index;
|
2925
2920
|
var data;
|
2926
|
-
switch (require(process.cwd() + "/
|
2921
|
+
switch (require(process.cwd() + "/PriyanshFca.json").EncryptFeature) {
|
2927
2922
|
case true: {
|
2928
2923
|
if (Encode == undefined) Encode = true;
|
2929
2924
|
if (process.env['FBKEY'] != undefined && Encode) {
|
@@ -2938,7 +2933,7 @@ function getAppState(jar, Encode) {
|
|
2938
2933
|
}
|
2939
2934
|
break;
|
2940
2935
|
default: {
|
2941
|
-
logger.Normal(getText(Language.IsNotABoolean,require(process.cwd() + "/
|
2936
|
+
logger.Normal(getText(Language.IsNotABoolean,require(process.cwd() + "/PriyanshFca.json").EncryptFeature));
|
2942
2937
|
data = appstate;
|
2943
2938
|
}
|
2944
2939
|
}
|
@@ -3074,4 +3069,4 @@ module.exports = {
|
|
3074
3069
|
getAdminTextMessageType,
|
3075
3070
|
setProxy,
|
3076
3071
|
getFroms
|
3077
|
-
};
|
3072
|
+
};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"private":true,"dependencies":{"types-registry":"^0.1.696"},"devDependencies":{"@types/aes-js":"^3.1.4","@types/assert":"^1.5.11","@types/better-sqlite3":"^7.6.12","@types/bluebird":"^3.5.42","@types/cheerio":"^0.22.35","@types/crypto-js":"^4.2.2","@types/deasync":"^0.1.5","@types/duplexify":"^3.6.4","@types/express":"^5.0.0","@types/figlet":"^1.7.0","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.13","@types/memwatch-next":"^0.3.6","@types/mocha":"^10.0.10","@types/node":"^22.10.0","@types/npmlog":"^7.0.0","@types/readable-stream":"^4.0.18","@types/request":"^2.48.12","@types/speakeasy":"^2.0.10","@types/sqlite3":"^3.1.11","@types/totp-generator":"^0.0.8","@types/uuid":"^10.0.0","@types/ws":"^8.5.13"}}
|
package/Extra/Balancer.js
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
class APILoadBalancer {
|
2
|
-
constructor(Api1,Api2 ,preferredRatio = 0.85, forceType2) {
|
3
|
-
this.Api1 = Api1;
|
4
|
-
this.Api2 = Api2;
|
5
|
-
this.preferredRatio = preferredRatio;
|
6
|
-
this.totalRequests = 0;
|
7
|
-
this.api2Requests = 0;
|
8
|
-
}
|
9
|
-
|
10
|
-
async makeRequest(requestData) {
|
11
|
-
try {
|
12
|
-
this.totalRequests++;
|
13
|
-
const currentRatio = this.api2Requests / this.totalRequests;
|
14
|
-
|
15
|
-
if (currentRatio < this.preferredRatio) {
|
16
|
-
this.api2Requests++;
|
17
|
-
return await this.Api2(...requestData)
|
18
|
-
} else {
|
19
|
-
return await this.Api1(...requestData);
|
20
|
-
}
|
21
|
-
} catch (error) {
|
22
|
-
return await this.fallbackRequest(requestData);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
|
26
|
-
async fallbackRequest(requestData) {
|
27
|
-
try {
|
28
|
-
if (this.api2Requests / this.totalRequests >= this.preferredRatio) {
|
29
|
-
this.api2Requests++;
|
30
|
-
return await this.Api2(...requestData);
|
31
|
-
} else {
|
32
|
-
return await this.Api1(...requestData);
|
33
|
-
}
|
34
|
-
} catch (error) {
|
35
|
-
throw new Error('Balancer Error, contact fb.com/Shankar.Suman');
|
36
|
-
}
|
37
|
-
}
|
38
|
-
|
39
|
-
getStats() {
|
40
|
-
return {
|
41
|
-
totalRequests: this.totalRequests,
|
42
|
-
api2Requests: this.api2Requests,
|
43
|
-
api1Requests: this.totalRequests - this.api2Requests,
|
44
|
-
currentRatio: (this.api2Requests / this.totalRequests) * 100
|
45
|
-
};
|
46
|
-
}
|
47
|
-
}
|
48
|
-
|
49
|
-
module.exports = APILoadBalancer;
|
package/src/unsendMqttMessage.js
DELETED
@@ -1,66 +0,0 @@
|
|
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
|
-
};
|
File without changes
|
File without changes
|