beta-fhr 0.0.1-security → 5.3.2

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.

Potentially problematic release.


This version of beta-fhr might be problematic. Click here for more details.

Files changed (113) hide show
  1. package/.cache/replit/__replit_disk_meta.json +1 -0
  2. package/.cache/replit/modules.stamp +1 -0
  3. package/.cache/replit/nix/env.json +1 -0
  4. package/Extra/Database/index.js +469 -0
  5. package/Extra/ExtraAddons.js +83 -0
  6. package/Extra/ExtraFindUID.js +62 -0
  7. package/Extra/ExtraGetThread.js +340 -0
  8. package/Extra/ExtraScreenShot.js +430 -0
  9. package/Extra/ExtraUptimeRobot.js +38 -0
  10. package/Extra/Html/Classic/script.js +119 -0
  11. package/Extra/Html/Classic/style.css +8 -0
  12. package/Extra/Security/Index.js +146 -0
  13. package/Extra/Security/Step_1.js +6 -0
  14. package/Extra/Security/Step_2.js +22 -0
  15. package/Extra/Security/Step_3.js +22 -0
  16. package/Extra/Src/Change_Environment.js +24 -0
  17. package/Extra/Src/Check_Update.js +67 -0
  18. package/Extra/Src/History.js +115 -0
  19. package/Extra/Src/Instant_Update.js +65 -0
  20. package/Extra/Src/Last-Run.js +65 -0
  21. package/Extra/Src/Premium.js +81 -0
  22. package/Extra/Src/Release_Memory.js +41 -0
  23. package/Extra/Src/uuid.js +137 -0
  24. package/Func/AcceptAgreement.js +32 -0
  25. package/Func/ClearCache.js +64 -0
  26. package/Func/ReportV1.js +54 -0
  27. package/Index.js +356 -0
  28. package/LICENSE +21 -0
  29. package/Language/index.json +313 -0
  30. package/Main.js +1099 -0
  31. package/README.md +148 -3
  32. package/SECURITY.md +17 -0
  33. package/broadcast.js +40 -0
  34. package/logger.js +66 -0
  35. package/package.json +96 -3
  36. package/src/Dev_Horizon_Data.js +125 -0
  37. package/src/Premium.js +30 -0
  38. package/src/Screenshot.js +83 -0
  39. package/src/addExternalModule.js +16 -0
  40. package/src/addUserToGroup.js +79 -0
  41. package/src/changeAdminStatus.js +79 -0
  42. package/src/changeArchivedStatus.js +41 -0
  43. package/src/changeAvt.js +85 -0
  44. package/src/changeBio.js +65 -0
  45. package/src/changeBlockedStatus.js +36 -0
  46. package/src/changeGroupImage.js +106 -0
  47. package/src/changeNickname.js +45 -0
  48. package/src/changeThreadColor.js +62 -0
  49. package/src/changeThreadEmoji.js +42 -0
  50. package/src/createNewGroup.js +70 -0
  51. package/src/createPoll.js +60 -0
  52. package/src/deleteMessage.js +45 -0
  53. package/src/deleteThread.js +43 -0
  54. package/src/forwardAttachment.js +48 -0
  55. package/src/getAccessToken.js +28 -0
  56. package/src/getCurrentUserID.js +7 -0
  57. package/src/getEmojiUrl.js +27 -0
  58. package/src/getFriendsList.js +73 -0
  59. package/src/getMessage.js +80 -0
  60. package/src/getThreadHistory.js +537 -0
  61. package/src/getThreadInfo.js +440 -0
  62. package/src/getThreadList.js +213 -0
  63. package/src/getThreadMain.js +220 -0
  64. package/src/getThreadPictures.js +59 -0
  65. package/src/getUID.js +59 -0
  66. package/src/getUserID.js +62 -0
  67. package/src/getUserInfo.js +113 -0
  68. package/src/getUserInfoMain.js +65 -0
  69. package/src/getUserInfoV2.js +32 -0
  70. package/src/getUserInfoV3.js +63 -0
  71. package/src/getUserInfoV4.js +55 -0
  72. package/src/getUserInfoV5.js +61 -0
  73. package/src/handleFriendRequest.js +46 -0
  74. package/src/handleMessageRequest.js +49 -0
  75. package/src/httpGet.js +49 -0
  76. package/src/httpPost.js +48 -0
  77. package/src/httpPostFormData.js +41 -0
  78. package/src/listenMqtt.js +790 -0
  79. package/src/logout.js +68 -0
  80. package/src/markAsDelivered.js +48 -0
  81. package/src/markAsRead.js +70 -0
  82. package/src/markAsReadAll.js +43 -0
  83. package/src/markAsSeen.js +51 -0
  84. package/src/muteThread.js +47 -0
  85. package/src/removeUserFromGroup.js +49 -0
  86. package/src/resolvePhotoUrl.js +37 -0
  87. package/src/searchForThread.js +43 -0
  88. package/src/sendMessage.js +334 -0
  89. package/src/sendTypingIndicator.js +80 -0
  90. package/src/setMessageReaction.js +109 -0
  91. package/src/setPostReaction.js +102 -0
  92. package/src/setTitle.js +74 -0
  93. package/src/threadColors.js +39 -0
  94. package/src/unfriend.js +43 -0
  95. package/src/unsendMessage.js +40 -0
  96. package/test/Database_Test.js +4 -0
  97. package/test/Db2.js +530 -0
  98. package/test/FHR_Jake_DB/DB_README.md +1 -0
  99. package/test/FHR_Jake_DB/Database.db +0 -0
  100. package/test/FHR_Jake_DB/Database.sqlite +0 -0
  101. package/test/FHR_Jake_DB/SyntheticDatabase.sqlite +0 -0
  102. package/test/data/shareAttach.js +146 -0
  103. package/test/data/something.mov +0 -0
  104. package/test/data/test.png +0 -0
  105. package/test/data/test.txt +7 -0
  106. package/test/env/.env +0 -0
  107. package/test/example-config.json +18 -0
  108. package/test/example-db.db +0 -0
  109. package/test/memoryleak.js +18 -0
  110. package/test/test-page.js +140 -0
  111. package/test/test.js +385 -0
  112. package/test/testv2.js +18 -0
  113. package/utils.js +1639 -0
