Rifd commited on
Commit
79a42c2
·
1 Parent(s): 1a66325
Files changed (5) hide show
  1. edit.js +77 -0
  2. ip.js +14 -7
  3. package-lock.json +500 -0
  4. package.json +1 -0
  5. youtube tester +1 -1
edit.js ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const fs = require("fs");
2
+ const Form = require("form-data");
3
+
4
+ global.data = {
5
+ messages: {},
6
+ taskId: {},
7
+ listimageedit: ["omnigen"],
8
+ };
9
+
10
+ class Edit {
11
+ static async omnigen(buffer, prompt) {
12
+ try {
13
+ const formData = new FormData();
14
+
15
+ const file = new File([buffer], "image.png", { type: "image/png" });
16
+ formData.append("image", file);
17
+
18
+ formData.append("prompt", prompt);
19
+
20
+ const response = await fetch(
21
+ "https://omnigenai.org/api/ai/image/image-editor",
22
+ {
23
+ method: "POST",
24
+ headers: {
25
+ accept: "*/*",
26
+ "accept-language": "id-ID,id;q=0.9,en-US;q=0.8",
27
+ Referer: "https://omnigenai.org/ai-image-editor",
28
+ },
29
+ credentials: "include",
30
+ body: formData,
31
+ }
32
+ );
33
+
34
+ if (!response.ok) {
35
+ throw new Error(`Gagal: ${response.status} ${response.statusText}`);
36
+ }
37
+
38
+ const result = await response.json();
39
+ return result;
40
+ } catch (error) {
41
+ console.error("Error:", error);
42
+ throw error;
43
+ }
44
+ }
45
+ }
46
+
47
+ let changeList = function (list) {
48
+ if (!(list in data)) return;
49
+ data[list].push(data[list].shift());
50
+ };
51
+ const edit = async (image, retries = 20, delay = 1000) => {
52
+ for (let attempt = 1; attempt <= retries; attempt++) {
53
+ try {
54
+ let ai = await Edit[data.listimageedit[0]](image);
55
+ console.log({ ai });
56
+
57
+ console.log(`[${data.listimageedit[0]}]`, ai);
58
+ changeList("listimageedit");
59
+ } catch (error) {
60
+ changeList("listimageedit");
61
+ if (attempt < retries) {
62
+ console.log(
63
+ `IMAGE_EDIT[${
64
+ data.listimageedit[data.listimageedit.length - 1]
65
+ }]: Retryng ${attempt} failed.`,
66
+ error
67
+ );
68
+ await new Promise((resolve) => setTimeout(resolve, delay));
69
+ } else {
70
+ return new Error(`Failed after ${retries} attempts: ${error.message}`);
71
+ }
72
+ }
73
+ }
74
+ };
75
+
76
+ let image = fetch.readFileSync("./a.jpg");
77
+ edit(image).then((a) => console.log(a));
ip.js CHANGED
@@ -1,22 +1,29 @@
1
- const fs = require("fs")
2
- let accounts = fs.readFileSync('./account', 'utf8').split("\n");
3
- let custom = process.argv.slice(2)
4
- let _accounts = custom?.length > 0 ? custom : accounts
 
 
 
5
  console.log(_accounts);
6
 
7
  (async () => {
8
  for (let i of _accounts) {
9
  try {
10
- const url = `https://${i}-cors.hf.space/proxy?url=${encodeURIComponent('https://ipwho.is')}`;
 
 
11
  const res = await fetch(url);
12
  if (!res.ok) throw new Error(`Status ${res.status}`);
13
  const json = await res.json();
14
 
15
  if (!json.success) throw new Error(json.message || "Unknown error");
16
 
17
- console.log(`[${i}] IP: ${json.ip} | Lokasi: ${json.city}, ${json.region}, ${json.country}`);
 
 
18
  } catch (err) {
19
  console.error(`[${i}] Gagal: ${err.message}`);
20
  }
21
  }
22
- })()
 
1
+ const fs = require("fs");
2
+ let accounts = fs
3
+ .readFileSync("./account", "utf8")
4
+ .split("\n")
5
+ .filter((a) => !a.includes("!"));
6
+ let custom = process.argv.slice(2);
7
+ let _accounts = custom?.length > 0 ? custom : accounts;
8
  console.log(_accounts);
