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/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "fca-smart-shankar",
3
- "version": "18.9.2",
4
- "description": "Facebook-chat-api protect and deploy by Smart Shankar",
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": "SMART SHANKAR",
9
+ "author": "Avery, David, Maude, Benjamin, UIRI, KanzuWakazaki",
10
10
  "license": "MIT",
11
11
  "bugs": {
12
- "url": "https://github.com/SHANKAR-PROJECT/fca-smart-shankar/issues"
12
+ "url": "https://github.com/SHANKAR-PROJECT/issues"
13
13
  },
14
- "homepage": "https://github.com/SHANKAR-PROJECT/fca-smart-shankar#readme",
14
+ "homepage": "https://github.com/SHANKAR-PROJECT#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"
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": "1.0.0-rc.12",
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
- "sqlite3": "^5.0.2",
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: 300 * 1000,
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
- .map((att) => {
562
- let mercury;
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
- } 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
- }),
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
  });
@@ -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
- //const BalancerInstance = new Balancer(api.unsendMessage, unsendMessage, 0.85);
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
- 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
- }
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
- return unsendMessage;
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.FastConfig.AutoLogin && global.Fca.Require.FastConfig.CheckPointBypass['956'].Allow) {
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.FastConfig.AutoLogin) {
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.FastConfig.AutoLogin) {
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.FastConfig.Language).Folder.Index;
2919
+ var Language = languageFile.find(i => i.Language == globalThis.Fca.Require.Priyansh.Language).Folder.Index;
2925
2920
  var data;
2926
- switch (require(process.cwd() + "/FastConfigFca.json").EncryptFeature) {
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() + "/FastConfigFca.json").EncryptFeature));
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;
@@ -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
- };