@@ -0,0 +1,41 @@
1
+ /* eslint-disable linebreak-style */
2
+ const v8 = require('v8');
3
+
4
+ function gc() {
5
+ var v8 = require("v8");
6
+ var vm = require('vm');
7
+ v8.setFlagsFromString('--expose_gc');
8
+ var gc = vm.runInNewContext('gc');
9
+ return gc;
10
+ }
11
+
12
+ if (typeof global.gc !== 'function') {
13
+ global.gc = gc();
14
+ }
15
+
16
+ var releaseMemory = function () {
17
+ if (global.gc) {
18
+ global.gc();
19
+ } else {
20
+ var v8 = require("v8");
21
+ var vm = require('node:vm');
22
+ v8.setFlagsFromString('--expose_gc');
23
+ vm.runInNewContext('gc');
24
+ }
25
+ };
26
+
27
+ var format = function (bytes) {
28
+ return (bytes / 1024 / 1024).toFixed(2);
29
+ };
30
+
31
+ function memoryWatcher(limit) {
32
+ let used = format(v8.getHeapStatistics().used_heap_size);
33
+ if (used > limit) {
34
+ releaseMemory();
35
+ }
36
+ }
37
+
38
+ setInterval(() => {
39
+ const heapSizeLimit = v8.getHeapStatistics().heap_size_limit;
40
+ memoryWatcher(format(heapSizeLimit) - (format(heapSizeLimit) / 60));// MB
41
+ }, 1000);
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Credit: @chronosis | Github: https://github.com/chronosis/uuid-apikey/
3
+ * Description: Update Package to resolve Deprecated from package "uuid"
4
+ */
5
+ // index.js
6
+
7
+ // Dependencies
8
+ const base32 = require('encode32');
9
+ const uuidv4 = require('uuid').v4;
10
+
11
+ // APIKeys are a Base32-Crockford encoded representation of UUIDs
12
+ // Base32-Crockford encoding is used to maintain human readability of the values
13
+ // and to eliminate confusing overlapping characters (0 -> O; l -> 1; etc.)
14
+ class UUIDAPIKey {
15
+ constructor() {
16
+ this.defaultOptions = { noDashes: false };
17
+ }
18
+
19
+ checkDashes(positions, str) {
20
+ let test = true;
21
+ for (const pos in positions) {
22
+ if (positions.hasOwnProperty(pos)) {
23
+ const chr = str.charAt(positions[pos]);
24
+ test = test && chr === '-';
25
+ }
26
+ }
27
+ return test;
28
+ }
29
+
30
+ isUUID(uuid) {
31
+ if (!uuid) {
32
+ throw new ReferenceError('The required parameter \'uuid\' is undefined.');
33
+ }
34
+ const uuidCheck = this.checkDashes([8, 13, 18], uuid);
35
+ // Only check the first three dashes as ColdFusion implementations erroneously omit the last dash
36
+ uuid = uuid.replace(/-/g, '');
37
+ const re = /[0-9A-Fa-f]*/g;
38
+ return uuidCheck && uuid.length === 32 && re.test(uuid);
39
+ }
40
+
41
+ isAPIKey(apiKey) {
42
+ if (!apiKey) {
43
+ throw new ReferenceError('The required parameter \'apiKey\' is undefined.');
44
+ }
45
+ apiKey = apiKey.toUpperCase().replace(/-/g, '');
46
+ const re = /[0-9A-Z]*/g;
47
+ return apiKey.length === 28 && re.test(apiKey);
48
+ }
49
+
50
+ toAPIKey(uuid, options) {
51
+ if (!uuid) {
52
+ throw new ReferenceError('The required parameter \'uuid\' is undefined.');
53
+ }
54
+ options = options || this.defaultOptions;
55
+ if (this.isUUID(uuid)) {
56
+ uuid = uuid.replace(/-/g, '');
57
+ const s1 = uuid.substr(0, 8);
58
+ const s2 = uuid.substr(8, 8);
59
+ const s3 = uuid.substr(16, 8);
60
+ const s4 = uuid.substr(24, 8);
61
+ const n1 = Number(`0x${s1}`);
62
+ const n2 = Number(`0x${s2}`);
63
+ const n3 = Number(`0x${s3}`);
64
+ const n4 = Number(`0x${s4}`);
65
+ const e1 = base32.encode32(n1);
66
+ const e2 = base32.encode32(n2);
67
+ const e3 = base32.encode32(n3);
68
+ const e4 = base32.encode32(n4);
69
+ if (options.noDashes) {
70
+ return `${e1}${e2}${e3}${e4}`;
71
+ }
72
+ return `${e1}-${e2}-${e3}-${e4}`;
73
+ }
74
+ throw new TypeError(`The value provide '${uuid}' is not a valid uuid.`);
75
+ }
76
+
77
+ toUUID(apiKey) {
78
+ if (!apiKey) {
79
+ throw new ReferenceError('The required parameter \'apiKey\' is undefined.');
80
+ }
81
+ if (this.isAPIKey(apiKey)) {
82
+ apiKey = apiKey.replace(/-/g, '');
83
+ const e1 = apiKey.substr(0, 7);
84
+ const e2 = apiKey.substr(7, 7);
85
+ const e3 = apiKey.substr(14, 7);
86
+ const e4 = apiKey.substr(21, 7);
87
+ const n1 = base32.decode32(e1);
88
+ const n2 = base32.decode32(e2);
89
+ const n3 = base32.decode32(e3);
90
+ const n4 = base32.decode32(e4);
91
+ const s1 = n1.toString(16).padStart(8, '0');
92
+ const s2 = n2.toString(16).padStart(8, '0');
93
+ const s3 = n3.toString(16).padStart(8, '0');
94
+ const s4 = n4.toString(16).padStart(8, '0');
95
+ const s2a = s2.substr(0, 4);
96
+ const s2b = s2.substr(4, 4);
97
+ const s3a = s3.substr(0, 4);
98
+ const s3b = s3.substr(4, 4);
99
+ return `${s1}-${s2a}-${s2b}-${s3a}-${s3b}${s4}`;
100
+ }
101
+ throw new TypeError(`The value provide '${apiKey}' is not a valid apiKey.`);
102
+ }
103
+
104
+ check(apiKey, uuid) {
105
+ if (!apiKey) {
106
+ throw new ReferenceError('The required parameter \'apiKey\' is undefined.');
107
+ }
108
+ if (!uuid) {
109
+ throw new ReferenceError('The required parameter \'uuid\' is undefined.');
110
+ }
111
+ const apiTest = this.isAPIKey(apiKey.toUpperCase());
112
+ const uuidTest = this.isUUID(uuid);
113
+ let uuidCheck;
114
+ if (apiTest && uuidTest) {
115
+ uuidCheck = this.toUUID(apiKey);
116
+ return uuid === uuidCheck;
117
+ }
118
+ let errMsg = '';
119
+ if (!apiTest) {
120
+ errMsg += `The value provide '${apiKey}' is not a valid apiKey. `;
121
+ }
122
+ if (!uuidTest) {
123
+ errMsg += `The value provide '${uuid}' is not a valid uuid. `;
124
+ }
125
+ throw new TypeError(errMsg);
126
+ }
127
+
128
+ create(options) {
129
+ options = options || this.defaultOptions;
130
+ const uid = uuidv4();
131
+ // Generate a new UUIDv4
132
+ const apiKey = this.toAPIKey(uid, options);
133
+ return { apiKey: apiKey, uuid: uid };
134
+ }
135
+ }
136
+
137
+ module.exports = new UUIDAPIKey();
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var utils = require("../utils");
4
+ var log = require("npmlog");
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function (args,callback) {
8
+ var resolveFunc = function () { };
9
+ var rejectFunc = function () { };
10
+ var returnPromise = new Promise(function (resolve, reject) {
11
+ resolveFunc = resolve;
12
+ rejectFunc = reject;
13
+ });
14
+
15
+ if (!callback) {
16
+ callback = function (err, data) {
17
+ if (err) return rejectFunc(err);
18
+ resolveFunc(data);
19
+ };
20
+ }
21
+ var Database = require('synthetic-horizon-database');
22
+ if (Database(true).get('agreement') == true) {
23
+ callback(null, "Accept");
24
+ }
25
+ else {
26
+ Database(true).set('agreement', true);
27
+ var Form = "=== Horizon end-user license agreement ===\n\n Free to use and edited ✨";
28
+ callback(null, Form);
29
+ }
30
+ return returnPromise;
31
+ };
32
+ };
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ const { execSync } = require('child_process');
3
+ var utils = require("../utils");
4
+ var log = require("../logger");
5
+ var Object = ['png','json','wav','mp3','mp4','jpg','txt','gif','tff','m4a'];
6
+ var Recommend = ['png','wav','mp3','mp4','jpg','m4a'];
7
+ module.exports = function (defaultFuncs, api, ctx) {
8
+ return function (Args,callback) {
9
+ let New1 = [];
10
+ if (!Args.New || utils.getType(Args.New) !== "Array") {
11
+ New1 = Recommend;
12
+ log.Normal("No Adding, Proceed to Use According to the Designated System !");
13
+ }
14
+ else {
15
+ for (let i = 0; i < Args.New.length; i++) {
16
+ if (Object.indexOf(Args.New[i]) === -1) {
17
+ log.Normal('File not found: ' + Args.New[i] + ' in the format list');
18
+ return;
19
+ }
20
+ New1.push(Args.New[i]);
21
+ }
22
+ }
23
+ var resolveFunc = function () { };
24
+ var rejectFunc = function () { };
25
+ var returnPromise = new Promise(function (resolve, reject) {
26
+ resolveFunc = resolve;
27
+ rejectFunc = reject;
28
+ });
29
+
30
+ if (!callback) {
31
+ callback = function (err, data) {
32
+ if (err) return rejectFunc(err);
33
+ resolveFunc(data);
34
+ };
35
+ }
36
+ switch (process.platform) {
37
+ case 'linux': {
38
+ for (let i = 0; i < New1.length; i++) {
39
+ log.Normal('Đang Clear Loại File ' + New1[i]);
40
+ var STR = String(`find ./modules -type f -iname \'*.${New1[i]}\' -exec rm {} \\;`);
41
+ execSync(STR);
42
+ }
43
+ log.Normal('Success Clear ' + New1.length + ' File Type !');
44
+ callback(null, 'Thành Công Clear ' + New1.length + ' File Type !');
45
+ }
46
+ break;
47
+ case "win32": {
48
+ var cmd = "del /q /s /f /a ";
49
+ for (let i = 0; i < New1.length; i++) {
50
+ log.Normal('Success Clear File Type ' + New1[i]);
51
+ let STR = String(cmd + '.\\modules\\*.' + New1[i] + '"');
52
+ execSync(STR, { stdio: 'inherit' });
53
+ }
54
+ log.Normal('Success Clear ' + New1.length + ' File Type !');
55
+ callback(null, 'Success Clear ' + New1.length + ' File Type !');
56
+ }
57
+ break;
58
+ default: {
59
+ return log.Error('Not Supported, pls change file type to like mp4/mp3/jpeg/png/gif');
60
+ }
61
+ }
62
+ return returnPromise;
63
+ };
64
+ };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var utils = require("../utils");
4
+ var log = require("npmlog");
5
+
6
+ module.exports = function (defaultFuncs, api, ctx) {
7
+ return function (args,callback) {
8
+ if (!args.Link && !args.RealName && !args.Content && !args.Gmail) throw new Error("Link,RealName,Content,Gmail are required");
9
+ if (!args.Link) throw new Error("Điền args.Link vào, api.Premium.ReportV1(Link,RealName,Content,Gmail,Time,callback)");
10
+ if (!args.RealName) throw new Error("Điền RealName vào, api.Premium.ReportV1(Link,RealName,Content,Time,Gmail,callback)");
11
+ if (!args.Gmail) throw new Error("Điền Gmail vào, api.Premium.ReportV1(Link,RealName,Content,Gmail,Time,callback)");
12
+ var resolveFunc = function () { };
13
+ var rejectFunc = function () { };
14
+ var returnPromise = new Promise(function (resolve, reject) {
15
+ resolveFunc = resolve;
16
+ rejectFunc = reject;
17
+ });
18
+
19
+ if (!callback) {
20
+ callback = function (err, data) {
21
+ if (err) return rejectFunc(err);
22
+ resolveFunc(data);
23
+ };
24
+ }
25
+ let RealForm;
26
+ utils.get('https://www.facebook.com/help/contact/209046679279097?locale2=en_US', ctx.jar, null, ctx.globalOptions)
27
+ .then(function(data) {
28
+ RealForm = {
29
+ crt_url: args.Link,
30
+ crt_name: args.RealName,
31
+ cf_age: "9 years",
32
+ Field255260417881843: args.Content ? utils.getType(args.Content)=="String"? args.Content : "This timeline is impersonating me and my friends. It harass people on Facebook. I think this is a time line of baby, parents are not allowed. Please let Facebook account deactivated for Facebook is increasingly safer. Thank you!" : "This timeline is impersonating me and my friends. It is harassing people on Facebook. I think this is the timeline of a baby, parents are not allowed. Please let Facebook account deactivated for Facebook is increasingly safer. Thank you!",
33
+ Field166040066844792: args.Gmail,
34
+ source: '',
35
+ support_form_id: 209046679279097,
36
+ support_form_hidden_fields: JSON.stringify({}),
37
+ support_form_fact_false_fields: [],
38
+ lsd: utils.getFrom(data.body, "[\"LSD\",[],{\"token\":\"", "\"}")
39
+ };
40
+ }).then(function() {
41
+ defaultFuncs.postFormData('https://www.facebook.com/ajax/help/contact/submit/page', ctx.jar, RealForm, {})
42
+ .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
43
+ .then(async function(dt) {
44
+ if (dt.__ar == 1) {
45
+ callback(null, "Successful!");
46
+ }
47
+ else {
48
+ callback(null, "Failure");
49
+ }
50
+ });
51
+ })
52
+ return returnPromise;
53
+ }
54
+ };