9
 
10
  (async () => {
11
  for (let i of _accounts) {
12
  try {
13
+ const url = `https://${i}-cors.hf.space/proxy?url=${encodeURIComponent(
14
+ "https://ipwho.is"
15
+ )}`;
16
  const res = await fetch(url);
17
  if (!res.ok) throw new Error(`Status ${res.status}`);
18
  const json = await res.json();
19
 
20
  if (!json.success) throw new Error(json.message || "Unknown error");
21
 
22
+ console.log(
23
+ `[${i}] IP: ${json.ip} | Lokasi: ${json.city}, ${json.region}, ${json.country}`
24
+ );
25
  } catch (err) {
26
  console.error(`[${i}] Gagal: ${err.message}`);
27
  }
28
  }
29
+ })();
package-lock.json CHANGED
@@ -14,9 +14,394 @@
14
  "dotenv": "^16.5.0",
15
  "express": "^4.21.2",
16
  "form-data": "^4.0.3",
 
17
  "yt-search": "^2.12.1"
18
  }
19
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  "node_modules/accepts": {
21
  "version": "1.3.8",
22
  "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@@ -267,6 +652,43 @@
267
  "timers-ext": "0.1"
268
  }
269
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  "node_modules/combined-stream": {
271
  "version": "1.0.8",
272
  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -407,6 +829,14 @@
407
  "npm": "1.2.8000 || >= 1.4.16"
408
  }
409
  },
 
 
 
 
 
 
 
 
410
  "node_modules/dom-serializer": {
411
  "version": "2.0.0",
412
  "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
@@ -915,6 +1345,11 @@
915
  "node": ">= 0.10"
916
  }
917
  },
 
 
 
 
 
918
  "node_modules/is-fullwidth-code-point": {
919
  "version": "2.0.0",
920
  "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
@@ -1236,6 +1671,17 @@
1236
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1237
  "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1238
  },
 
 
 
 
 
 
 
 
 
 
 
1239
  "node_modules/send": {
1240
  "version": "0.19.0",
1241
  "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
@@ -1307,6 +1753,46 @@
1307
  "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1308
  "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1309
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1310
  "node_modules/side-channel": {
1311
  "version": "1.0.6",
1312
  "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
@@ -1324,6 +1810,14 @@
1324
  "url": "https://github.com/sponsors/ljharb"
1325
  }
1326
  },
 
 
 
 
 
 
 
 
1327
  "node_modules/statuses": {
1328
  "version": "2.0.1",
1329
  "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
@@ -1383,6 +1877,12 @@
1383
  "node": ">=0.6"
1384
  }
1385
  },
 
 
 
 
 
 
1386
  "node_modules/ttys": {
1387
  "version": "0.0.3",
1388
  "resolved": "https://registry.npmjs.org/ttys/-/ttys-0.0.3.tgz",
 
14
  "dotenv": "^16.5.0",
15
  "express": "^4.21.2",
16
  "form-data": "^4.0.3",
17
+ "sharp": "^0.34.2",
18
  "yt-search": "^2.12.1"
19
  }
20
  },
