From 83e901520c88ecfca4132af7dd975e85e4c58bd3 Mon Sep 17 00:00:00 2001 From: Bingus_Violet Date: Wed, 17 Jan 2024 22:17:27 -0600 Subject: [PATCH] Add video title --- index.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 5f019ba..c8e09bc 100644 --- a/index.js +++ b/index.js @@ -16,9 +16,15 @@ var formats = { app.get("/convert", async (req, res) => { var file = req.query.file || "" var format = req.query.format + var url = req.query.url + var filePath = path.join(__dirname, 'downloads', file) + if (fs.existsSync(filePath)) { - res.setHeader('Content-Disposition', `attachment; filename="test.${format}"`); + var ytdlpProcess = cp.spawnSync('yt-dlp', ['--get-filename', url]) + var name = ytdlpProcess.stdout.toString() + name = name.substring(0, name.lastIndexOf("[") - 1) + res.setHeader('Content-Disposition', `attachment; filename="${encodeURIComponent(name)}.${format}"`); const ffmpegProcess = cp.spawn(ffmpeg, [ '-i', filePath, '-f', formats[format] || format, @@ -48,8 +54,6 @@ app.get("/download", async (req, res) => { const url = req.query.url const format = req.query.format || 'mp4' const quality = req.query.quality || 'highest' - const defin = req.query.definition || 'hd' - const preset = 'medium' res.setHeader("X-Accel-Buffering", "no") res.setHeader("Content-Type", "text/html") @@ -58,7 +62,6 @@ app.get("/download", async (req, res) => { res.write(downloadHTML.substring(0, downloadHTML.indexOf("{CONTENT}"))) - console.log(format) if (!["mp3"].includes(format)) { var fileName = Math.round(Math.random() * 100_000_000_000_000).toString() + '.webm' var filePath = path.join(__dirname, 'downloads', fileName) @@ -117,7 +120,7 @@ app.get("/download", async (req, res) => { } } else if (fs.existsSync(filePath)) { - res.write(`"`) + res.write(`"`) res.write(downloadHTML.substring(downloadHTML.indexOf("{CONTENT}") + 9), () => {res.end()}) } else { res.write("

An error has occured!!! We're not exactly sure what the error is, but we cant seem to find the download file. Double check the URL, and if the URL is fine, then file an issue on codeberg.

")