fca-arif-babu 1.0.21 → 8.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/Extra/Balancer.js +49 -0
- package/Extra/Bypass/956/index.js +234 -0
- package/Extra/Bypass/test/aaaa.json +169 -0
- package/Extra/Bypass/test/index.js +188 -0
- package/Extra/Database/index.js +469 -0
- package/Extra/ExtraAddons.js +82 -0
- package/Extra/ExtraFindUID.js +62 -0
- package/Extra/ExtraGetThread.js +365 -0
- package/Extra/ExtraScreenShot.js +430 -0
- package/Extra/ExtraUptimeRobot.js +38 -0
- package/Extra/Html/Classic/script.js +119 -0
- package/Extra/Html/Classic/style.css +8 -0
- package/Extra/Security/AES_256_GCM/index.js +1 -0
- package/Extra/Security/Base/Step_1.js +6 -0
- package/Extra/Security/Base/Step_2.js +22 -0
- package/Extra/Security/Base/Step_3.js +22 -0
- package/Extra/Security/Base/index.js +191 -0
- package/Extra/Security/Step_1.js +6 -0
- package/Extra/Security/Step_2.js +22 -0
- package/Extra/Security/Step_3.js +22 -0
- package/Extra/Security/index.js +5 -0
- package/Extra/Src/Change_Environment.js +24 -0
- package/Extra/Src/Check_Update.js +67 -0
- package/Extra/Src/History.js +115 -0
- package/Extra/Src/Instant_Update.js +65 -0
- package/Extra/Src/Last-Run.js +65 -0
- package/Extra/Src/Premium.js +81 -0
- package/Extra/Src/Release_Memory.js +160 -0
- package/Extra/Src/Websocket.js +213 -0
- package/Extra/Src/image/62518eafb0670b697788ce4f9a4f71d1.jpg +0 -0
- package/Extra/Src/test.js +28 -0
- package/Extra/Src/uuid.js +137 -0
- package/Func/AcceptAgreement.js +31 -0
- package/Func/ClearCache.js +64 -0
- package/Func/ReportV1.js +54 -0
- package/{LICENSE-MIT → LICENSE.txt} +6 -6
- package/Language/index.json +228 -0
- package/Main.js +1290 -0
- package/README.md +8 -6
- package/SECURITY.md +17 -0
- package/broadcast.js +44 -0
- package/index.js +424 -465
- package/logger.js +66 -0
- package/package.json +91 -42
- package/src/Dev_Horizon_Data.js +125 -0
- package/src/Dev_getThreadInfoOLD.js +422 -0
- package/src/Dev_shareTest2.js +68 -0
- package/src/Dev_shareTest3.js +71 -0
- package/src/Premium.js +25 -0
- package/src/Screenshot.js +83 -0
- package/src/addExternalModule.js +5 -14
- package/src/addUserToGroup.js +21 -57
- package/src/changeAdminStatus.js +22 -46
- package/src/changeArchivedStatus.js +12 -26
- package/src/{changeAvatarV2.js → changeAvt.js} +2 -3
- package/src/changeBio.js +15 -26
- package/src/changeBlockedStatus.js +9 -22
- package/src/changeGroupImage.js +26 -55
- package/src/changeNickname.js +14 -28
- package/src/changeThreadColor.js +19 -22
- package/src/changeThreadEmoji.js +12 -25
- package/src/createNewGroup.js +18 -36
- package/src/createPoll.js +17 -28
- package/src/deleteMessage.js +14 -25
- package/src/deleteThread.js +13 -26
- package/src/editMessage.js +50 -56
- package/src/forwardAttachment.js +16 -28
- package/src/getAccessToken.js +28 -0
- package/src/getCurrentUserID.js +3 -3
- package/src/getEmojiUrl.js +8 -10
- package/src/getFriendsList.js +15 -25
- package/src/getMessage.js +81 -813
- package/src/getThreadHistory.js +98 -241
- package/src/getThreadInfo.js +286 -89
- package/src/getThreadInfoOLD.js +422 -0
- package/src/getThreadList.js +158 -215
- package/src/getThreadMain.js +220 -0
- package/src/getThreadPictures.js +20 -40
- package/src/getUID.js +49 -112
- package/src/getUserID.js +14 -18
- package/src/getUserInfo.js +75 -34
- package/src/getUserInfoMain.js +65 -0
- package/src/getUserInfoV2.js +32 -0
- package/src/getUserInfoV3.js +63 -0
- package/src/getUserInfoV4.js +55 -0
- package/src/getUserInfoV5.js +61 -0
- package/src/handleFriendRequest.js +14 -25
- package/src/handleMessageRequest.js +21 -37
- package/src/httpGet.js +22 -37
- package/src/httpPost.js +20 -36
- package/src/httpPostFormData.js +23 -52
- package/src/listenMqtt.js +667 -414
- package/src/listenMqttV1.js +846 -0
- package/src/logout.js +17 -24
- package/src/markAsDelivered.js +16 -23
- package/src/markAsRead.js +28 -43
- package/src/markAsReadAll.js +14 -21
- package/src/markAsSeen.js +19 -29
- package/src/muteThread.js +13 -18
- package/src/removeUserFromGroup.js +18 -48
- package/src/resolvePhotoUrl.js +14 -22
- package/src/searchForThread.js +13 -23
- package/src/sendMessage.js +125 -181
- package/src/sendMqttMessage.js +71 -0
- package/src/sendTypingIndicator.js +80 -28
- package/src/setMessageReaction.js +20 -33
- package/src/setPostReaction.js +95 -105
- package/src/setTitle.js +19 -35
- package/src/shareContact.js +37 -92
- package/src/shareLink.js +5 -6
- package/src/threadColors.js +17 -109
- package/src/unfriend.js +11 -20
- package/src/unsendMessage.js +33 -30
- package/src/unsendMqttMessage.js +66 -0
- package/test/data/shareAttach.js +146 -0
- package/test/data/something.mov +1 -0
- package/test/data/test.png +1 -0
- package/test/data/test.txt +1 -0
- package/test/env/.env +1 -0
- package/test/example-config.json +18 -0
- package/test/test-page.js +140 -0
- package/test/test.js +385 -0
- package/test/testv2.js +3 -0
- package/utils.js +2908 -1247
- package/replit.nix +0 -3
- package/src/changeAvatar.js +0 -136
- package/src/changeBlockedStatusMqtt.js +0 -80
- package/src/changeCover.js +0 -72
- package/src/changeName.js +0 -78
- package/src/changeUsername.js +0 -58
- package/src/createCommentPost.js +0 -229
- package/src/createPost.js +0 -275
- package/src/data/getThreadInfo.json +0 -1
- package/src/editMessageOld.js +0 -67
- package/src/follow.js +0 -74
- package/src/getAccess.js +0 -112
- package/src/getAvatarUser.js +0 -78
- package/src/getBotInitialData.js +0 -42
- package/src/getRegion.js +0 -7
- package/src/getThreadHistoryDeprecated.js +0 -93
- package/src/getThreadInfoDeprecated.js +0 -80
- package/src/getThreadListDeprecated.js +0 -75
- package/src/listenNotification.js +0 -85
- package/src/pinMessage.js +0 -59
- package/src/refreshFb_dtsg.js +0 -89
- package/src/searchStickers.js +0 -53
- package/src/sendMessageMqtt.js +0 -316
- package/src/setMessageReactionMqtt.js +0 -62
- package/src/setProfileGuard.js +0 -44
- package/src/setStoryReaction.js +0 -64
- package/src/stopListenMqtt.js +0 -23
- package/src/uploadAttachment.js +0 -94
package/index.js
CHANGED
@@ -1,489 +1,448 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const utils = require(
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
1
|
+
'use strict';
|
2
|
+
/* eslint-disable linebreak-style */
|
3
|
+
const utils = require('./utils');
|
4
|
+
global.Fca = new Object({
|
5
|
+
isThread: new Array(),
|
6
|
+
isUser: new Array(),
|
7
|
+
startTime: Date.now(),
|
8
|
+
Setting: new Map(),
|
9
|
+
Version: require('./package.json').version,
|
10
|
+
Require: new Object({
|
11
|
+
fs: require("fs"),
|
12
|
+
Fetch: require('got'),
|
13
|
+
log: require("npmlog"),
|
14
|
+
utils: require("./utils.js"),
|
15
|
+
logger: require('./logger.js'),
|
16
|
+
languageFile: require('./Language/index.json'),
|
17
|
+
Security: require('./Extra/Src/uuid.js')
|
18
|
+
}),
|
19
|
+
getText: function(/** @type {any[]} */...Data) {
|
20
|
+
var Main = (Data.splice(0,1)).toString();
|
21
|
+
for (let i = 0; i < Data.length; i++) Main = Main.replace(RegExp(`%${i + 1}`, 'g'), Data[i]);
|
22
|
+
return Main;
|
23
|
+
},
|
24
|
+
Data: new Object({
|
25
|
+
ObjArif: {
|
26
|
+
"Language": "en",
|
27
|
+
"PreKey": "",
|
28
|
+
"AutoUpdate": true,
|
29
|
+
"MainColor": "#9900FF",
|
30
|
+
"MainName": "[ FCA-ARIF-PROJECT ]",
|
31
|
+
"Uptime": false,
|
32
|
+
"Config": "default",
|
33
|
+
"DevMode": false,
|
34
|
+
"Login2Fa": false,
|
35
|
+
"AutoLogin": false,
|
36
|
+
"BroadCast": true,
|
37
|
+
"AuthString": "SD4S XQ32 O2JA WXB3 FUX2 OPJ7 Q7JZ 4R6Z | https://i.imgur.com/RAg3rvw.png Please remove this !, Recommend If You Using getUserInfoV2",
|
38
|
+
"EncryptFeature": true,
|
39
|
+
"ResetDataLogin": false,
|
40
|
+
"AutoInstallNode": false,
|
41
|
+
"AntiSendAppState": true,
|
42
|
+
"AutoRestartMinutes": 0,
|
43
|
+
"RestartMQTT_Minutes": 0,
|
44
|
+
"Websocket_Extension": {
|
45
|
+
"Status": false,
|
46
|
+
"ResetData": false,
|
47
|
+
"AppState_Path": "appstate.json"
|
48
|
+
},
|
49
|
+
"HTML": {
|
50
|
+
"HTML": true,
|
51
|
+
"UserName": "Guest",
|
52
|
+
"MusicLink": "https://drive.google.com/uc?id=1zlAALlxk1TnO7jXtEP_O6yvemtzA2ukA&export=download"
|
53
|
+
},
|
54
|
+
"AntiGetInfo": {
|
55
|
+
"Database_Type": "default", //json or default
|
56
|
+
"AntiGetThreadInfo": true,
|
57
|
+
"AntiGetUserInfo": true
|
58
|
+
},
|
59
|
+
"Stable_Version": {
|
60
|
+
"Accept": false,
|
61
|
+
"Version": ""
|
62
|
+
},
|
63
|
+
"CheckPointBypass": {
|
64
|
+
"956": {
|
65
|
+
"Allow": false,
|
66
|
+
"Difficult": "Easy",
|
67
|
+
"Notification": "Turn on with AutoLogin!"
|
68
|
+
}
|
69
|
+
},
|
70
|
+
"AntiStuckAndMemoryLeak": {
|
71
|
+
"AutoRestart": {
|
72
|
+
"Use": true,
|
73
|
+
"Explain": "When this feature is turned on, the system will continuously check and confirm that if memory usage reaches 90%, it will automatically restart to avoid freezing or stopping."
|
74
|
+
},
|
75
|
+
"LogFile": {
|
76
|
+
"Use": false,
|
77
|
+
"Explain": "Record memory usage logs to fix errors. Default location: Horizon_Database/memory.logs"
|
78
|
+
}
|
79
|
+
}
|
80
|
+
},
|
81
|
+
CountTime: function() {
|
82
|
+
var fs = global.Fca.Require.fs;
|
83
|
+
if (fs.existsSync(__dirname + '/CountTime.json')) {
|
84
|
+
try {
|
85
|
+
var data = Number(fs.readFileSync(__dirname + '/CountTime.json', 'utf8')),
|
86
|
+
hours = Math.floor(data / (60 * 60));
|
87
|
+
}
|
88
|
+
catch (e) {
|
89
|
+
fs.writeFileSync(__dirname + '/CountTime.json', 0);
|
90
|
+
hours = 0;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
hours = 0;
|
95
|
+
}
|
96
|
+
return `${hours} Hours`;
|
58
97
|
}
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
98
|
+
}),
|
99
|
+
Action: async function(Type, ctx, Code, defaultFuncs) {
|
100
|
+
switch (Type) {
|
101
|
+
case "AutoLogin": {
|
102
|
+
var Database = require('./Extra/Database');
|
103
|
+
var logger = global.Fca.Require.logger;
|
104
|
+
var Email = (Database().get('Account')).replace(RegExp('"', 'g'), ''); //hmm IDK
|
105
|
+
var PassWord = (Database().get('Password')).replace(RegExp('"', 'g'), '');
|
106
|
+
require('./Main')({ email: Email, password: PassWord},async (error, api) => {
|
107
|
+
if (error) {
|
108
|
+
logger.Error(JSON.stringify(error,null,2), function() { logger.Error("AutoLogin Failed!", function() { process.exit(0); }) });
|
109
|
+
}
|
110
|
+
try {
|
111
|
+
Database().set("TempState", Database().get('Through2Fa'));
|
112
|
+
}
|
113
|
+
catch(e) {
|
114
|
+
logger.Warning(global.Fca.Require.Language.Index.ErrDatabase);
|
115
|
+
logger.Error();
|
116
|
+
process.exit(0);
|
117
|
+
}
|
118
|
+
process.exit(1);
|
119
|
+
});
|
120
|
+
}
|
121
|
+
break;
|
122
|
+
case "Bypass": {
|
123
|
+
const Bypass_Module = require(`./Extra/Bypass/${Code}`);
|
124
|
+
const logger = global.Fca.Require.logger;
|
125
|
+
switch (Code) {
|
126
|
+
case 956: {
|
127
|
+
async function P1() {
|
128
|
+
return new Promise((resolve, reject) => {
|
129
|
+
try {
|
130
|
+
utils.get('https://www.facebook.com/checkpoint/828281030927956/?next=https%3A%2F%2Faccountscenter.facebook.com%2Fpassword_and_security', ctx.jar, null, ctx.globalOptions).then(function(data) {
|
131
|
+
resolve(Bypass_Module.Check(data.body));
|
132
|
+
})
|
133
|
+
}
|
134
|
+
catch (error) {
|
135
|
+
reject(error);
|
136
|
+
}
|
137
|
+
})
|
138
|
+
}
|
139
|
+
try {
|
140
|
+
const test = await P1();
|
141
|
+
if (test != null && test != '' && test != undefined) {
|
142
|
+
const resp = await Bypass_Module.Cook_And_Work(ctx, defaultFuncs)
|
143
|
+
if (resp == true) return logger.Success("Bypassing 956 successfully!", function() { return process.exit(1); })
|
144
|
+
else return logger.Error("Bypass 956 failed ! DO YOUR SELF :>", function() { process.exit(0) });
|
145
|
+
}
|
146
|
+
}
|
147
|
+
catch (e) {
|
148
|
+
logger.Error("Bypass 956 failed ! DO YOUR SELF :>", function() { process.exit(0) })
|
149
|
+
}
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
break;
|
154
|
+
default: {
|
155
|
+
require('npmlog').Error("Invalid Message!");
|
156
|
+
};
|
72
157
|
}
|
73
|
-
break;
|
74
|
-
case 'bypassRegion':
|
75
|
-
globalOptions_from.bypassRegion = options.bypassRegion;
|
76
|
-
break;
|
77
|
-
default:
|
78
|
-
break;
|
79
158
|
}
|
80
|
-
|
81
|
-
globalOptions = globalOptions_from;
|
82
|
-
}
|
159
|
+
});
|
83
160
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
}
|
91
|
-
const fb_dtsg = utils.getFrom(res.body, '["DTSGInitData",[],{"token":"', '","');
|
92
|
-
const jazoest = utils.getFrom(res.body, 'jazoest=', '",');
|
93
|
-
if (fb_dtsg && jazoest) {
|
94
|
-
const filePath = 'fb_dtsg_data.json';
|
95
|
-
let existingData = {};
|
96
|
-
if (fs.existsSync(filePath)) {
|
97
|
-
const fileContent = fs.readFileSync(filePath, 'utf8');
|
98
|
-
existingData = JSON.parse(fileContent);
|
99
|
-
}
|
100
|
-
existingData[UID] = {
|
101
|
-
fb_dtsg,
|
102
|
-
jazoest
|
103
|
-
};
|
104
|
-
fs.writeFileSync(filePath, JSON.stringify(existingData, null, 2), 'utf8');
|
105
|
-
}
|
106
|
-
return res;
|
107
|
-
} catch (error) {
|
108
|
-
console.error('updateDTSG', `Error updating DTSG for user ${userId}: ${error.message}`);
|
109
|
-
return;
|
110
|
-
}
|
111
|
-
}
|
161
|
+
try {
|
162
|
+
let Boolean_Fca = ["AntiSendAppState","AutoUpdate","Uptime","BroadCast","EncryptFeature","AutoLogin","ResetDataLogin","Login2Fa", "DevMode","AutoInstallNode"];
|
163
|
+
let String_Fca = ["MainName","PreKey","Language","AuthString","Config"]
|
164
|
+
let Number_Fca = ["AutoRestartMinutes","RestartMQTT_Minutes"];
|
165
|
+
let Object_Fca = ["HTML","Stable_Version","AntiGetInfo","Websocket_Extension", "CheckPointBypass", "AntiStuckAndMemoryLeak"];
|
166
|
+
let All_Variable = Boolean_Fca.concat(String_Fca,Number_Fca,Object_Fca);
|
112
167
|
|
113
168
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
const appstateCUser = (appstate.find(i => i.key == 'c_user') || appstate.find(i => i.key == 'i_user'))
|
118
|
-
const UID = ID || appstateCUser.value;
|
119
|
-
const FormBypass = {
|
120
|
-
av: UID,
|
121
|
-
fb_api_caller_class: "RelayModern",
|
122
|
-
fb_api_req_friendly_name: "FBScrapingWarningMutation",
|
123
|
-
variables: JSON.stringify({}),
|
124
|
-
server_timestamps: true,
|
125
|
-
doc_id: 6339492849481770
|
169
|
+
if (!global.Fca.Require.fs.existsSync(process.cwd() + '/ArifFca.json')) {
|
170
|
+
global.Fca.Require.fs.writeFileSync(process.cwd() + "/ArifFca.json", JSON.stringify(global.Fca.Data.ObjArif, null, "\t"));
|
171
|
+
process.exit(1);
|
126
172
|
}
|
127
|
-
const kupal = () => {
|
128
|
-
console.warn("FCA-ARIF-BABU", `We suspect automated behavior on account ${UID}.`);
|
129
|
-
if (!isBehavior) isBehavior = true;
|
130
|
-
};
|
131
|
-
if (resp) {
|
132
|
-
if (resp.request.uri && resp.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
|
133
|
-
if (resp.request.uri.href.includes('601051028565049')) {
|
134
|
-
const fb_dtsg = utils.getFrom(resp.body, '["DTSGInitData",[],{"token":"', '","');
|
135
|
-
const jazoest = utils.getFrom(resp.body, 'jazoest=', '",');
|
136
|
-
const lsd = utils.getFrom(resp.body, "[\"LSD\",[],{\"token\":\"", "\"}");
|
137
|
-
return utils.post("https://www.facebook.com/api/graphql/", jar, {
|
138
|
-
...FormBypass,
|
139
|
-
fb_dtsg,
|
140
|
-
jazoest,
|
141
|
-
lsd
|
142
|
-
}, globalOptions).then(utils.saveCookies(jar)).then(res => {
|
143
|
-
kupal();
|
144
|
-
return res;
|
145
|
-
});
|
146
|
-
} else return resp;
|
147
|
-
} else return resp;
|
148
|
-
}
|
149
|
-
} catch (e) {
|
150
|
-
console.error("error", e);
|
151
|
-
}
|
152
|
-
}
|
153
173
|
|
154
|
-
|
155
|
-
|
156
|
-
const appstateCUser = (appstate.find(i => i.key == 'c_user') || appstate.find(i => i.key == 'i_user'))
|
157
|
-
const UID = appstateCUser?.value;
|
158
|
-
const suspendReasons = {};
|
159
|
-
if (resp) {
|
160
|
-
if (resp.request.uri && resp.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
|
161
|
-
if (resp.request.uri.href.includes('1501092823525282')) {
|
162
|
-
const daystoDisable = resp.body?.match(/"log_out_uri":"(.*?)","title":"(.*?)"/);
|
163
|
-
if (daystoDisable && daystoDisable[2]) {
|
164
|
-
suspendReasons.durationInfo = daystoDisable[2];
|
165
|
-
console.error(`Suspension time remaining:`, suspendReasons.durationInfo);
|
166
|
-
}
|
167
|
-
const reasonDescription = resp.body?.match(/"reason_section_body":"(.*?)"/);
|
168
|
-
if (reasonDescription && reasonDescription[1]) {
|
169
|
-
suspendReasons.longReason = reasonDescription?.[1];
|
170
|
-
const reasonReplace = suspendReasons?.longReason?.toLowerCase()?.replace("your account, or activity on it, doesn't follow our community standards on ", "");
|
171
|
-
suspendReasons.shortReason = reasonReplace?.substring(0, 1).toUpperCase() + reasonReplace?.substring(1);
|
172
|
-
console.error(`Alert on ${UID}:`, `Account has been suspended!`);
|
173
|
-
console.error(`Why suspended:`, suspendReasons.longReason)
|
174
|
-
console.error(`Reason on suspension:`, suspendReasons.shortReason);
|
175
|
-
}
|
176
|
-
ctx = null;
|
177
|
-
return {
|
178
|
-
suspended: true,
|
179
|
-
suspendReasons
|
180
|
-
}
|
181
|
-
}
|
182
|
-
} else return;
|
183
|
-
}
|
184
|
-
} catch (error) {
|
185
|
-
return;
|
186
|
-
}
|
174
|
+
try {
|
175
|
+
var Data_Setting = require(process.cwd() + "/ArifFca.json");
|
187
176
|
}
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
const UID = appstateCUser?.value;
|
193
|
-
const lockedReasons = {};
|
194
|
-
if (resp) {
|
195
|
-
if (resp.request.uri && resp.request.uri.href.includes("https://www.facebook.com/checkpoint/")) {
|
196
|
-
if (resp.request.uri.href.includes('828281030927956')) {
|
197
|
-
const lockDesc = resp.body.match(/"is_unvetted_flow":true,"title":"(.*?)"/);
|
198
|
-
if (lockDesc && lockDesc[1]) {
|
199
|
-
lockedReasons.reason = lockDesc[1];
|
200
|
-
console.error(`Alert on ${UID}:`, lockedReasons.reason);
|
201
|
-
}
|
202
|
-
ctx = null;
|
203
|
-
return {
|
204
|
-
locked: true,
|
205
|
-
lockedReasons
|
206
|
-
}
|
207
|
-
}
|
208
|
-
} else return;
|
209
|
-
}
|
210
|
-
} catch (e) {
|
211
|
-
console.error("error", e);
|
212
|
-
}
|
177
|
+
catch (e) {
|
178
|
+
global.Fca.Require.logger.Error('Detect Your ArifFca Settings Invalid!, Carry out default restoration');
|
179
|
+
global.Fca.Require.fs.writeFileSync(process.cwd() + "/ArifFca.json", JSON.stringify(global.Fca.Data.ObjArif, null, "\t"));
|
180
|
+
process.exit(1)
|
213
181
|
}
|
182
|
+
if (global.Fca.Require.fs.existsSync(process.cwd() + '/ArifFca.json')) {
|
183
|
+
|
184
|
+
for (let i of All_Variable) {
|
185
|
+
if (Data_Setting[i] == undefined) {
|
186
|
+
Data_Setting[i] = global.Fca.Data.ObjArif[i];
|
187
|
+
global.Fca.Require.fs.writeFileSync(process.cwd() + "/ArifFca.json", JSON.stringify(Data_Setting, null, "\t"));
|
188
|
+
}
|
189
|
+
else continue;
|
190
|
+
} //Check Variable
|
214
191
|
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
} else {
|
236
|
-
if (html.indexOf("/checkpoint/block/?next") > -1) {
|
237
|
-
return console.warn(
|
238
|
-
"FCA-ARIF-BABU",
|
239
|
-
"Checkpoint detected. Please log in with a browser to verify."
|
240
|
-
);
|
241
|
-
}
|
242
|
-
if (secondary_profile[0] && secondary_profile[0].cookieString().includes('i_user')) {
|
243
|
-
userID = secondary_profile[0].cookieString().split("=")[1].toString();
|
244
|
-
} else {
|
245
|
-
userID = primary_profile[0].cookieString().split("=")[1].toString();
|
246
|
-
}
|
247
|
-
}
|
248
|
-
console.log("FCA-ARIF-BABU", "LOADING... 🙂🤞");
|
249
|
-
console.log("FCA-ARIF-BABU", "FAST ACCOUNT INFO... 🙂🤞");
|
250
|
-
const clientID = (Math.random() * 2147483648 | 0).toString(16);
|
251
|
-
const CHECK_MQTT = {
|
252
|
-
oldFBMQTTMatch: html.match(/irisSeqID:"(.+?)",appID:219994525426954,endpoint:"(.+?)"/),
|
253
|
-
newFBMQTTMatch: html.match(/{"app_id":"219994525426954","endpoint":"(.+?)","iris_seq_id":"(.+?)"}/),
|
254
|
-
legacyFBMQTTMatch: html.match(/\["MqttWebConfig",\[\],{"fbid":"(.*?)","appID":219994525426954,"endpoint":"(.*?)","pollingEndpoint":"(.*?)"/)
|
255
|
-
}
|
256
|
-
let Slot = Object.keys(CHECK_MQTT);
|
257
|
-
let mqttEndpoint, irisSeqID;
|
258
|
-
Object.keys(CHECK_MQTT).map((MQTT) => {
|
259
|
-
if (globalOptions.bypassRegion) return;
|
260
|
-
if (CHECK_MQTT[MQTT] && !region) {
|
261
|
-
switch (Slot.indexOf(MQTT)) {
|
262
|
-
case 0: {
|
263
|
-
irisSeqID = CHECK_MQTT[MQTT][1];
|
264
|
-
mqttEndpoint = CHECK_MQTT[MQTT][2].replace(/\\\//g, "/");
|
265
|
-
region = new URL(mqttEndpoint).searchParams.get("region").toUpperCase();
|
266
|
-
break;
|
192
|
+
for (let i in Data_Setting) {
|
193
|
+
if (Boolean_Fca.includes(i)) {
|
194
|
+
if (global.Fca.Require.utils.getType(Data_Setting[i]) != "Boolean") logger.Error(i + " Is Not A Boolean, Need To Be true Or false !", function() { process.exit(0) });
|
195
|
+
else continue;
|
196
|
+
}
|
197
|
+
else if (String_Fca.includes(i)) {
|
198
|
+
if (global.Fca.Require.utils.getType(Data_Setting[i]) != "String") logger.Error(i + " Is Not A String, Need To Be String!", function() { process.exit(0) });
|
199
|
+
else continue;
|
200
|
+
}
|
201
|
+
else if (Number_Fca.includes(i)) {
|
202
|
+
if (global.Fca.Require.utils.getType(Data_Setting[i]) != "Number") logger.Error(i + " Is Not A Number, Need To Be Number !", function() { process.exit(0) });
|
203
|
+
else continue;
|
204
|
+
}
|
205
|
+
else if (Object_Fca.includes(i)) {
|
206
|
+
if (global.Fca.Require.utils.getType(Data_Setting[i]) != "Object") {
|
207
|
+
Data_Setting[i] = global.Fca.Data.ObjArif[i];
|
208
|
+
global.Fca.Require.fs.writeFileSync(process.cwd() + "/ArifFca.json", JSON.stringify(Data_Setting, null, "\t"));
|
209
|
+
}
|
210
|
+
else continue;
|
211
|
+
}
|
267
212
|
}
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
213
|
+
|
214
|
+
for (let i of Object_Fca) {
|
215
|
+
const All_Paths = utils.getPaths(global.Fca.Data.ObjArif[i]);
|
216
|
+
const Mission = { Main_Path: i, Data_Path: All_Paths }
|
217
|
+
for (let i of Mission.Data_Path) {
|
218
|
+
if (Data_Setting[Mission.Main_Path] == undefined) {
|
219
|
+
Data_Setting[Mission.Main_Path] = global.Fca.Data.ObjArif[Mission.Main_Path];
|
220
|
+
global.Fca.Require.fs.writeFileSync(process.cwd() + "/ArifFca.json", JSON.stringify(Data_Setting, null, "\t"));
|
221
|
+
}
|
222
|
+
const User_Data = (utils.getData_Path(Data_Setting[Mission.Main_Path], i, 0))
|
223
|
+
const User_Data_Type = utils.getType(User_Data);
|
224
|
+
if (User_Data_Type == "Number") {
|
225
|
+
const Mission_Path = User_Data == 0 ? i : i.slice(0, User_Data);
|
226
|
+
const Mission_Obj = utils.getData_Path(global.Fca.Data.ObjArif[Mission.Main_Path], Mission_Path, 0);
|
227
|
+
Data_Setting[Mission.Main_Path] = utils.setData_Path(Data_Setting[Mission.Main_Path], Mission_Path, Mission_Obj)
|
228
|
+
global.Fca.Require.fs.writeFileSync(process.cwd() + "/ArifFca.json", JSON.stringify(Data_Setting, null, "\t"));
|
229
|
+
}
|
230
|
+
}
|
273
231
|
}
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
232
|
+
|
233
|
+
if (!global.Fca.Require.languageFile.some((/** @type {{ Language: string; }} */i) => i.Language == Data_Setting.Language)) {
|
234
|
+
global.Fca.Require.logger.Warning("Not Support Language: " + Data_Setting.Language + " Only 'en' and 'vi'");
|
235
|
+
process.exit(0);
|
278
236
|
}
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
region = ["prn", "pnb", "vll", "hkg", "sin", "ftw", "ash", "nrt"][Math.random() * 5 | 0].toUpperCase();
|
287
|
-
|
288
|
-
if (globalOptions.bypassRegion || !mqttEndpoint)
|
289
|
-
mqttEndpoint = "wss://edge-chat.facebook.com/chat?region=" + region;
|
290
|
-
var ctx = {
|
291
|
-
userID,
|
292
|
-
jar,
|
293
|
-
clientID,
|
294
|
-
globalOptions,
|
295
|
-
loggedIn: true,
|
296
|
-
access_token: 'NONE',
|
297
|
-
clientMutationId: 0,
|
298
|
-
mqttClient: undefined,
|
299
|
-
lastSeqId: irisSeqID,
|
300
|
-
syncToken: undefined,
|
301
|
-
mqttEndpoint,
|
302
|
-
wsReqNumber: 0,
|
303
|
-
wsTaskNumber: 0,
|
304
|
-
reqCallbacks: {},
|
305
|
-
region,
|
306
|
-
firstListen: true,
|
307
|
-
fb_dtsg
|
308
|
-
};
|
309
|
-
cron.schedule('0 0 * * *', () => {
|
310
|
-
const fbDtsgData = JSON.parse(fs.readFileSync('fb_dtsg_data.json', 'utf8'));
|
311
|
-
if (fbDtsgData && fbDtsgData[userID]) {
|
312
|
-
const userFbDtsg = fbDtsgData[userID];
|
313
|
-
api.refreshFb_dtsg(userFbDtsg)
|
314
|
-
.then(() => console.log("FCA-ARIF-BABU", `Fb_dtsg refreshed successfully for user ${userID}.`))
|
315
|
-
.catch((err) => console.error("FCA-ARIF-BABU", `Error during Fb_dtsg refresh for user ${userID}:`, err));
|
316
|
-
} else {
|
317
|
-
console.error("FCA-ARIF-BABU", `No fb_dtsg data found for user ${userID}.`);
|
318
|
-
}
|
319
|
-
}, {
|
320
|
-
timezone: 'Asia/Manila'
|
321
|
-
});
|
322
|
-
var defaultFuncs = utils.makeDefaults(html, userID, ctx);
|
323
|
-
return [ctx, defaultFuncs];
|
237
|
+
global.Fca.Require.Language = global.Fca.Require.languageFile.find((/** @type {{ Language: string; }} */i) => i.Language == Data_Setting.Language).Folder;
|
238
|
+
} else process.exit(1);
|
239
|
+
global.Fca.Require.Arif = Data_Setting;
|
240
|
+
}
|
241
|
+
catch (e) {
|
242
|
+
console.log(e);
|
243
|
+
global.Fca.Require.logger.Error();
|
324
244
|
}
|
325
245
|
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
console.
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
else if (utils.getType(appState) === 'String') {
|
340
|
-
const arrayAppState = [];
|
341
|
-
appState.split(';').forEach(c => {
|
342
|
-
const [key, value] = c.split('=');
|
343
|
-
arrayAppState.push({
|
344
|
-
key: (key || "").trim(),
|
345
|
-
value: (value || "").trim(),
|
346
|
-
domain: ".facebook.com",
|
347
|
-
path: "/",
|
348
|
-
expires: new Date().getTime() + 1000 * 60 * 60 * 24 * 365
|
349
|
-
});
|
350
|
-
});
|
351
|
-
appState = arrayAppState;
|
246
|
+
/*
|
247
|
+
if (global.Fca.Require.FastConfig.Websocket_Extension.Status) {
|
248
|
+
console.history = new Array();
|
249
|
+
var Convert = require('ansi-to-html');
|
250
|
+
var convert = new Convert();
|
251
|
+
console.__log = console.log;
|
252
|
+
console.log = function (data) {
|
253
|
+
const log = convert.toHtml(data)
|
254
|
+
console.history.push(log)
|
255
|
+
console.__log.apply(console,arguments)
|
256
|
+
if (console.history.length > 80) {
|
257
|
+
console.history.shift();
|
258
|
+
}
|
352
259
|
}
|
260
|
+
}
|
261
|
+
**/
|
353
262
|
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
mainPromise = utils.get('https://www.facebook.com/', jar, null, globalOptions, { noRef: true })
|
360
|
-
.then(utils.saveCookies(jar));
|
361
|
-
} else if (email && password) {
|
362
|
-
throw { error: "Credentials method is not implemented to fca-arif-babu yet. "};
|
363
|
-
} else {
|
364
|
-
throw { error: "Please provide either appState or credentials." };
|
365
|
-
}
|
366
|
-
|
367
|
-
api = {
|
368
|
-
setOptions: setOptions.bind(null, globalOptions),
|
369
|
-
getAppState() {
|
370
|
-
const appState = utils.getAppState(jar);
|
371
|
-
if (!Array.isArray(appState)) return [];
|
372
|
-
const uniqueAppState = appState.filter((item, index, self) => {
|
373
|
-
return self.findIndex((t) => t.key === item.key) === index;
|
374
|
-
});
|
375
|
-
return uniqueAppState.length > 0 ? uniqueAppState : appState;
|
263
|
+
module.exports = function(loginData, options, callback) {
|
264
|
+
//const Language = global.Fca.Require.languageFile.find((/** @type {{ Language: string; }} */i) => i.Language == global.Fca.Require.FastConfig.Language).Folder.Index;
|
265
|
+
var login;
|
266
|
+
try {
|
267
|
+
login = require('./Main');
|
376
268
|
}
|
377
|
-
|
378
|
-
|
379
|
-
.then(res => bypassAutoBehavior(res, jar, appState))
|
380
|
-
.then(res => updateDTSG(res, appState))
|
381
|
-
.then(async (res) => {
|
382
|
-
const resp = await utils.get(`https://www.facebook.com/home.php`, jar, null, globalOptions);
|
383
|
-
const html = resp?.body;
|
384
|
-
const stuff = await buildAPI(html, jar);
|
385
|
-
ctx = stuff[0];
|
386
|
-
_defaultFuncs = stuff[1];
|
387
|
-
api.addFunctions = (directory) => {
|
388
|
-
const folder = directory.endsWith("/") ? directory : (directory + "/");
|
389
|
-
fs.readdirSync(folder)
|
390
|
-
.filter(v => v.endsWith('.js'))
|
391
|
-
.map(v => {
|
392
|
-
api[v.replace('.js', '')] = require(folder + v)(_defaultFuncs, api, ctx);
|
393
|
-
});
|
394
|
-
}
|
395
|
-
api.addFunctions(__dirname + '/src');
|
396
|
-
api.listen = api.listenMqtt;
|
397
|
-
api.ws3 = {
|
398
|
-
...apiCustomized
|
399
|
-
};
|
400
|
-
const botAcc = await api.getBotInitialData();
|
401
|
-
if (!botAcc.error){
|
402
|
-
console.log("FCA-ARIF-BABU", `SUCCESSFUL ACCOUNT INFO 🙂🤞`);
|
403
|
-
console.log("FCA-ARIF-BABU", "BOT NAME 🙂🤞", botAcc.name);
|
404
|
-
console.log("FCA-ARIF-BABU", "BOT USER ID 🙂🤞", botAcc.uid);
|
405
|
-
ctx.userName = botAcc.name;
|
406
|
-
} else {
|
407
|
-
console.warn("FCA-ARIF-BABU", botAcc.error);
|
408
|
-
console.warn("FCA-ARIF-BABU", `WARNING: Failed to fetch account info. Proceeding to log in for user ${ctx.userID}`);
|
409
|
-
}
|
410
|
-
console.log("FCA-ARIF-BABU", "CONNECTED TO SERVER REGION 🙂🤞", region || "Unknown");
|
411
|
-
return res;
|
412
|
-
});
|
413
|
-
if (globalOptions.pageID) {
|
414
|
-
mainPromise = mainPromise
|
415
|
-
.then(function() {
|
416
|
-
return utils
|
417
|
-
.get('https://www.facebook.com/' + ctx.globalOptions.pageID + '/messages/?section=messages&subsection=inbox', ctx.jar, null, globalOptions);
|
418
|
-
})
|
419
|
-
.then(function(resData) {
|
420
|
-
let url = utils.getFrom(resData.body, 'window.location.replace("https:\\/\\/www.facebook.com\\', '");').split('\\').join('');
|
421
|
-
url = url.substring(0, url.length - 1);
|
422
|
-
return utils
|
423
|
-
.get('https://www.facebook.com' + url, ctx.jar, null, globalOptions);
|
424
|
-
});
|
269
|
+
catch (e) {
|
270
|
+
console.log(e)
|
425
271
|
}
|
272
|
+
//const fs = require('fs-extra');
|
273
|
+
//const got = require('got');
|
274
|
+
//const log = require('npmlog');
|
275
|
+
//const { execSync } = require('child_process');
|
276
|
+
require('./Extra/Database');
|
277
|
+
|
278
|
+
/*
|
279
|
+
return got.get('https://github.com/KanzuXHorizon/Global_Horizon/raw/main/InstantAction.json').then(async function(res) {
|
280
|
+
if (global.Fca.Require.FastConfig.AutoInstallNode) {
|
281
|
+
switch (fs.existsSync(process.cwd() + "/replit.nix") && process.env["REPL_ID"] != undefined) {
|
282
|
+
case true: {
|
283
|
+
await require('./Extra/Src/Change_Environment.js')();
|
284
|
+
break;
|
285
|
+
}
|
286
|
+
case false: {
|
287
|
+
const NodeVersion = execSync('node -v').toString().replace(/(\r\n|\n|\r)/gm, "");
|
288
|
+
if (!NodeVersion.includes("v14") && !NodeVersion.includes("v16") && !Database(true).has('SkipReplitNix')) {
|
289
|
+
log.warn("[ FCA-UPDATE ] •",global.Fca.getText(Language.NodeVersionNotSupported, NodeVersion));
|
290
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
291
|
+
try {
|
292
|
+
switch (process.platform) {
|
293
|
+
case "win32": {
|
294
|
+
try {
|
295
|
+
//check if user using nvm
|
296
|
+
if (fs.existsSync(process.env.APPDATA + "/nvm/nvm.exe")) {
|
297
|
+
log.warn("[ FCA-UPDATE ] •", Language.UsingNVM);
|
298
|
+
process.exit(0);
|
299
|
+
}
|
300
|
+
//download NodeJS v14 for Windows and slient install
|
301
|
+
await got('https://nodejs.org/dist/v14.17.0/node-v14.17.0-x64.msi').pipe(fs.createWriteStream(process.cwd() + "/node-v14.17.0-x64.msi"));
|
302
|
+
log.info("[ FCA-UPDATE ] •", Language.DownloadingNode);
|
303
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
304
|
+
execSync('msiexec /i node-v14.17.0-x64.msi /qn');
|
305
|
+
log.info("[ FCA-UPDATE ] •", Language.NodeDownloadingComplete);
|
306
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
307
|
+
log.info("[ FCA-UPDATE ] •", Language.RestartRequire);
|
308
|
+
Database(true).set("NeedRebuild", true);
|
309
|
+
process.exit(0);
|
310
|
+
}
|
311
|
+
catch (e) {
|
312
|
+
log.error("[ FCA-UPDATE ] •",Language.ErrNodeDownload);
|
313
|
+
process.exit(0);
|
314
|
+
}
|
315
|
+
}
|
316
|
+
case "linux": {
|
426
317
|
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
318
|
+
try {
|
319
|
+
if (process.env["REPL_ID"] != undefined) {
|
320
|
+
log.warn("[ FCA-UPDATE ] •", "Look like you are using Replit, and didn't have replit.nix file in your project, i don't know how to help you, hmm i will help you pass this step, but you need to install NodeJS v14 by yourself, and restart your repl");
|
321
|
+
Database(true).set('SkipReplitNix', true);
|
322
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
323
|
+
process.exit(1);
|
324
|
+
}
|
325
|
+
//check if user using nvm
|
326
|
+
if (fs.existsSync(process.env.HOME + "/.nvm/nvm.sh")) {
|
327
|
+
log.warn("[ FCA-UPDATE ] •", Language.UsingNVM);
|
328
|
+
process.exit(0);
|
329
|
+
}
|
330
|
+
//download NodeJS v14 for Linux and slient install
|
331
|
+
await got('https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz').pipe(fs.createWriteStream(process.cwd() + "/node-v14.17.0-linux-x64.tar.xz"));
|
332
|
+
log.info("[ FCA-UPDATE ] •", Language.DownloadingNode);
|
333
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
334
|
+
execSync('tar -xf node-v14.17.0-linux-x64.tar.xz');
|
335
|
+
execSync('cd node-v14.17.0-linux-x64');
|
336
|
+
execSync('sudo cp -R * /usr/local/');
|
337
|
+
log.info("[ FCA-UPDATE ] •", Language.NodeDownloadingComplete);
|
338
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
339
|
+
log.info("[ FCA-UPDATE ] •",Language.RestartingN);
|
340
|
+
Database(true).set("NeedRebuild", true);
|
341
|
+
process.exit(1);
|
342
|
+
}
|
343
|
+
catch (e) {
|
344
|
+
log.error("[ FCA-UPDATE ] •",Language.ErrNodeDownload);
|
345
|
+
process.exit(0);
|
346
|
+
}
|
347
|
+
}
|
348
|
+
case "darwin": {
|
349
|
+
try {
|
350
|
+
//check if user using nvm
|
351
|
+
if (fs.existsSync(process.env.HOME + "/.nvm/nvm.sh")) {
|
352
|
+
log.warn("[ FCA-UPDATE ] •", Language.UsingNVM);
|
353
|
+
process.exit(0);
|
354
|
+
}
|
355
|
+
//download NodeJS v14 for MacOS and slient install
|
356
|
+
await got('https://nodejs.org/dist/v14.17.0/node-v14.17.0-darwin-x64.tar.gz').pipe(fs.createWriteStream(process.cwd() + "/node-v14.17.0-darwin-x64.tar.gz"));
|
357
|
+
log.info("[ FCA-UPDATE ] •", Language.DownloadingNode);
|
358
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
359
|
+
execSync('tar -xf node-v14.17.0-darwin-x64.tar.gz');
|
360
|
+
execSync('cd node-v14.17.0-darwin-x64');
|
361
|
+
execSync('sudo cp -R * /usr/local/');
|
362
|
+
log.info("[ FCA-UPDATE ] •", Language.NodeDownloadingComplete);
|
363
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
364
|
+
log.info("[ FCA-UPDATE ] •",Language.RestartingN);
|
365
|
+
Database(true).set("NeedRebuild", true);
|
366
|
+
process.exit(1);
|
367
|
+
}
|
368
|
+
catch (e) {
|
369
|
+
log.error("[ FCA-UPDATE ] •",Language.ErrNodeDownload);
|
370
|
+
process.exit(0);
|
371
|
+
}
|
372
|
+
}
|
373
|
+
}
|
374
|
+
}
|
375
|
+
catch (e) {
|
376
|
+
console.log(e);
|
377
|
+
log.error("[ FCA-UPDATE ] •","NodeJS v14 Installation Failed, Please Try Again and Contact fb.com/Lazic.Kanzu!");
|
378
|
+
process.exit(0);
|
379
|
+
}
|
380
|
+
}
|
381
|
+
}
|
382
|
+
}
|
470
383
|
}
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
384
|
+
if ((Database(true).get("NeedRebuild")) == true) {
|
385
|
+
Database(true).set("NeedRebuild", false);
|
386
|
+
log.info("[ FCA-UPDATE ] •",Language.Rebuilding);
|
387
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
388
|
+
try {
|
389
|
+
execSync('npm rebuild', {stdio: 'inherit'});
|
390
|
+
}
|
391
|
+
catch (e) {
|
392
|
+
console.log(e);
|
393
|
+
log.error("[ FCA-UPDATE ] •",Language.ErrRebuilding);
|
394
|
+
}
|
395
|
+
log.info("[ FCA-UPDATE ] •",Language.SuccessRebuilding);
|
396
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
397
|
+
log.info("[ FCA-UPDATE ] •",Language.RestartingN);
|
398
|
+
process.exit(1);
|
481
399
|
}
|
482
|
-
callback(null, loginApi);
|
483
|
-
});
|
484
|
-
}
|
485
|
-
setOptions(globalOptions, options).then(loginws3());
|
486
|
-
return;
|
487
|
-
}
|
488
400
|
|
489
|
-
|
401
|
+
let Data = JSON.parse(res.body);
|
402
|
+
if (global.Fca.Require.FastConfig.Stable_Version.Accept == true) {
|
403
|
+
if (Data.Stable_Version.Valid_Version.includes(global.Fca.Require.FastConfig.Stable_Version.Version)) {
|
404
|
+
let TimeStamp = Database(true).get('Check_Update');
|
405
|
+
if (TimeStamp == null || TimeStamp == undefined || Date.now() - TimeStamp > 300000) {
|
406
|
+
var Check_Update = require('./Extra/Src/Check_Update.js');
|
407
|
+
await Check_Update(global.Fca.Require.FastConfig.Stable_Version.Version);
|
408
|
+
}
|
409
|
+
}
|
410
|
+
else {
|
411
|
+
log.warn("[ FCA-UPDATE ] •", "Error Stable Version, Please Check Your Stable Version in FastConfig.json, Automatically turn off Stable Version!");
|
412
|
+
global.Fca.Require.FastConfig.Stable_Version.Accept = false;
|
413
|
+
global.Fca.Require.fs.writeFileSync(process.cwd() + "/PriyanshFca.json", JSON.stringify(global.Fca.Require.FastConfig, null, "\t"));
|
414
|
+
process.exit(1);
|
415
|
+
}
|
416
|
+
}
|
417
|
+
else {
|
418
|
+
if (Data.HasProblem == true || Data.ForceUpdate == true) {
|
419
|
+
let TimeStamp = Database(true).get('Instant_Update');
|
420
|
+
if (TimeStamp == null || TimeStamp == undefined || Date.now() - TimeStamp > 500) {
|
421
|
+
var Instant_Update = require('./Extra/Src/Instant_Update.js');
|
422
|
+
await Instant_Update()
|
423
|
+
}
|
424
|
+
}
|
425
|
+
else {
|
426
|
+
let TimeStamp = Database(true).get('Check_Update');
|
427
|
+
if (TimeStamp == null || TimeStamp == undefined || Date.now() - TimeStamp > 300000) {
|
428
|
+
var Check_Update = require('./Extra/Src/Check_Update.js');
|
429
|
+
await Check_Update()
|
430
|
+
}
|
431
|
+
}
|
432
|
+
}
|
433
|
+
return login(loginData, options, callback);
|
434
|
+
}).catch(function(err) {
|
435
|
+
console.log(err)
|
436
|
+
log.error("[ FCA-UPDATE ] •",Language.UnableToConnect);
|
437
|
+
log.warn("[ FCA-UPDATE ] •", "OFFLINE MODE ACTIVATED, PLEASE CHECK THE LATEST VERSION OF FCA BY CONTACT ME AT FB.COM/LAZIC.KANZU");
|
438
|
+
return login(loginData, options, callback);
|
439
|
+
});
|
440
|
+
**/
|
441
|
+
//temp disabled
|
442
|
+
try {
|
443
|
+
login(loginData, options, callback);
|
444
|
+
}
|
445
|
+
catch (e) {
|
446
|
+
console.log(e)
|
447
|
+
}
|
448
|
+
};
|