21
+ "node_modules/@emnapi/runtime": {
22
+ "version": "1.4.4",
23
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.4.tgz",
24
+ "integrity": "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==",
25
+ "optional": true,
26
+ "dependencies": {
27
+ "tslib": "^2.4.0"
28
+ }
29
+ },
30
+ "node_modules/@img/sharp-darwin-arm64": {
31
+ "version": "0.34.2",
32
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.2.tgz",
33
+ "integrity": "sha512-OfXHZPppddivUJnqyKoi5YVeHRkkNE2zUFT2gbpKxp/JZCFYEYubnMg+gOp6lWfasPrTS+KPosKqdI+ELYVDtg==",
34
+ "cpu": [
35
+ "arm64"
36
+ ],
37
+ "optional": true,
38
+ "os": [
39
+ "darwin"
40
+ ],
41
+ "engines": {
42
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
43
+ },
44
+ "funding": {
45
+ "url": "https://opencollective.com/libvips"
46
+ },
47
+ "optionalDependencies": {
48
+ "@img/sharp-libvips-darwin-arm64": "1.1.0"
49
+ }
50
+ },
51
+ "node_modules/@img/sharp-darwin-x64": {
52
+ "version": "0.34.2",
53
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.2.tgz",
54
+ "integrity": "sha512-dYvWqmjU9VxqXmjEtjmvHnGqF8GrVjM2Epj9rJ6BUIXvk8slvNDJbhGFvIoXzkDhrJC2jUxNLz/GUjjvSzfw+g==",
55
+ "cpu": [
56
+ "x64"
57
+ ],
58
+ "optional": true,
59
+ "os": [
60
+ "darwin"
61
+ ],
62
+ "engines": {
63
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
64
+ },
65
+ "funding": {
66
+ "url": "https://opencollective.com/libvips"
67
+ },
68
+ "optionalDependencies": {
69
+ "@img/sharp-libvips-darwin-x64": "1.1.0"
70
+ }
71
+ },
72
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
73
+ "version": "1.1.0",
74
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz",
75
+ "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==",
76
+ "cpu": [
77
+ "arm64"
78
+ ],
79
+ "optional": true,
80
+ "os": [
81
+ "darwin"
82
+ ],
83
+ "funding": {
84
+ "url": "https://opencollective.com/libvips"
85
+ }
86
+ },
87
+ "node_modules/@img/sharp-libvips-darwin-x64": {
88
+ "version": "1.1.0",
89
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz",
90
+ "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==",
91
+ "cpu": [
92
+ "x64"
93
+ ],
94
+ "optional": true,
95
+ "os": [
96
+ "darwin"
97
+ ],
98
+ "funding": {
99
+ "url": "https://opencollective.com/libvips"
100
+ }
101
+ },
102
+ "node_modules/@img/sharp-libvips-linux-arm": {
103
+ "version": "1.1.0",
104
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz",
105
+ "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==",
106
+ "cpu": [
107
+ "arm"
108
+ ],
109
+ "optional": true,
110
+ "os": [
111
+ "linux"
112
+ ],
113
+ "funding": {
114
+ "url": "https://opencollective.com/libvips"
115
+ }
116
+ },
117
+ "node_modules/@img/sharp-libvips-linux-arm64": {
118
+ "version": "1.1.0",
119
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz",
120
+ "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==",
121
+ "cpu": [
122
+ "arm64"
123
+ ],
124
+ "optional": true,
125
+ "os": [
126
+ "linux"
127
+ ],
128
+ "funding": {
129
+ "url": "https://opencollective.com/libvips"
130
+ }
131
+ },
132
+ "node_modules/@img/sharp-libvips-linux-ppc64": {
133
+ "version": "1.1.0",
134
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz",
135
+ "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==",
136
+ "cpu": [
137
+ "ppc64"
138
+ ],
139
+ "optional": true,
140
+ "os": [
141
+ "linux"
142
+ ],
143
+ "funding": {
144
+ "url": "https://opencollective.com/libvips"
145
+ }
146
+ },
147
+ "node_modules/@img/sharp-libvips-linux-s390x": {
148
+ "version": "1.1.0",
149
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz",
150
+ "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==",
151
+ "cpu": [
152
+ "s390x"
153
+ ],
154
+ "optional": true,
155
+ "os": [
156
+ "linux"
157
+ ],
158
+ "funding": {
159
+ "url": "https://opencollective.com/libvips"
160
+ }
161
+ },
162
+ "node_modules/@img/sharp-libvips-linux-x64": {
163
+ "version": "1.1.0",
164
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz",
165
+ "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==",
166
+ "cpu": [
167
+ "x64"
168
+ ],
169
+ "optional": true,
170
+ "os": [
171
+ "linux"
172
+ ],
173
+ "funding": {
174
+ "url": "https://opencollective.com/libvips"
175
+ }
176
+ },
177
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
178
+ "version": "1.1.0",
179
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz",
180
+ "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==",
181
+ "cpu": [
182
+ "arm64"
183
+ ],
184
+ "optional": true,
185
+ "os": [
186
+ "linux"
187
+ ],
188
+ "funding": {
189
+ "url": "https://opencollective.com/libvips"
190
+ }
191
+ },
192
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
193
+ "version": "1.1.0",
194
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz",
195
+ "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==",
196
+ "cpu": [
197
+ "x64"
198
+ ],
199
+ "optional": true,
200
+ "os": [
201
+ "linux"
202
+ ],
203
+ "funding": {
204
+ "url": "https://opencollective.com/libvips"
205
+ }
206
+ },
207
+ "node_modules/@img/sharp-linux-arm": {
208
+ "version": "0.34.2",
209
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.2.tgz",
210
+ "integrity": "sha512-0DZzkvuEOqQUP9mo2kjjKNok5AmnOr1jB2XYjkaoNRwpAYMDzRmAqUIa1nRi58S2WswqSfPOWLNOr0FDT3H5RQ==",
211
+ "cpu": [
212
+ "arm"
213
+ ],
214
+ "optional": true,
215
+ "os": [
216
+ "linux"
217
+ ],
218
+ "engines": {
219
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
220
+ },
221
+ "funding": {
222
+ "url": "https://opencollective.com/libvips"
223
+ },
224
+ "optionalDependencies": {
225
+ "@img/sharp-libvips-linux-arm": "1.1.0"
226
+ }
227
+ },
228
+ "node_modules/@img/sharp-linux-arm64": {
229
+ "version": "0.34.2",
230
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.2.tgz",
231
+ "integrity": "sha512-D8n8wgWmPDakc83LORcfJepdOSN6MvWNzzz2ux0MnIbOqdieRZwVYY32zxVx+IFUT8er5KPcyU3XXsn+GzG/0Q==",
232
+ "cpu": [
233
+ "arm64"
234
+ ],
235
+ "optional": true,
236
+ "os": [
237
+ "linux"
238
+ ],
239
+ "engines": {
240
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
241
+ },
242
+ "funding": {
243
+ "url": "https://opencollective.com/libvips"
244
+ },
245
+ "optionalDependencies": {
246
+ "@img/sharp-libvips-linux-arm64": "1.1.0"
247
+ }
248
+ },
249
+ "node_modules/@img/sharp-linux-s390x": {
250
+ "version": "0.34.2",
251
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.2.tgz",
252
+ "integrity": "sha512-EGZ1xwhBI7dNISwxjChqBGELCWMGDvmxZXKjQRuqMrakhO8QoMgqCrdjnAqJq/CScxfRn+Bb7suXBElKQpPDiw==",
253
+ "cpu": [
254
+ "s390x"
255
+ ],
256
+ "optional": true,
257
+ "os": [
258
+ "linux"
259
+ ],
260
+ "engines": {
261
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
262
+ },
263
+ "funding": {
264
+ "url": "https://opencollective.com/libvips"
265
+ },
266
+ "optionalDependencies": {
267
+ "@img/sharp-libvips-linux-s390x": "1.1.0"
268
+ }
269
+ },
270
+ "node_modules/@img/sharp-linux-x64": {
271
+ "version": "0.34.2",
272
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.2.tgz",
273
+ "integrity": "sha512-sD7J+h5nFLMMmOXYH4DD9UtSNBD05tWSSdWAcEyzqW8Cn5UxXvsHAxmxSesYUsTOBmUnjtxghKDl15EvfqLFbQ==",
274
+ "cpu": [
275
+ "x64"
276
+ ],
277
+ "optional": true,
278
+ "os": [
279
+ "linux"
280
+ ],
281
+ "engines": {
282
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
283
+ },
284
+ "funding": {
285
+ "url": "https://opencollective.com/libvips"
286
+ },
287
+ "optionalDependencies": {
288
+ "@img/sharp-libvips-linux-x64": "1.1.0"
289
+ }
290
+ },
291
+ "node_modules/@img/sharp-linuxmusl-arm64": {
292
+ "version": "0.34.2",
293
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.2.tgz",
294
+ "integrity": "sha512-NEE2vQ6wcxYav1/A22OOxoSOGiKnNmDzCYFOZ949xFmrWZOVII1Bp3NqVVpvj+3UeHMFyN5eP/V5hzViQ5CZNA==",
295
+ "cpu": [
296
+ "arm64"
297
+ ],
298
+ "optional": true,
299
+ "os": [
300
+ "linux"
301
+ ],
302
+ "engines": {
303
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
304
+ },
305
+ "funding": {
306
+ "url": "https://opencollective.com/libvips"
307
+ },
308
+ "optionalDependencies": {
309
+ "@img/sharp-libvips-linuxmusl-arm64": "1.1.0"
310
+ }
311
+ },
312
+ "node_modules/@img/sharp-linuxmusl-x64": {
313
+ "version": "0.34.2",
314
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.2.tgz",
315
+ "integrity": "sha512-DOYMrDm5E6/8bm/yQLCWyuDJwUnlevR8xtF8bs+gjZ7cyUNYXiSf/E8Kp0Ss5xasIaXSHzb888V1BE4i1hFhAA==",
316
+ "cpu": [
317
+ "x64"
318
+ ],
319
+ "optional": true,
320
+ "os": [
321
+ "linux"
322
+ ],
323
+ "engines": {
324
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
325
+ },
326
+ "funding": {
327
+ "url": "https://opencollective.com/libvips"
328
+ },
329
+ "optionalDependencies": {
330
+ "@img/sharp-libvips-linuxmusl-x64": "1.1.0"
331
+ }
332
+ },
333
+ "node_modules/@img/sharp-wasm32": {
334
+ "version": "0.34.2",
335
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.2.tgz",
336
+ "integrity": "sha512-/VI4mdlJ9zkaq53MbIG6rZY+QRN3MLbR6usYlgITEzi4Rpx5S6LFKsycOQjkOGmqTNmkIdLjEvooFKwww6OpdQ==",
337
+ "cpu": [
338
+ "wasm32"
339
+ ],
340
+ "optional": true,
341
+ "dependencies": {
342
+ "@emnapi/runtime": "^1.4.3"
343
+ },
344
+ "engines": {
345
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
346
+ },
347
+ "funding": {
348
+ "url": "https://opencollective.com/libvips"
349
+ }
350
+ },
351
+ "node_modules/@img/sharp-win32-arm64": {
352
+ "version": "0.34.2",
353
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.2.tgz",
354
+ "integrity": "sha512-cfP/r9FdS63VA5k0xiqaNaEoGxBg9k7uE+RQGzuK9fHt7jib4zAVVseR9LsE4gJcNWgT6APKMNnCcnyOtmSEUQ==",
355
+ "cpu": [
356
+ "arm64"
357
+ ],
358
+ "optional": true,
359
+ "os": [
360
+ "win32"
361
+ ],
362
+ "engines": {
363
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
364
+ },
365
+ "funding": {
366
+ "url": "https://opencollective.com/libvips"
367
+ }
368
+ },
369
+ "node_modules/@img/sharp-win32-ia32": {
370
+ "version": "0.34.2",
371
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.2.tgz",
372
+ "integrity": "sha512-QLjGGvAbj0X/FXl8n1WbtQ6iVBpWU7JO94u/P2M4a8CFYsvQi4GW2mRy/JqkRx0qpBzaOdKJKw8uc930EX2AHw==",
373
+ "cpu": [
374
+ "ia32"
375
+ ],
376
+ "optional": true,
377
+ "os": [
378
+ "win32"
379
+ ],
380
+ "engines": {
381
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
382
+ },
383
+ "funding": {
384
+ "url": "https://opencollective.com/libvips"
385
+ }
386
+ },
387
+ "node_modules/@img/sharp-win32-x64": {
388
+ "version": "0.34.2",
389
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.2.tgz",
390
+ "integrity": "sha512-aUdT6zEYtDKCaxkofmmJDJYGCf0+pJg3eU9/oBuqvEeoB9dKI6ZLc/1iLJCTuJQDO4ptntAlkUmHgGjyuobZbw==",
391
+ "cpu": [
392
+ "x64"
393
+ ],
394
+ "optional": true,
395
+ "os": [
396
+ "win32"
397
+ ],
398
+ "engines": {
399
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
400
+ },
401
+ "funding": {
402
+ "url": "https://opencollective.com/libvips"
403
+ }
404
+ },
405
  "node_modules/accepts": {
406
  "version": "1.3.8",
407
  "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
 
652
  "timers-ext": "0.1"
653
  }
