mirror of
https://github.com/SrIzan10/youtubeDownloader.git
synced 2026-05-01 11:06:58 +00:00
56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
const express = require('express');
|
|
const cors = require('cors');
|
|
const ytdl = require('ytdl-core');
|
|
const app = express();
|
|
const PORT = process.env.PORT || 3000;
|
|
|
|
app.use(cors());
|
|
|
|
app.listen(PORT, err => {
|
|
if(err) throw err;
|
|
console.log("server running");
|
|
});
|
|
|
|
app.get('/downloadmp3', (req, res, next) => {
|
|
try {
|
|
var url = req.query.url;
|
|
let title = 'audio';
|
|
|
|
ytdl.getBasicInfo(url, {
|
|
format: 'mp4'
|
|
}, (err, info) => {
|
|
if (err) throw err;
|
|
title = info.player_response.videoDetails.title.replace(/[^\x00-\x7F]/g, "");
|
|
});
|
|
|
|
res.header('Content-Disposition', `attachment; filename="${title}.mp3"`);
|
|
ytdl(url, {
|
|
format: 'mp3',
|
|
filter: 'audioonly',
|
|
}).pipe(res);
|
|
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
});
|
|
|
|
app.get('/downloadmp4', async (req, res, next) => {
|
|
try {
|
|
let URL = req.query.url;
|
|
let title = 'video';
|
|
|
|
await ytdl.getBasicInfo(URL, {
|
|
format: 'mp4'
|
|
}, (err, info) => {
|
|
title = info.player_response.videoDetails.title.replace(/[^\x00-\x7F]/g, "");
|
|
});
|
|
|
|
res.header('Content-Disposition', `attachment; filename="${title}.mp4"`);
|
|
ytdl(URL, {
|
|
format: 'mp4',
|
|
}).pipe(res);
|
|
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
}); |