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.
Files changed (135) hide show
  1. package/.gitlab-ci.yml +22 -0
  2. package/CountTime.json +1 -0
  3. package/Extra/Balancer.js +49 -49
  4. package/Extra/BroadcastSystem.js +1 -0
  5. package/Extra/Bypass/956/index.js +233 -233
  6. package/Extra/Bypass/test/aaaa.json +169 -169
  7. package/Extra/Bypass/test/index.js +187 -187
  8. package/Extra/Database/index.js +468 -468
  9. package/Extra/ExtraAddons.js +82 -82
  10. package/Extra/ExtraFindUID.js +61 -61
  11. package/Extra/ExtraGetThread.js +365 -365
  12. package/Extra/ExtraScreenShot.js +430 -430
  13. package/Extra/ExtraUptimeRobot.js +142 -38
  14. package/Extra/Html/Classic/script.js +118 -118
  15. package/Extra/Html/Classic/style.css +7 -7
  16. package/Extra/Security/Base/Step_1.js +5 -5
  17. package/Extra/Security/Base/Step_2.js +22 -22
  18. package/Extra/Security/Base/Step_3.js +22 -22
  19. package/Extra/Security/Base/index.js +190 -190
  20. package/Extra/Security/Index.js +4 -4
  21. package/Extra/Security/Step_1.js +5 -5
  22. package/Extra/Security/Step_2.js +22 -22
  23. package/Extra/Security/Step_3.js +22 -22
  24. package/Extra/Src/Change_Environment.js +24 -24
  25. package/Extra/Src/Check_Update.js +66 -66
  26. package/Extra/Src/History.js +114 -114
  27. package/Extra/Src/Instant_Update.js +64 -64
  28. package/Extra/Src/Last-Run.js +64 -64
  29. package/Extra/Src/Premium.js +81 -81
  30. package/Extra/Src/Websocket.js +212 -212
  31. package/Extra/Src/uuid.js +137 -137
  32. package/Func/AcceptAgreement.js +31 -31
  33. package/Func/ClearCache.js +64 -64
  34. package/Func/ReportV1.js +54 -54
  35. package/LICENSE +21 -21
  36. package/Language/index.json +228 -228
  37. package/Main.js +1 -1290
  38. package/README.md +198 -198
  39. package/broadcast.js +1 -44
  40. package/errorHandler.js +151 -0
  41. package/index.js +1 -448
  42. package/logger.js +69 -66
  43. package/package.json +99 -98
  44. package/src/Dev_Horizon_Data.js +124 -124
  45. package/src/Dev_getThreadInfoOLD.js +421 -421
  46. package/src/Dev_shareTest2.js +68 -68
  47. package/src/Dev_shareTest3.js +71 -71
  48. package/src/Premium.js +24 -24
  49. package/src/Screenshot.js +82 -82
  50. package/src/addExternalModule.js +16 -16
  51. package/src/addUserToGroup.js +79 -79
  52. package/src/changeAdminStatus.js +79 -79
  53. package/src/changeArchivedStatus.js +41 -41
  54. package/src/changeAvt.js +84 -84
  55. package/src/changeBio.js +65 -65
  56. package/src/changeBlockedStatus.js +36 -36
  57. package/src/changeGroupImage.js +106 -106
  58. package/src/changeNickname.js +45 -45
  59. package/src/changeThreadColor.js +62 -62
  60. package/src/changeThreadEmoji.js +42 -42
  61. package/src/changeThreadTheme.js +263 -0
  62. package/src/comment.js +244 -0
  63. package/src/createNewGroup.js +70 -70
  64. package/src/createPoll.js +60 -60
  65. package/src/deleteMessage.js +45 -45
  66. package/src/deleteThread.js +43 -43
  67. package/src/editMessage.js +71 -53
  68. package/src/follow.js +119 -0
  69. package/src/forwardAttachment.js +48 -48
  70. package/src/friend.js +383 -0
  71. package/src/getAccessToken.js +27 -27
  72. package/src/getCurrentUserID.js +7 -7
  73. package/src/getEmojiUrl.js +27 -27
  74. package/src/getFriendsList.js +73 -73
  75. package/src/getMessage.js +102 -102
  76. package/src/getPendingFriendRequests.js +45 -0
  77. package/src/getThreadHistory.js +537 -537
  78. package/src/getThreadInfo.js +424 -423
  79. package/src/getThreadInfoOLD.js +421 -421
  80. package/src/getThreadList.js +213 -213
  81. package/src/getThreadMain.js +219 -219
  82. package/src/getThreadPictures.js +59 -59
  83. package/src/getUID.js +58 -58
  84. package/src/getUserID.js +62 -62
  85. package/src/getUserInfo.js +112 -112
  86. package/src/getUserInfoMain.js +64 -64
  87. package/src/getUserInfoV2.js +31 -31
  88. package/src/getUserInfoV3.js +62 -62
  89. package/src/getUserInfoV4.js +54 -54
  90. package/src/getUserInfoV5.js +60 -60
  91. package/src/handleFriendRequest.js +46 -46
  92. package/src/handleMessageRequest.js +49 -49
  93. package/src/httpGet.js +49 -49
  94. package/src/httpPost.js +48 -48
  95. package/src/httpPostFormData.js +40 -40
  96. package/src/listenMqtt.js +1 -956
  97. package/src/listenMqttV1.js +832 -846
  98. package/src/logout.js +68 -68
  99. package/src/markAsDelivered.js +48 -48
  100. package/src/markAsRead.js +70 -70
  101. package/src/markAsReadAll.js +42 -42
  102. package/src/markAsSeen.js +51 -51
  103. package/src/muteThread.js +47 -47
  104. package/src/notes.js +279 -0
  105. package/src/removeUserFromGroup.js +49 -49
  106. package/src/resolvePhotoUrl.js +37 -37
  107. package/src/searchForThread.js +43 -43
  108. package/src/sendMention.js +325 -0
  109. package/src/sendMessage.js +1 -386
  110. package/src/sendMqttMessage.js +70 -70
  111. package/src/sendTypingIndicator.js +79 -80
  112. package/src/setMessageReaction.js +109 -109
  113. package/src/setPostReaction.js +101 -101
  114. package/src/setTitle.js +74 -74
  115. package/src/share.js +98 -0
  116. package/src/shareContact.js +55 -55
  117. package/src/shareLink.js +58 -58
  118. package/src/stickers.js +525 -0
  119. package/src/story.js +267 -0
  120. package/src/threadColors.js +38 -38
  121. package/src/unfriend.js +43 -43
  122. package/src/unsendMessage.js +47 -47
  123. package/src/unsendMqttMessage.js +65 -65
  124. package/test/data/shareAttach.js +146 -146
  125. package/test/data/test.txt +7 -7
  126. package/test/example-config.json +18 -18
  127. package/test/test-page.js +140 -140
  128. package/test/test.js +385 -385
  129. package/test/testv2.js +2 -2
  130. package/userAgentManager.js +129 -0
  131. package/utils.js +1 -3077
  132. package/.github/workflows/publish.yml +0 -20
  133. package/Extra/Src/Release_Memory.js +0 -160
  134. package/Extra/Src/test.js +0 -28
  135. package/SECURITY.md +0 -17