654
  },
655
+ "node_modules/color": {
656
+ "version": "4.2.3",
657
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
658
+ "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
659
+ "dependencies": {
660
+ "color-convert": "^2.0.1",
661
+ "color-string": "^1.9.0"
662
+ },
663
+ "engines": {
664
+ "node": ">=12.5.0"
665
+ }
666
+ },
667
+ "node_modules/color-convert": {
668
+ "version": "2.0.1",
669
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
670
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
671
+ "dependencies": {
672
+ "color-name": "~1.1.4"
673
+ },
674
+ "engines": {
675
+ "node": ">=7.0.0"
676
+ }
677
+ },
678
+ "node_modules/color-name": {
679
+ "version": "1.1.4",
680
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
681
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
682
+ },
683
+ "node_modules/color-string": {
684
+ "version": "1.9.1",
685
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
686
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
687
+ "dependencies": {
688
+ "color-name": "^1.0.0",
689
+ "simple-swizzle": "^0.2.2"
690
+ }
691
+ },
692
  "node_modules/combined-stream": {
693
  "version": "1.0.8",
694
  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 
829
  "npm": "1.2.8000 || >= 1.4.16"
830
  }
831
  },
832
+ "node_modules/detect-libc": {
833
+ "version": "2.0.4",
834
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
835
+ "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
836
+ "engines": {
837
+ "node": ">=8"
838
+ }
839
+ },
840
  "node_modules/dom-serializer": {
841
  "version": "2.0.0",
842
  "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
 
1345
  "node": ">= 0.10"
1346
  }
