fca-priyansh 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/.gitlab-ci.yml +22 -0
- package/CountTime.json +1 -0
- package/Extra/Balancer.js +49 -49
- package/Extra/BroadcastSystem.js +1 -0
- package/Extra/Bypass/956/index.js +233 -233
- package/Extra/Bypass/test/aaaa.json +169 -169
- package/Extra/Bypass/test/index.js +187 -187
- package/Extra/Database/index.js +468 -468
- package/Extra/ExtraAddons.js +82 -82
- package/Extra/ExtraFindUID.js +61 -61
- package/Extra/ExtraGetThread.js +365 -365
- package/Extra/ExtraScreenShot.js +430 -430
- package/Extra/ExtraUptimeRobot.js +142 -38
- package/Extra/Html/Classic/script.js +118 -118
- package/Extra/Html/Classic/style.css +7 -7
- package/Extra/Security/Base/Step_1.js +5 -5
- package/Extra/Security/Base/Step_2.js +22 -22
- package/Extra/Security/Base/Step_3.js +22 -22
- package/Extra/Security/Base/index.js +190 -190
- package/Extra/Security/Index.js +4 -4
- package/Extra/Security/Step_1.js +5 -5
- package/Extra/Security/Step_2.js +22 -22
- package/Extra/Security/Step_3.js +22 -22
- package/Extra/Src/Change_Environment.js +24 -24
- package/Extra/Src/Check_Update.js +66 -66
- package/Extra/Src/History.js +114 -114
- package/Extra/Src/Instant_Update.js +64 -64
- package/Extra/Src/Last-Run.js +64 -64
- package/Extra/Src/Premium.js +81 -81
- package/Extra/Src/Websocket.js +212 -212
- package/Extra/Src/uuid.js +137 -137
- package/Func/AcceptAgreement.js +31 -31
- package/Func/ClearCache.js +64 -64
- package/Func/ReportV1.js +54 -54
- package/LICENSE +21 -21
- package/Language/index.json +228 -228
- package/Main.js +1 -1290
- package/README.md +198 -198
- package/broadcast.js +1 -44
- package/errorHandler.js +151 -0
- package/index.js +1 -448
- package/logger.js +69 -66
- package/package.json +99 -98
- package/src/Dev_Horizon_Data.js +124 -124
- package/src/Dev_getThreadInfoOLD.js +421 -421
- package/src/Dev_shareTest2.js +68 -68
- package/src/Dev_shareTest3.js +71 -71
- package/src/Premium.js +24 -24
- package/src/Screenshot.js +82 -82
- package/src/addExternalModule.js +16 -16
- package/src/addUserToGroup.js +79 -79
- package/src/changeAdminStatus.js +79 -79
- package/src/changeArchivedStatus.js +41 -41
- package/src/changeAvt.js +84 -84
- package/src/changeBio.js +65 -65
- package/src/changeBlockedStatus.js +36 -36
- package/src/changeGroupImage.js +106 -106
- package/src/changeNickname.js +45 -45
- package/src/changeThreadColor.js +62 -62
- package/src/changeThreadEmoji.js +42 -42
- package/src/changeThreadTheme.js +263 -0
- package/src/comment.js +244 -0
- package/src/createNewGroup.js +70 -70
- package/src/createPoll.js +60 -60
- package/src/deleteMessage.js +45 -45
- package/src/deleteThread.js +43 -43
- package/src/editMessage.js +71 -53
- package/src/follow.js +119 -0
- package/src/forwardAttachment.js +48 -48
- package/src/friend.js +383 -0
- package/src/getAccessToken.js +27 -27
- package/src/getCurrentUserID.js +7 -7
- package/src/getEmojiUrl.js +27 -27
- package/src/getFriendsList.js +73 -73
- package/src/getMessage.js +102 -102
- package/src/getPendingFriendRequests.js +45 -0
- package/src/getThreadHistory.js +537 -537
- package/src/getThreadInfo.js +424 -423
- package/src/getThreadInfoOLD.js +421 -421
- package/src/getThreadList.js +213 -213
- package/src/getThreadMain.js +219 -219
- package/src/getThreadPictures.js +59 -59
- package/src/getUID.js +58 -58
- package/src/getUserID.js +62 -62
- package/src/getUserInfo.js +112 -112
- package/src/getUserInfoMain.js +64 -64
- package/src/getUserInfoV2.js +31 -31
- package/src/getUserInfoV3.js +62 -62
- package/src/getUserInfoV4.js +54 -54
- package/src/getUserInfoV5.js +60 -60
- package/src/handleFriendRequest.js +46 -46
- package/src/handleMessageRequest.js +49 -49
- package/src/httpGet.js +49 -49
- package/src/httpPost.js +48 -48
- package/src/httpPostFormData.js +40 -40
- package/src/listenMqtt.js +1 -956
- package/src/listenMqttV1.js +832 -846
- package/src/logout.js +68 -68
- package/src/markAsDelivered.js +48 -48
- package/src/markAsRead.js +70 -70
- package/src/markAsReadAll.js +42 -42
- package/src/markAsSeen.js +51 -51
- package/src/muteThread.js +47 -47
- package/src/notes.js +279 -0
- package/src/removeUserFromGroup.js +49 -49
- package/src/resolvePhotoUrl.js +37 -37
- package/src/searchForThread.js +43 -43
- package/src/sendMention.js +325 -0
- package/src/sendMessage.js +1 -386
- package/src/sendMqttMessage.js +70 -70
- package/src/sendTypingIndicator.js +79 -80
- package/src/setMessageReaction.js +109 -109
- package/src/setPostReaction.js +101 -101
- package/src/setTitle.js +74 -74
- package/src/share.js +98 -0
- package/src/shareContact.js +55 -55
- package/src/shareLink.js +58 -58
- package/src/stickers.js +525 -0
- package/src/story.js +267 -0
- package/src/threadColors.js +38 -38
- package/src/unfriend.js +43 -43
- package/src/unsendMessage.js +47 -47
- package/src/unsendMqttMessage.js +65 -65
- package/test/data/shareAttach.js +146 -146
- package/test/data/test.txt +7 -7
- package/test/example-config.json +18 -18
- package/test/test-page.js +140 -140
- package/test/test.js +385 -385
- package/test/testv2.js +2 -2
- package/userAgentManager.js +129 -0
- package/utils.js +1 -3077
- package/.github/workflows/publish.yml +0 -20
- package/Extra/Src/Release_Memory.js +0 -160
- package/Extra/Src/test.js +0 -28
- package/SECURITY.md +0 -17
|
@@ -1,188 +1,188 @@
|
|
|
1
|
-
/** By @KanzuWakazaki 03/05/2024 - DD/MM/YYYY */
|
|
2
|
-
var Form_P1;
|
|
3
|
-
var CanResolve_P1;
|
|
4
|
-
var NextToken_P1;
|
|
5
|
-
var lsd;
|
|
6
|
-
utils.get('https://www.facebook.com/checkpoint/828281030927956/?next=https%3A%2F%2Faccountscenter.facebook.com%2Fpassword_and_security', ctx.jar, null, ctx.globalOptions)
|
|
7
|
-
.then(function(data) {
|
|
8
|
-
lsd = utils.getFrom(data.body, "[\"LSD\",[],{\"token\":\"", "\"}")
|
|
9
|
-
Form_P1 = {
|
|
10
|
-
lsd: lsd,
|
|
11
|
-
fb_api_caller_class: 'RelayModern',
|
|
12
|
-
fb_api_req_friendly_name: 'useEpsilonNavigateMutation',
|
|
13
|
-
variables: JSON.stringify({
|
|
14
|
-
input:{
|
|
15
|
-
client_mutation_id:"1",
|
|
16
|
-
actor_id: ctx.userId,
|
|
17
|
-
step:"STEPPER_CONFIRMATION",
|
|
18
|
-
token : JSON.stringify({
|
|
19
|
-
sensitive_string_value: Find_And_Parse(data.body)
|
|
20
|
-
})
|
|
21
|
-
},
|
|
22
|
-
scale:1
|
|
23
|
-
}),
|
|
24
|
-
server_timestamps: true,
|
|
25
|
-
doc_id: 7414856831926043
|
|
26
|
-
};
|
|
27
|
-
})
|
|
28
|
-
.then(function() {
|
|
29
|
-
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P1, {})
|
|
30
|
-
.then(function(resp) {
|
|
31
|
-
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
32
|
-
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonStepperScreen" && checkpoint.screen.next_screen == 'CONTACT_POINT_REVIEW' && checkpoint.screen.steps.length === 3 && checkpoint.screen.steps[1].active == true) {
|
|
33
|
-
NextToken_P1 = checkpoint.screen.token;
|
|
34
|
-
return CanResolve_P1 = true;
|
|
35
|
-
}
|
|
36
|
-
else return CanResolve_P1 = false;
|
|
37
|
-
});
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
var CanResolve_P2;
|
|
41
|
-
var NextToken_P2;
|
|
42
|
-
|
|
43
|
-
let Form_P2 = {
|
|
44
|
-
doc_id: 7414856831926043,
|
|
45
|
-
lsd: lsd,
|
|
46
|
-
fb_api_caller_class: "RelayModern",
|
|
47
|
-
fb_api_req_friendly_name: "useEpsilonNavigateMutation",
|
|
48
|
-
server_timestamps: true,
|
|
49
|
-
variables: JSON.stringify({
|
|
50
|
-
input: {
|
|
51
|
-
client_mutation_id: 2,
|
|
52
|
-
actor_id: ctx.userId,
|
|
53
|
-
step:"CONTACT_POINT_REVIEW",
|
|
54
|
-
token: JSON.stringify({
|
|
55
|
-
sensitive_string_value: NextToken_P1
|
|
56
|
-
})
|
|
57
|
-
},
|
|
58
|
-
scale: 1
|
|
59
|
-
})
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P2, {}).then(function(resp) {
|
|
63
|
-
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
64
|
-
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonContactPointReview" && checkpoint.screen.contact_points.length >= 1 && checkpoint.screen.contact_points[0].suspicious == "UNSUSPICIOUS") {
|
|
65
|
-
NextToken_P2 = checkpoint.screen.token;
|
|
66
|
-
return CanResolve_P2 = true;
|
|
67
|
-
}
|
|
68
|
-
else return CanResolve_P2 = false;
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var CanResolve_P3;
|
|
73
|
-
var NextToken_P3;
|
|
74
|
-
let Form_P3 ={
|
|
75
|
-
doc_id: 7414856831926043,
|
|
76
|
-
lsd: lsd,
|
|
77
|
-
fb_api_caller_class: "RelayModern",
|
|
78
|
-
fb_api_req_friendly_name: "useEpsilonNavigateMutation",
|
|
79
|
-
server_timestamps: true,
|
|
80
|
-
variables: JSON.stringify({
|
|
81
|
-
input: {
|
|
82
|
-
client_mutation_id: 3,
|
|
83
|
-
actor_id: ctx.userId,
|
|
84
|
-
step: "CHANGE_PASSWORD",
|
|
85
|
-
token: JSON.stringify({
|
|
86
|
-
sensitive_string_value: NextToken_P2
|
|
87
|
-
})
|
|
88
|
-
},
|
|
89
|
-
scale:1
|
|
90
|
-
})
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P3, {}).then(function(resp) {
|
|
94
|
-
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
95
|
-
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonLoginDetailsConfirmationScreen" && checkpoint.screen.contact_points.length >= 1) {
|
|
96
|
-
NextToken_P3 = checkpoint.screen.token;
|
|
97
|
-
return CanResolve_P3 = true;
|
|
98
|
-
}
|
|
99
|
-
else return CanResolve_P3 = false;
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
var CanResolve_P4;
|
|
103
|
-
var NextToken_P4;
|
|
104
|
-
let Form_P4 ={
|
|
105
|
-
doc_id: 7414856831926043,
|
|
106
|
-
lsd: lsd,
|
|
107
|
-
fb_api_caller_class: "RelayModern",
|
|
108
|
-
fb_api_req_friendly_name: "useEpsilonNavigateMutation",
|
|
109
|
-
server_timestamps: true,
|
|
110
|
-
variables: JSON.stringify({
|
|
111
|
-
input: {
|
|
112
|
-
client_mutation_id: 4,
|
|
113
|
-
actor_id: ctx.userId,
|
|
114
|
-
step: "OUTRO",
|
|
115
|
-
token: JSON.stringify({
|
|
116
|
-
sensitive_string_value: NextToken_P3
|
|
117
|
-
})
|
|
118
|
-
},
|
|
119
|
-
scale:1
|
|
120
|
-
})
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P4, {}).then(function(resp) {
|
|
124
|
-
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
125
|
-
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonOutroScreen" && checkpoint.screen.fallback.uri == 'https://www.facebook.com/') {
|
|
126
|
-
NextToken_P4 = checkpoint.screen.token;
|
|
127
|
-
return CanResolve_P4 = true;
|
|
128
|
-
}
|
|
129
|
-
else return CanResolve_P4 = false;
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
function Find_And_Parse(Data) {
|
|
134
|
-
const regex = /<script\s+type="application\/json"\s+data-content-len="([0-9]+)"\s+data-sjs\s*(.*?)\s*<\/script>/gs;
|
|
135
|
-
const matches = Data.matchAll(regex);
|
|
136
|
-
let Data_resp;
|
|
137
|
-
for (const match of matches) {
|
|
138
|
-
if (JSON.parse(JSON.stringify((match[2]))).includes('any_eligible_challenges')) {
|
|
139
|
-
const Data_ = JSON.parse(match[2].replace('>', ''))
|
|
140
|
-
Data_resp = findAnyEligibleChallengesAndSiblings(Data_)
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
function findAnyEligibleChallengesAndSiblings(data) {
|
|
147
|
-
const screenData = findScreenData(data);
|
|
148
|
-
if (!screenData) {
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
const siblings = {};
|
|
153
|
-
for (const [key, value] of Object.entries(screenData)) {
|
|
154
|
-
if (key === 'any_eligible_challenges') {
|
|
155
|
-
siblings[key] = value;
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
siblings[key] = value;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
return siblings;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function findScreenData(data) {
|
|
166
|
-
if (Array.isArray(data)) {
|
|
167
|
-
for (const item of data) {
|
|
168
|
-
const result = findScreenData(item);
|
|
169
|
-
if (result) {
|
|
170
|
-
return result;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
else if (typeof data === 'object' && data !== null) {
|
|
175
|
-
if (data.screen) {
|
|
176
|
-
return data.screen;
|
|
177
|
-
}
|
|
178
|
-
for (const value of Object.values(data)) {
|
|
179
|
-
const result = findScreenData(value);
|
|
180
|
-
if (result) {
|
|
181
|
-
return result;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
return null;
|
|
186
|
-
}
|
|
187
|
-
return Data_resp.token || null
|
|
1
|
+
/** By @KanzuWakazaki 03/05/2024 - DD/MM/YYYY */
|
|
2
|
+
var Form_P1;
|
|
3
|
+
var CanResolve_P1;
|
|
4
|
+
var NextToken_P1;
|
|
5
|
+
var lsd;
|
|
6
|
+
utils.get('https://www.facebook.com/checkpoint/828281030927956/?next=https%3A%2F%2Faccountscenter.facebook.com%2Fpassword_and_security', ctx.jar, null, ctx.globalOptions)
|
|
7
|
+
.then(function(data) {
|
|
8
|
+
lsd = utils.getFrom(data.body, "[\"LSD\",[],{\"token\":\"", "\"}")
|
|
9
|
+
Form_P1 = {
|
|
10
|
+
lsd: lsd,
|
|
11
|
+
fb_api_caller_class: 'RelayModern',
|
|
12
|
+
fb_api_req_friendly_name: 'useEpsilonNavigateMutation',
|
|
13
|
+
variables: JSON.stringify({
|
|
14
|
+
input:{
|
|
15
|
+
client_mutation_id:"1",
|
|
16
|
+
actor_id: ctx.userId,
|
|
17
|
+
step:"STEPPER_CONFIRMATION",
|
|
18
|
+
token : JSON.stringify({
|
|
19
|
+
sensitive_string_value: Find_And_Parse(data.body)
|
|
20
|
+
})
|
|
21
|
+
},
|
|
22
|
+
scale:1
|
|
23
|
+
}),
|
|
24
|
+
server_timestamps: true,
|
|
25
|
+
doc_id: 7414856831926043
|
|
26
|
+
};
|
|
27
|
+
})
|
|
28
|
+
.then(function() {
|
|
29
|
+
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P1, {})
|
|
30
|
+
.then(function(resp) {
|
|
31
|
+
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
32
|
+
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonStepperScreen" && checkpoint.screen.next_screen == 'CONTACT_POINT_REVIEW' && checkpoint.screen.steps.length === 3 && checkpoint.screen.steps[1].active == true) {
|
|
33
|
+
NextToken_P1 = checkpoint.screen.token;
|
|
34
|
+
return CanResolve_P1 = true;
|
|
35
|
+
}
|
|
36
|
+
else return CanResolve_P1 = false;
|
|
37
|
+
});
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
var CanResolve_P2;
|
|
41
|
+
var NextToken_P2;
|
|
42
|
+
|
|
43
|
+
let Form_P2 = {
|
|
44
|
+
doc_id: 7414856831926043,
|
|
45
|
+
lsd: lsd,
|
|
46
|
+
fb_api_caller_class: "RelayModern",
|
|
47
|
+
fb_api_req_friendly_name: "useEpsilonNavigateMutation",
|
|
48
|
+
server_timestamps: true,
|
|
49
|
+
variables: JSON.stringify({
|
|
50
|
+
input: {
|
|
51
|
+
client_mutation_id: 2,
|
|
52
|
+
actor_id: ctx.userId,
|
|
53
|
+
step:"CONTACT_POINT_REVIEW",
|
|
54
|
+
token: JSON.stringify({
|
|
55
|
+
sensitive_string_value: NextToken_P1
|
|
56
|
+
})
|
|
57
|
+
},
|
|
58
|
+
scale: 1
|
|
59
|
+
})
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P2, {}).then(function(resp) {
|
|
63
|
+
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
64
|
+
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonContactPointReview" && checkpoint.screen.contact_points.length >= 1 && checkpoint.screen.contact_points[0].suspicious == "UNSUSPICIOUS") {
|
|
65
|
+
NextToken_P2 = checkpoint.screen.token;
|
|
66
|
+
return CanResolve_P2 = true;
|
|
67
|
+
}
|
|
68
|
+
else return CanResolve_P2 = false;
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
var CanResolve_P3;
|
|
73
|
+
var NextToken_P3;
|
|
74
|
+
let Form_P3 ={
|
|
75
|
+
doc_id: 7414856831926043,
|
|
76
|
+
lsd: lsd,
|
|
77
|
+
fb_api_caller_class: "RelayModern",
|
|
78
|
+
fb_api_req_friendly_name: "useEpsilonNavigateMutation",
|
|
79
|
+
server_timestamps: true,
|
|
80
|
+
variables: JSON.stringify({
|
|
81
|
+
input: {
|
|
82
|
+
client_mutation_id: 3,
|
|
83
|
+
actor_id: ctx.userId,
|
|
84
|
+
step: "CHANGE_PASSWORD",
|
|
85
|
+
token: JSON.stringify({
|
|
86
|
+
sensitive_string_value: NextToken_P2
|
|
87
|
+
})
|
|
88
|
+
},
|
|
89
|
+
scale:1
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P3, {}).then(function(resp) {
|
|
94
|
+
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
95
|
+
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonLoginDetailsConfirmationScreen" && checkpoint.screen.contact_points.length >= 1) {
|
|
96
|
+
NextToken_P3 = checkpoint.screen.token;
|
|
97
|
+
return CanResolve_P3 = true;
|
|
98
|
+
}
|
|
99
|
+
else return CanResolve_P3 = false;
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
var CanResolve_P4;
|
|
103
|
+
var NextToken_P4;
|
|
104
|
+
let Form_P4 ={
|
|
105
|
+
doc_id: 7414856831926043,
|
|
106
|
+
lsd: lsd,
|
|
107
|
+
fb_api_caller_class: "RelayModern",
|
|
108
|
+
fb_api_req_friendly_name: "useEpsilonNavigateMutation",
|
|
109
|
+
server_timestamps: true,
|
|
110
|
+
variables: JSON.stringify({
|
|
111
|
+
input: {
|
|
112
|
+
client_mutation_id: 4,
|
|
113
|
+
actor_id: ctx.userId,
|
|
114
|
+
step: "OUTRO",
|
|
115
|
+
token: JSON.stringify({
|
|
116
|
+
sensitive_string_value: NextToken_P3
|
|
117
|
+
})
|
|
118
|
+
},
|
|
119
|
+
scale:1
|
|
120
|
+
})
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
defaultFuncs.postFormData('https://www.facebook.com/api/graphql/', ctx.jar, Form_P4, {}).then(function(resp) {
|
|
124
|
+
let checkpoint = resp.data.epsilon_navigate.epsilon_checkpoint;
|
|
125
|
+
if (checkpoint.id == '__EPSILON_CLIENT__' && checkpoint.__typename == "EpsilonOutroScreen" && checkpoint.screen.fallback.uri == 'https://www.facebook.com/') {
|
|
126
|
+
NextToken_P4 = checkpoint.screen.token;
|
|
127
|
+
return CanResolve_P4 = true;
|
|
128
|
+
}
|
|
129
|
+
else return CanResolve_P4 = false;
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
function Find_And_Parse(Data) {
|
|
134
|
+
const regex = /<script\s+type="application\/json"\s+data-content-len="([0-9]+)"\s+data-sjs\s*(.*?)\s*<\/script>/gs;
|
|
135
|
+
const matches = Data.matchAll(regex);
|
|
136
|
+
let Data_resp;
|
|
137
|
+
for (const match of matches) {
|
|
138
|
+
if (JSON.parse(JSON.stringify((match[2]))).includes('any_eligible_challenges')) {
|
|
139
|
+
const Data_ = JSON.parse(match[2].replace('>', ''))
|
|
140
|
+
Data_resp = findAnyEligibleChallengesAndSiblings(Data_)
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
function findAnyEligibleChallengesAndSiblings(data) {
|
|
147
|
+
const screenData = findScreenData(data);
|
|
148
|
+
if (!screenData) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const siblings = {};
|
|
153
|
+
for (const [key, value] of Object.entries(screenData)) {
|
|
154
|
+
if (key === 'any_eligible_challenges') {
|
|
155
|
+
siblings[key] = value;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
siblings[key] = value;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return siblings;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function findScreenData(data) {
|
|
166
|
+
if (Array.isArray(data)) {
|
|
167
|
+
for (const item of data) {
|
|
168
|
+
const result = findScreenData(item);
|
|
169
|
+
if (result) {
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else if (typeof data === 'object' && data !== null) {
|
|
175
|
+
if (data.screen) {
|
|
176
|
+
return data.screen;
|
|
177
|
+
}
|
|
178
|
+
for (const value of Object.values(data)) {
|
|
179
|
+
const result = findScreenData(value);
|
|
180
|
+
if (result) {
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
return Data_resp.token || null
|
|
188
188
|
}
|