Update index.js
Browse files
index.js
CHANGED
|
@@ -279,8 +279,18 @@ async function fileDitch(media){
|
|
| 279 |
async function ytAPI(url) {
|
| 280 |
try {
|
| 281 |
const ID = ytdl.getVideoID(url)
|
| 282 |
-
let videoStream = await ytdl(ID, { filter: 'audioandvideo', quality: 'highestvideo'
|
| 283 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 284 |
let buffermp4 = await streamToBuffer(videoStream)
|
| 285 |
let buffermp3 = await streamToBuffer(audioStream)
|
| 286 |
buffermp3 = await convertMp4ToAudio(buffermp3)
|
|
@@ -509,34 +519,28 @@ const app = express()
|
|
| 509 |
|
| 510 |
|
| 511 |
.get('/yt', async (req, res) => {
|
| 512 |
-
const host = 'https://' + req.get('host');
|
| 513 |
try {
|
| 514 |
-
|
| 515 |
-
|
| 516 |
-
|
| 517 |
-
let
|
| 518 |
-
|
| 519 |
-
|
| 520 |
-
|
| 521 |
-
|
| 522 |
-
video: `${host}/yt?url=${url}&type=video&quality=`,
|
| 523 |
-
};
|
| 524 |
-
return res.json({
|
| 525 |
-
...data,
|
| 526 |
-
download: downloadUrls
|
| 527 |
-
});
|
| 528 |
}
|
| 529 |
-
|
| 530 |
-
|
| 531 |
-
|
| 532 |
-
|
| 533 |
-
|
| 534 |
-
|
| 535 |
-
|
| 536 |
-
|
| 537 |
-
|
|
|
|
| 538 |
console.log(e);
|
| 539 |
-
return res.json({ message: e.message });
|
| 540 |
}
|
| 541 |
})
|
| 542 |
.get('/ig', async (req,res) => {
|
|
|
|
| 279 |
async function ytAPI(url) {
|
| 280 |
try {
|
| 281 |
const ID = ytdl.getVideoID(url)
|
| 282 |
+
let videoStream = await ytdl(ID, { filter: 'audioandvideo', quality: 'highestvideo',requestOptions: {
|
| 283 |
+
headers: {
|
| 284 |
+
'User-Agent': generateRandomUserAgent(),
|
| 285 |
+
'X-Forwarded-For': generateRandomIP()
|
| 286 |
+
}
|
| 287 |
+
} });
|
| 288 |
+
let audioStream = await ytdl(ID, {filter: "audioandvideo", quality:"lowest", requestOptions: {
|
| 289 |
+
headers: {
|
| 290 |
+
'User-Agent': generateRandomUserAgent(),
|
| 291 |
+
'X-Forwarded-For': generateRandomIP()
|
| 292 |
+
}
|
| 293 |
+
}})
|
| 294 |
let buffermp4 = await streamToBuffer(videoStream)
|
| 295 |
let buffermp3 = await streamToBuffer(audioStream)
|
| 296 |
buffermp3 = await convertMp4ToAudio(buffermp3)
|
|
|
|
| 519 |
|
| 520 |
|
| 521 |
.get('/yt', async (req, res) => {
|
|
|
|
| 522 |
try {
|
| 523 |
+
let { url } = req.query;
|
| 524 |
+
//if (!ytIdRegex.test(url)) return res.json({ message: 'Invalid URL' });
|
| 525 |
+
if (!ytdl.validateURL(url)) return res.json({ message: 'Invalid URL' });
|
| 526 |
+
let videoID = ytdl.getVideoID(url);
|
| 527 |
+
let dataInfo = await ytdl.getInfo(videoID, {requestOptions: {
|
| 528 |
+
headers: {
|
| 529 |
+
'User-Agent': generateRandomUserAgent(),
|
| 530 |
+
'X-Forwarded-For': generateRandomIP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 531 |
}
|
| 532 |
+
}}) || {};
|
| 533 |
+
//let otherAPI = await (await axios.get("https://line.1010diy.com/web/free-mp3-finder/detail?url="+url))?.data?.data ? await (await axios.get("https://line.1010diy.com/web/free-mp3-finder/detail?url="+url))?.data?.data : null
|
| 534 |
+
|
| 535 |
+
let response = {
|
| 536 |
+
metadata: dataInfo,
|
| 537 |
+
//other: otherAPI || null
|
| 538 |
+
};
|
| 539 |
+
|
| 540 |
+
return res.json(response);
|
| 541 |
+
} catch (e) {
|
| 542 |
console.log(e);
|
| 543 |
+
return res.status(500).json({ message: e.message });
|
| 544 |
}
|
| 545 |
})
|
| 546 |
.get('/ig', async (req,res) => {
|