1347
  },
1348
+ "node_modules/is-arrayish": {
1349
+ "version": "0.3.2",
1350
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
1351
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
1352
+ },
1353
  "node_modules/is-fullwidth-code-point": {
1354
  "version": "2.0.0",
1355
  "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
 
1671
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1672
  "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1673
  },
1674
+ "node_modules/semver": {
1675
+ "version": "7.7.2",
1676
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
1677
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
1678
+ "bin": {
1679
+ "semver": "bin/semver.js"
1680
+ },
1681
+ "engines": {
1682
+ "node": ">=10"
1683
+ }
1684
+ },
1685
  "node_modules/send": {
1686
  "version": "0.19.0",
1687
  "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
 
1753
  "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1754
  "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1755
  },
1756
+ "node_modules/sharp": {
1757
+ "version": "0.34.2",
1758
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.2.tgz",
1759
+ "integrity": "sha512-lszvBmB9QURERtyKT2bNmsgxXK0ShJrL/fvqlonCo7e6xBF8nT8xU6pW+PMIbLsz0RxQk3rgH9kd8UmvOzlMJg==",
1760
+ "hasInstallScript": true,
1761
+ "dependencies": {
1762
+ "color": "^4.2.3",
1763
+ "detect-libc": "^2.0.4",
1764
+ "semver": "^7.7.2"
1765
+ },
1766
+ "engines": {
1767
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
1768
+ },
1769
+ "funding": {
1770
+ "url": "https://opencollective.com/libvips"
1771
+ },
1772
+ "optionalDependencies": {
1773
+ "@img/sharp-darwin-arm64": "0.34.2",
1774
+ "@img/sharp-darwin-x64": "0.34.2",
1775
+ "@img/sharp-libvips-darwin-arm64": "1.1.0",
1776
+ "@img/sharp-libvips-darwin-x64": "1.1.0",
1777
+ "@img/sharp-libvips-linux-arm": "1.1.0",
1778
+ "@img/sharp-libvips-linux-arm64": "1.1.0",
1779
+ "@img/sharp-libvips-linux-ppc64": "1.1.0",
1780
+ "@img/sharp-libvips-linux-s390x": "1.1.0",
1781
+ "@img/sharp-libvips-linux-x64": "1.1.0",
1782
+ "@img/sharp-libvips-linuxmusl-arm64": "1.1.0",
1783
+ "@img/sharp-libvips-linuxmusl-x64": "1.1.0",
1784
+ "@img/sharp-linux-arm": "0.34.2",
1785
+ "@img/sharp-linux-arm64": "0.34.2",
1786
+ "@img/sharp-linux-s390x": "0.34.2",
1787
+ "@img/sharp-linux-x64": "0.34.2",
1788
+ "@img/sharp-linuxmusl-arm64": "0.34.2",
1789
+ "@img/sharp-linuxmusl-x64": "0.34.2",
1790
+ "@img/sharp-wasm32": "0.34.2",
1791
+ "@img/sharp-win32-arm64": "0.34.2",
1792
+ "@img/sharp-win32-ia32": "0.34.2",
1793
+ "@img/sharp-win32-x64": "0.34.2"
1794
+ }
1795
+ },
1796
  "node_modules/side-channel": {
1797
  "version": "1.0.6",
1798
  "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
 
1810
  "url": "https://github.com/sponsors/ljharb"
1811
  }
