ilhamdev commited on
Commit
22bc910
·
verified ·
1 Parent(s): 9a3a9e5

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +47 -8
index.js CHANGED
@@ -31,6 +31,30 @@ const post = async (url, form, headers = {}) => {
31
  return response;
32
  };
33
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  //BIMG
35
  async function bimg(query) {
36
  let bimg = await import('bimg')
@@ -53,7 +77,10 @@ async function mediafire(url) {
53
  return new Promise(async(resolve, reject) => {
54
  var a, b;
55
  if (!/https?:\/\/(www\.)?mediafire\.com/.test(url)) return resolve()
56
- const data = await axios.get(url).catch(function (error) {})
 
 
 
57
  if (!data) {
58
  resolve()
59
  } else {
@@ -117,7 +144,9 @@ async function fby2mate(url) {
117
  let data = await fetch(`https://y2mate.mx/api/ajaxSearch/facebook`, {
118
  method: 'POST',
119
  body: form,
120
- headers: {
 
 
121
  ...form.getHeaders()
122
  }
123
  })
@@ -134,8 +163,9 @@ async function uploadBuffer(buffer) {
134
  let res = await axios.post('https://ilhamdev-up.hf.space/upload', {
135
  file: buffer.toString('base64'),
136
  headers: {
137
- 'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
138
- }
 
139
  }).catch(e => reject(e))
140
  if (res.status !== 200) {
141
  resolve(res?.statusText)
@@ -308,7 +338,10 @@ const convert = async (url, v_id, ftype, fquality, fname, token, timeExpire) =>
308
 
309
  // Fungsi untuk mendownload video dari YouTube
310
  const youtubedl = async (url) => {
311
- let html = await (await fetch('https://yt5s.com/en32')).text();
 
 
 
312
  let urlAjax = (html.match(/k_url_search="(.*?)"/) || [])[1];
313
  let urlConvert = (html.match(/k_url_convert="(.*?)"/) || [])[1];
314
  let json = await (await post(urlAjax, { q: url, vt: 'home' })).json();
@@ -347,7 +380,11 @@ async function twitterDL(url) {
347
  let response = await fetch('https://x2twitter.com/api/ajaxSearch', {
348
  method: 'POST',
349
  body: form,
350
- headers: form.getHeaders()
 
 
 
 
351
  });
352
 
353
  let data = await response.json();
@@ -524,7 +561,8 @@ app.all('/', async (req, res) => {
524
  let { url } = req.query
525
  let regex = /https?:\/\/(www\.|v(t|m|vt)\.|t\.)?tiktok\.com/;
526
  if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
527
- let data = await fetch(`https://tikwm.com/api/?url=` + url)
 
528
  data = await data.json()
529
  if (!data) return res.json({ message: 'API TO API KOID:v' });
530
  return res.json(data)
@@ -538,7 +576,8 @@ app.all('/', async (req, res) => {
538
  let { url } = req.query
539
  let regex = /https:\/\/pin\.it\/\w+|https:\/\/[a-z]{2}\.pinterest\.com\/pin\/\d+/;
540
  if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
541
- let data = await fetch(`https://pinterestdownloader.io/id/frontendService/DownloaderService?url=` + url)
 
542
  data = await data.json()
543
  if (!data) return res.json({ message: 'API TO API KOID:v' });
544
  return res.json(data)
 
31
  return response;
32
  };
33
 
34
+ //RANDOM
35
+ function generateRandomUserAgent() {
36
+ const androidVersions = ['4.0.3', '4.1.1', '4.2.2', '4.3', '4.4', '5.0.2', '5.1', '6.0', '7.0', '8.0', '9.0', '10.0', '11.0', '12.0', '13.0'];
37
+ const deviceModels = ['M2004J19C', 'S2020X3', 'Xiaomi4S', 'RedmiNote9', 'SamsungS21', 'GooglePixel5', 'iPhone13,4', 'SM-A526B', 'SM-G991B', 'SM-G998B', 'iPhone13,2', 'iPhone13,3', 'iPhone13,1', 'SM-G996B', 'SM-G970F'];
38
+ const buildVersions = ['RP1A.200720.011', 'RP1A.210505.003', 'RP1A.210812.016', 'QKQ1.200114.002', 'RQ2A.210505.003', 'RQ3A.211001.001', 'SD1A.210817.036', 'T825YDXU3CTK1', 'QKQ1.191014.012', 'QKQ1.190918.001', 'QKQ1.190626.002', 'QKQ1.190716.003', 'QKQ1.190626.002', 'QKQ1.190626.002', 'QKQ1.190626.002'];
39
+ const browsers = ['Chrome', 'Firefox', 'Safari', 'Edge', 'Opera'];
40
+
41
+ const getRandomElement = (arr) => arr[Math.floor(Math.random() * arr.length)];
42
+ const getRandomNumber = (max) => Math.floor(Math.random() * max) + 1;
43
+
44
+ const selectedModel = getRandomElement(deviceModels);
45
+ const selectedBuild = getRandomElement(buildVersions);
46
+ const selectedBrowser = getRandomElement(browsers);
47
+ const browserVersion = `${selectedBrowser}/${getRandomNumber(96)}.${getRandomNumber(999)}.${getRandomNumber(9999)}.${getRandomNumber(99)}`;
48
+ const userAgent = `Mozilla/5.0 (Linux; Android ${getRandomElement(androidVersions)}; ${selectedModel} Build/${selectedBuild}) AppleWebKit/537.36 (KHTML, like Gecko) ${browserVersion} Mobile Safari/537.36`;
49
+
50
+ return userAgent;
51
+ }
52
+ function generateRandomIP() {
53
+ return Array(4)
54
+ .fill(0)
55
+ .map(() => Math.floor(Math.random() * 256))
56
+ .join('.');
57
+ }
58
  //BIMG
59
  async function bimg(query) {
60
  let bimg = await import('bimg')
 
77
  return new Promise(async(resolve, reject) => {
78
  var a, b;
79
  if (!/https?:\/\/(www\.)?mediafire\.com/.test(url)) return resolve()
80
+ const data = await axios.get(url, {headers: {
81
+ 'User-Agent': generateRandomUserAgent(),
82
+ 'X-Forwarded-For': generateRandomIP(),
83
+ }}).catch(function (error) {})
84
  if (!data) {
85
  resolve()
86
  } else {
 
144
  let data = await fetch(`https://y2mate.mx/api/ajaxSearch/facebook`, {
145
  method: 'POST',
146
  body: form,
147
+ headers: {
148
+ 'User-Agent': generateRandomUserAgent(),
149
+ 'X-Forwarded-For': generateRandomIP(),
150
  ...form.getHeaders()
151
  }
152
  })
 
163
  let res = await axios.post('https://ilhamdev-up.hf.space/upload', {
164
  file: buffer.toString('base64'),
165
  headers: {
166
+ 'User-Agent': generateRandomUserAgent(),
167
+ 'X-Forwarded-For': generateRandomIP(),
168
+ }
169
  }).catch(e => reject(e))
170
  if (res.status !== 200) {
171
  resolve(res?.statusText)
 
338
 
339
  // Fungsi untuk mendownload video dari YouTube
340
  const youtubedl = async (url) => {
341
+ let html = await (await fetch('https://yt5s.com/en32', {headers: {
342
+ 'User-Agent': generateRandomUserAgent(),
343
+ 'X-Forwarded-For': generateRandomIP(),
344
+ }})).text();
345
  let urlAjax = (html.match(/k_url_search="(.*?)"/) || [])[1];
346
  let urlConvert = (html.match(/k_url_convert="(.*?)"/) || [])[1];
347
  let json = await (await post(urlAjax, { q: url, vt: 'home' })).json();
 
380
  let response = await fetch('https://x2twitter.com/api/ajaxSearch', {
381
  method: 'POST',
382
  body: form,
383
+ headers: {
384
+ 'User-Agent': generateRandomUserAgent(),
385
+ 'X-Forwarded-For': generateRandomIP(),
386
+ ...form.getHeaders()
387
+ }
388
  });
389
 
390
  let data = await response.json();
 
561
  let { url } = req.query
562
  let regex = /https?:\/\/(www\.|v(t|m|vt)\.|t\.)?tiktok\.com/;
563
  if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
564
+ let data = await fetch(`https://tikwm.com/api/?url=` + url, {headers: {'User-Agent': generateRandomUserAgent(),
565
+ 'X-Forwarded-For': generateRandomIP(),}})
566
  data = await data.json()
567
  if (!data) return res.json({ message: 'API TO API KOID:v' });
568
  return res.json(data)
 
576
  let { url } = req.query
577
  let regex = /https:\/\/pin\.it\/\w+|https:\/\/[a-z]{2}\.pinterest\.com\/pin\/\d+/;
578
  if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
579
+ let data = await fetch(`https://pinterestdownloader.io/id/frontendService/DownloaderService?url=` + url, {headers:{'User-Agent': generateRandomUserAgent(),
580
+ 'X-Forwarded-For': generateRandomIP(),}})
581
  data = await data.json()
582
  if (!data) return res.json({ message: 'API TO API KOID:v' });
583
  return res.json(data)