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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fca-smart-shankar",
3
- "version": "1.5.6",
4
- "description": "THIS BOT IS MADE BY SHANKAR",
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.git",
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/FCA-SMART-SHANKAR.git"
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": "latest",
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
- "totp-generator": "latest",
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
- "FCA-SMART-SHANKAR"
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 || 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36',
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: 60 * 1000,
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
- .map((att) => {
562
- const mercury = JSON.parse(att.mercuryJSON);
561
+ .map((att) => {
562
+ let mercury;
563
+ try {
564
+ mercury = JSON.parse(att.mercuryJSON);
563
565
  Object.assign(att, mercury);
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
- }),
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
  });
@@ -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
- return function unsendMessage(messageID, callback) {
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
- 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
- });
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
- return returnPromise;
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() + '/Horizon_Database')) {
11
- fs.mkdirSync(process.cwd() + '/Horizon_Database');
12
- fs.writeFileSync(process.cwd() + '/Horizon_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');
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() + "/Horizon_Database/SyntheticDatabase.sqlite");
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 `" + endToken + "` in the given string.");
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
  };