package/test/testv2.js CHANGED
@@ -1,3 +1,3 @@
1
- var languageFile = require('../Language/index.json');
2
- var data = languageFile.find(i => i.Language == "vi");
1
+ var languageFile = require('../Language/index.json');
2
+ var data = languageFile.find(i => i.Language == "vi");
3
3
  console.log(data);
@@ -0,0 +1,129 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * User Agent Manager for FCA
5
+ * Provides random, realistic user agents to avoid bot detection
6
+ */
7
+
8
+ const uniqueRandomUserAgent = require('unique-random-useragent');
9
+
10
+ class UserAgentManager {
11
+ constructor() {
12
+ // Cache current user agent for session consistency
13
+ this.currentUserAgent = null;
14
+ this.lastRotationTime = null;
15
+ this.rotationInterval = 3600000; // Rotate every 1 hour (in milliseconds)
16
+
17
+ // Fallback user agents if package fails
18
+ this.fallbackUserAgents = [
19
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
20
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
21
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0',
22
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
23
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15',
24
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0'
25
+ ];
26
+ }
27
+
28
+ /**
29
+ * Prefer UA from PriyanshFca.json if provided
30
+ */
31
+ getCustomUserAgentFromConfig() {
32
+ try {
33
+ // global.Fca is initialized in fca-updated/index.js
34
+ const customUA = global?.Fca?.Require?.Priyansh?.UserAgent;
35
+ if (typeof customUA === 'string' && customUA.trim().length > 0) {
36
+ return customUA.trim();
37
+ }
38
+ } catch {}
39
+ return null;
40
+ }
41
+
42
+ /**
43
+ * Get a random user agent
44
+ * @returns {string} Random user agent string
45
+ */
46
+ getRandomUserAgent() {
47
+ try {
48
+ // Try to get from unique-random-useragent package
49
+ const userAgent = uniqueRandomUserAgent.getRandomUserAgent();
50
+ if (userAgent && userAgent.length > 0) {
51
+ return userAgent;
52
+ }
53
+ } catch (error) {
54
+ // If package fails, use fallback
55
+ console.log('Using fallback user agent');
56
+ }
57
+
58
+ // Fallback to our list
59
+ const randomIndex = Math.floor(Math.random() * this.fallbackUserAgents.length);
60
+ return this.fallbackUserAgents[randomIndex];
61
+ }
62
+
63
+ /**
64
+ * Get current user agent (with automatic rotation based on time)
65
+ * @returns {string} Current user agent string
66
+ */
67
+ getUserAgent() {
68
+ // If user defined UA in PriyanshFca.json, always use it and do not rotate
69
+ const fromConfig = this.getCustomUserAgentFromConfig();
70
+ if (fromConfig) {
71
+ this.currentUserAgent = fromConfig;
72
+ this.lastRotationTime = Date.now();
73
+ return this.currentUserAgent;
74
+ }
75
+
76
+ const now = Date.now();
77
+
78
+ // Check if we need to rotate (first time or interval passed)
79
+ if (!this.currentUserAgent ||
80
+ !this.lastRotationTime ||
81
+ (now - this.lastRotationTime) > this.rotationInterval) {
82
+
83
+ this.currentUserAgent = this.getRandomUserAgent();
84
+ this.lastRotationTime = now;
85
+ }
86
+
87
+ return this.currentUserAgent;
88
+ }
89
+
90
+ /**
91
+ * Force rotation of user agent
92
+ * @returns {string} New user agent string
93
+ */
94
+ forceRotate() {
95
+ // Respect custom UA if present
96
+ const fromConfig = this.getCustomUserAgentFromConfig();
97
+ if (fromConfig) {
98
+ this.currentUserAgent = fromConfig;
99
+ this.lastRotationTime = Date.now();
100
+ return this.currentUserAgent;
101
+ }
102
+ this.currentUserAgent = this.getRandomUserAgent();
103
+ this.lastRotationTime = Date.now();
104
+ return this.currentUserAgent;
105
+ }
106
+
107
+ /**
108
+ * Get a specific type of user agent
109
+ * @param {string} type - 'chrome', 'firefox', 'safari', 'edge'
110
+ * @returns {string} User agent of specified type
111
+ */
112
+ getUserAgentByType(type) {
113
+ const types = {
114
+ 'chrome': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
115
+ 'firefox': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0',
116
+ 'safari': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15',
117
+ 'edge': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0'
118
+ };
119
+
120
+ // If custom UA provided, use it
121
+ const fromConfig = this.getCustomUserAgentFromConfig();
122
+ if (fromConfig) return fromConfig;
123
+
124
+ return types[type.toLowerCase()] || this.getUserAgent();
125
+ }
126
+ }
127
+
128
+ // Export singleton instance
129
+ module.exports = new UserAgentManager();