1812
  },
1813
+ "node_modules/simple-swizzle": {
1814
+ "version": "0.2.2",
1815
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
1816
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
1817
+ "dependencies": {
1818
+ "is-arrayish": "^0.3.1"
1819
+ }
1820
+ },
1821
  "node_modules/statuses": {
1822
  "version": "2.0.1",
1823
  "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
 
1877
  "node": ">=0.6"
1878
  }
1879
  },
1880
+ "node_modules/tslib": {
1881
+ "version": "2.8.1",
1882
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
1883
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
1884
+ "optional": true
1885
+ },
1886
  "node_modules/ttys": {
1887
  "version": "0.0.3",
1888
  "resolved": "https://registry.npmjs.org/ttys/-/ttys-0.0.3.tgz",
package.json CHANGED
@@ -15,6 +15,7 @@
15
  "dotenv": "^16.5.0",
16
  "express": "^4.21.2",
17
  "form-data": "^4.0.3",
 
18
  "yt-search": "^2.12.1"
19
  }
20
  }
 
15
  "dotenv": "^16.5.0",
16
  "express": "^4.21.2",
17
  "form-data": "^4.0.3",
18
+ "sharp": "^0.34.2",
19
  "yt-search": "^2.12.1"
20
  }
21
  }
youtube tester CHANGED
@@ -1 +1 @@
1
- https://azfx-cors.hf.space/api/forward/youtube/get?v=Xp/OlBzIJGBPAvbxNn4naQ==:CIGUpBCbEtQuvqYuvCz+PsPGvtWIpRRzn/tvaGzDWSaqSRrFJK0NXXVYYME+H7SdODoh/A+4m7ckG7icPsmITF0SXcfROos/KI7cb0PXaIYb2J4WUVOi6KWZF9asZ+87GaMPC+fnbugshK4NjyiLhuVVBPpnxGwxnY+Pd2OygXgvS2Q9DLzz6Onw9JTZzYWIIPhufTIKmka16dqh7r4TQYslpd0K3h9rS+Bj7UCGmVd/PsXA2IA5/1swbU15548rUmjYta2r551x0iTYxZGvqDHVffHmj9tgV1OWxLgiMkkWoOykacT7HJSRoIyNjzas&type=mp4&key=$AZFR&token=6BgdigORVhx+rKp79jDxrg==:lJqIxSmhbIPH9/Cz5QhX9PN6DGkobPAbVIyUjQAFVzcjZK+pHD7YgLlFyIEu3cvy
 
1
+ https://azfx-cors.hf.space/api/forward/youtube/get?v=Xp/OlBzIJGBPAvbxNn4naQ==:CIGUpBCbEtQuvqYuvCz+PsPGvtWIpRRzn/tvaGzDWSaqSRrFJK0NXXVYYME+H7SdODoh/A+4m7ckG7icPsmITF0SXcfROos/KI7cb0PXaIYb2J4WUVOi6KWZF9asZ+87GaMPC+fnbugshK4NjyiLhuVVBPpnxGwxnY+Pd2OygXgvS2Q9DLzz6Onw9JTZzYWIIPhufTIKmka16dqh7r4TQYslpd0K3h9rS+Bj7UCGmVd/PsXA2IA5/1swbU15548rUmjYta2r551x0iTYxZGvqDHVffHmj9tgV1OWxLgiMkkWoOykacT7HJSRoIyNjzas&type=mp4&key=$AZFR&token=6BgdigORVhx+rKp79jDxrg==:lJqIxSmhbIPH9/Cz5QhX9PN6DGkobPAbVIyUjQAFVzcjZK+pHD7YgLlFyIEu3cvy