Update index.js
Browse files
index.js
CHANGED
|
@@ -431,11 +431,11 @@ form.append('lang', 'en');
|
|
| 431 |
|
| 432 |
|
| 433 |
const app = express()
|
| 434 |
-
.set('json spaces', 4)
|
| 435 |
-
.use(morgan('dev'))
|
| 436 |
-
.use(express.json())
|
| 437 |
-
.all('/', async (req, res) => {
|
| 438 |
-
const v8 = require('v8');
|
| 439 |
|
| 440 |
const status = {};
|
| 441 |
status['diskUsage'] = cp.execSync('du -sh').toString().split('M')[0] + ' MB';
|
|
@@ -447,24 +447,25 @@ const app = express()
|
|
| 447 |
const freemem = os.freemem();
|
| 448 |
status['memoryUsage'] = `${formatSize(totalmem - freemem)} / ${formatSize(totalmem)}`;
|
| 449 |
|
| 450 |
-
// Menambahkan statistik heap V8
|
| 451 |
const heapStats = v8.getHeapStatistics();
|
| 452 |
for (let x in heapStats) status[x] = formatSize(heapStats[x]);
|
| 453 |
|
| 454 |
-
// Menambahkan
|
| 455 |
-
|
| 456 |
-
|
| 457 |
-
|
| 458 |
-
|
| 459 |
-
|
|
|
|
|
|
|
| 460 |
|
| 461 |
const host = 'https://' + req.get('host');
|
| 462 |
|
| 463 |
res.json({
|
| 464 |
-
|
| 465 |
-
|
| 466 |
-
|
| 467 |
-
|
| 468 |
list: [
|
| 469 |
{
|
| 470 |
title: "BING AI",
|
|
@@ -549,10 +550,12 @@ try {
|
|
| 549 |
//other: otherAPI || null
|
| 550 |
};
|
| 551 |
|
| 552 |
-
return res.json(response)
|
| 553 |
} catch (e) {
|
| 554 |
console.log(e);
|
| 555 |
-
return res.status(500).json({ message:
|
|
|
|
|
|
|
| 556 |
}
|
| 557 |
})
|
| 558 |
.get('/ig', async (req,res) => {
|
|
@@ -561,10 +564,12 @@ let {url} = req.query
|
|
| 561 |
let regex = /https?:\/\/(www\.)?instagram\.com\/(p|reel|tv)\/[a-zA-Z0-9_-]+\/?/;
|
| 562 |
if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
|
| 563 |
let data = await igdl(url)
|
| 564 |
-
return res.json(data)
|
| 565 |
} catch (e) {
|
| 566 |
-
console.log(e);
|
| 567 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 568 |
}
|
| 569 |
})
|
| 570 |
.get('/tt', async (req, res) => {
|
|
@@ -598,13 +603,15 @@ return res.json({ message: e.message });
|
|
| 598 |
}
|
| 599 |
}
|
| 600 |
|
| 601 |
-
return res.json({
|
| 602 |
data: data ? data : results,
|
| 603 |
});
|
| 604 |
|
| 605 |
} catch (e) {
|
| 606 |
console.log(e);
|
| 607 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 608 |
}
|
| 609 |
})
|
| 610 |
|
|
@@ -621,10 +628,12 @@ return res.json({ message: e.message });
|
|
| 621 |
});
|
| 622 |
data = await data.json();
|
| 623 |
if (!data) return res.json({ message: 'API TO API KOID' });
|
| 624 |
-
return res.json(data)
|
| 625 |
} catch (e) {
|
| 626 |
-
|
| 627 |
-
|
|
|
|
|
|
|
| 628 |
}
|
| 629 |
})
|
| 630 |
|
|
@@ -634,10 +643,12 @@ let {url} = req.query
|
|
| 634 |
let regex = /https?:\/\/(fb\.watch|(www\.|web\.|m\.)?facebook\.com)/;
|
| 635 |
if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
|
| 636 |
let data = await fby2mate(url)
|
| 637 |
-
return res.json(data)
|
| 638 |
} catch (e) {
|
| 639 |
-
console.log(e);
|
| 640 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 641 |
}
|
| 642 |
})
|
| 643 |
// .get('/bimg', async (req, res) => {
|
|
@@ -723,11 +734,12 @@ if (data.length === 0) {
|
|
| 723 |
data = await gpt4o(q)
|
| 724 |
//return res.json({message: 'Terkena Chaptcha BOT!!!'})
|
| 725 |
}
|
| 726 |
-
return res.json({
|
| 727 |
-
})
|
| 728 |
} catch (e) {
|
| 729 |
-
console.log(e);
|
| 730 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 731 |
}
|
| 732 |
})
|
| 733 |
.get('/whatmusic', async (req, res) => {
|
|
@@ -749,10 +761,12 @@ if (!url) return res.json({ message: 'Input parameter url' });
|
|
| 749 |
if (!isUrl(url)) return res.json({ message: 'Invalit Input Link' })
|
| 750 |
let data = await acrCloud(await downloadBuffer(isUrl(url)[0]))
|
| 751 |
if (!data) return res.json({ error: 'Error'});
|
| 752 |
-
return res.json(data)
|
| 753 |
} catch (e) {
|
| 754 |
-
console.log(e);
|
| 755 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 756 |
}
|
| 757 |
})
|
| 758 |
.get('/ytsearch', async (req, res) => {
|
|
@@ -763,10 +777,12 @@ return res.json({ message: e.message });
|
|
| 763 |
let aloka = await yts(q);
|
| 764 |
|
| 765 |
if (!aloka?.all[0]) return res.json({ message: 'Not found' });
|
| 766 |
-
return res.json(aloka?.all);
|
| 767 |
} catch (e) {
|
| 768 |
console.log(e);
|
| 769 |
-
|
|
|
|
|
|
|
| 770 |
}
|
| 771 |
})
|
| 772 |
.get('/mediafire', async (req, res) => {
|
|
@@ -777,10 +793,12 @@ if (!/https?:\/\/(www\.)?mediafire\.com\/(file|download)/i.test(url)) {
|
|
| 777 |
return res.json({ message: 'Invalid URL' });
|
| 778 |
}
|
| 779 |
let data = await mediafire(url)
|
| 780 |
-
return res.json(data)
|
| 781 |
} catch (e) {
|
| 782 |
-
console.log(e);
|
| 783 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 784 |
}
|
| 785 |
})
|
| 786 |
.get('/ytdl', async (req, res) => {
|
|
@@ -800,10 +818,12 @@ return res.json({ message: e.message });
|
|
| 800 |
//other: otherAPI || null
|
| 801 |
};
|
| 802 |
|
| 803 |
-
return res.json(response);
|
| 804 |
} catch (e) {
|
| 805 |
console.log(e);
|
| 806 |
-
|
|
|
|
|
|
|
| 807 |
}
|
| 808 |
})
|
| 809 |
.get('/twitter', async (req, res) => {
|
|
@@ -814,10 +834,12 @@ if (!/(https?:\/\/(www\.)?(twitter|x)\.com\/.*\/status\/.*)/.test(url)) {
|
|
| 814 |
return res.json({ message: 'Invalid URL' });
|
| 815 |
}
|
| 816 |
let data = await twitterDL(url);
|
| 817 |
-
return res.json(data);
|
| 818 |
} catch (e) {
|
| 819 |
-
console.log(e);
|
| 820 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 821 |
}
|
| 822 |
})
|
| 823 |
.get('/googleSearch', async (req, res) => {
|
|
@@ -825,10 +847,12 @@ return res.json({ message: e.message });
|
|
| 825 |
let q = req.query.q || req.query.query;
|
| 826 |
if (!q) return res.json({ message: 'Input parameter q' });
|
| 827 |
let get = await (require("google-it"))({"query": q})
|
| 828 |
-
return res.json(get)
|
| 829 |
} catch (e) {
|
| 830 |
console.log(e);
|
| 831 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 832 |
}
|
| 833 |
})
|
| 834 |
.get('/gimage', async (req, res) => {
|
|
@@ -836,10 +860,12 @@ return res.json({ message: e.message });
|
|
| 836 |
let q = req.query.q || req.query.query;
|
| 837 |
if (!q) return res.json({ message: 'Input parameter q' });
|
| 838 |
let get = await (require("async-g-i-s"))(q)
|
| 839 |
-
return res.json(get)
|
| 840 |
} catch (e) {
|
| 841 |
console.log(e);
|
| 842 |
-
return res.json({ message:
|
|
|
|
|
|
|
| 843 |
}
|
| 844 |
})
|
| 845 |
.get('/mega', async (req, res) => {
|
|
|
|
| 431 |
|
| 432 |
|
| 433 |
const app = express()
|
| 434 |
+
.set('json spaces', 4)
|
| 435 |
+
.use(morgan('dev'))
|
| 436 |
+
.use(express.json())
|
| 437 |
+
.all('/', async (req, res) => {
|
| 438 |
+
const v8 = require('v8');
|
| 439 |
|
| 440 |
const status = {};
|
| 441 |
status['diskUsage'] = cp.execSync('du -sh').toString().split('M')[0] + ' MB';
|
|
|
|
| 447 |
const freemem = os.freemem();
|
| 448 |
status['memoryUsage'] = `${formatSize(totalmem - freemem)} / ${formatSize(totalmem)}`;
|
| 449 |
|
|
|
|
| 450 |
const heapStats = v8.getHeapStatistics();
|
| 451 |
for (let x in heapStats) status[x] = formatSize(heapStats[x]);
|
| 452 |
|
| 453 |
+
// Menambahkan informasi CPU
|
| 454 |
+
const cpus = os.cpus();
|
| 455 |
+
status['cpuUsage'] = cpus.map((cpu, index) => ({
|
| 456 |
+
core: index + 1,
|
| 457 |
+
model: cpu.model,
|
| 458 |
+
speed: `${cpu.speed} MHz`,
|
| 459 |
+
times: cpu.times
|
| 460 |
+
}));
|
| 461 |
|
| 462 |
const host = 'https://' + req.get('host');
|
| 463 |
|
| 464 |
res.json({
|
| 465 |
+
creator: `@${process.env['SPACE_AUTHOR_NAME'] || 'ALOK FF'}`,
|
| 466 |
+
message: 'Hello World!',
|
| 467 |
+
uptime: new Date(process.uptime() * 1000).toUTCString().split(' ')[4],
|
| 468 |
+
status,
|
| 469 |
list: [
|
| 470 |
{
|
| 471 |
title: "BING AI",
|
|
|
|
| 550 |
//other: otherAPI || null
|
| 551 |
};
|
| 552 |
|
| 553 |
+
return res.json({message: "Success", code: 200, data:response})
|
| 554 |
} catch (e) {
|
| 555 |
console.log(e);
|
| 556 |
+
return res.status(500).json({ message: "Internal Server Error",
|
| 557 |
+
code: 500
|
| 558 |
+
});
|
| 559 |
}
|
| 560 |
})
|
| 561 |
.get('/ig', async (req,res) => {
|
|
|
|
| 564 |
let regex = /https?:\/\/(www\.)?instagram\.com\/(p|reel|tv)\/[a-zA-Z0-9_-]+\/?/;
|
| 565 |
if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
|
| 566 |
let data = await igdl(url)
|
| 567 |
+
return res.json({message: "Success", code: 200, data:data})
|
| 568 |
} catch (e) {
|
| 569 |
+
console.log(e);
|
| 570 |
+
return res.json({ message: "Internal Server Error",
|
| 571 |
+
code: 500
|
| 572 |
+
});
|
| 573 |
}
|
| 574 |
})
|
| 575 |
.get('/tt', async (req, res) => {
|
|
|
|
| 603 |
}
|
| 604 |
}
|
| 605 |
|
| 606 |
+
return res.json({message: "Success", code: 200,
|
| 607 |
data: data ? data : results,
|
| 608 |
});
|
| 609 |
|
| 610 |
} catch (e) {
|
| 611 |
console.log(e);
|
| 612 |
+
return res.json({ message: "Internal Server Error",
|
| 613 |
+
code: 500
|
| 614 |
+
});
|
| 615 |
}
|
| 616 |
})
|
| 617 |
|
|
|
|
| 628 |
});
|
| 629 |
data = await data.json();
|
| 630 |
if (!data) return res.json({ message: 'API TO API KOID' });
|
| 631 |
+
return res.json({message: "Success", code: 200, data:data})
|
| 632 |
} catch (e) {
|
| 633 |
+
console.log(e);
|
| 634 |
+
return res.json({ message: "Internal Server Error",
|
| 635 |
+
code: 500
|
| 636 |
+
});
|
| 637 |
}
|
| 638 |
})
|
| 639 |
|
|
|
|
| 643 |
let regex = /https?:\/\/(fb\.watch|(www\.|web\.|m\.)?facebook\.com)/;
|
| 644 |
if (!regex.test(url)) return res.json({ message: 'Invalid URL' });
|
| 645 |
let data = await fby2mate(url)
|
| 646 |
+
return res.json({message: "Success", code: 200, data:data})
|
| 647 |
} catch (e) {
|
| 648 |
+
console.log(e);
|
| 649 |
+
return res.json({ message: "Internal Server Error",
|
| 650 |
+
code: 500
|
| 651 |
+
});
|
| 652 |
}
|
| 653 |
})
|
| 654 |
// .get('/bimg', async (req, res) => {
|
|
|
|
| 734 |
data = await gpt4o(q)
|
| 735 |
//return res.json({message: 'Terkena Chaptcha BOT!!!'})
|
| 736 |
}
|
| 737 |
+
return res.json({message: "Success", code: 200, data:data})
|
|
|
|
| 738 |
} catch (e) {
|
| 739 |
+
console.log(e);
|
| 740 |
+
return res.json({ message: "Internal Server Error",
|
| 741 |
+
code: 500
|
| 742 |
+
});
|
| 743 |
}
|
| 744 |
})
|
| 745 |
.get('/whatmusic', async (req, res) => {
|
|
|
|
| 761 |
if (!isUrl(url)) return res.json({ message: 'Invalit Input Link' })
|
| 762 |
let data = await acrCloud(await downloadBuffer(isUrl(url)[0]))
|
| 763 |
if (!data) return res.json({ error: 'Error'});
|
| 764 |
+
return res.json({message: "Success", code: 200, data:data})
|
| 765 |
} catch (e) {
|
| 766 |
+
console.log(e);
|
| 767 |
+
return res.json({ message: "Internal Server Error",
|
| 768 |
+
code: 500
|
| 769 |
+
});
|
| 770 |
}
|
| 771 |
})
|
| 772 |
.get('/ytsearch', async (req, res) => {
|
|
|
|
| 777 |
let aloka = await yts(q);
|
| 778 |
|
| 779 |
if (!aloka?.all[0]) return res.json({ message: 'Not found' });
|
| 780 |
+
return res.json({message: "Success", code: 200, medata: aloka?.all});
|
| 781 |
} catch (e) {
|
| 782 |
console.log(e);
|
| 783 |
+
return res.json({ message: "Internal Server Error",
|
| 784 |
+
code: 500
|
| 785 |
+
});
|
| 786 |
}
|
| 787 |
})
|
| 788 |
.get('/mediafire', async (req, res) => {
|
|
|
|
| 793 |
return res.json({ message: 'Invalid URL' });
|
| 794 |
}
|
| 795 |
let data = await mediafire(url)
|
| 796 |
+
return res.json({message: "Success", code: 200, data:data})
|
| 797 |
} catch (e) {
|
| 798 |
+
console.log(e);
|
| 799 |
+
return res.json({ message: "Internal Server Error",
|
| 800 |
+
code: 500
|
| 801 |
+
});
|
| 802 |
}
|
| 803 |
})
|
| 804 |
.get('/ytdl', async (req, res) => {
|
|
|
|
| 818 |
//other: otherAPI || null
|
| 819 |
};
|
| 820 |
|
| 821 |
+
return res.json({message: "Success", code: 200, data:response});
|
| 822 |
} catch (e) {
|
| 823 |
console.log(e);
|
| 824 |
+
return res.json({ message: "Internal Server Error",
|
| 825 |
+
code: 500
|
| 826 |
+
});
|
| 827 |
}
|
| 828 |
})
|
| 829 |
.get('/twitter', async (req, res) => {
|
|
|
|
| 834 |
return res.json({ message: 'Invalid URL' });
|
| 835 |
}
|
| 836 |
let data = await twitterDL(url);
|
| 837 |
+
return res.json({message: "Success", code: 200, data: data});
|
| 838 |
} catch (e) {
|
| 839 |
+
console.log(e);
|
| 840 |
+
return res.json({ message: "Internal Server Error",
|
| 841 |
+
code: 500
|
| 842 |
+
});
|
| 843 |
}
|
| 844 |
})
|
| 845 |
.get('/googleSearch', async (req, res) => {
|
|
|
|
| 847 |
let q = req.query.q || req.query.query;
|
| 848 |
if (!q) return res.json({ message: 'Input parameter q' });
|
| 849 |
let get = await (require("google-it"))({"query": q})
|
| 850 |
+
return res.json({message: "Success", code: 200, data: get})
|
| 851 |
} catch (e) {
|
| 852 |
console.log(e);
|
| 853 |
+
return res.json({ message: "Internal Server Error",
|
| 854 |
+
code: 500
|
| 855 |
+
});
|
| 856 |
}
|
| 857 |
})
|
| 858 |
.get('/gimage', async (req, res) => {
|
|
|
|
| 860 |
let q = req.query.q || req.query.query;
|
| 861 |
if (!q) return res.json({ message: 'Input parameter q' });
|
| 862 |
let get = await (require("async-g-i-s"))(q)
|
| 863 |
+
return res.json({message: "Success", code: 200, data: get})
|
| 864 |
} catch (e) {
|
| 865 |
console.log(e);
|
| 866 |
+
return res.json({ message: "Internal Server Error",
|
| 867 |
+
code: 500
|
| 868 |
+
});
|
| 869 |
}
|
| 870 |
})
|
| 871 |
.get('/mega', async (req, res) => {
|