This commit is contained in:
Violet 2023-05-08 17:52:41 +00:00
parent 732bf7476d
commit 184f58a147
4 changed files with 89 additions and 51 deletions

View file

@ -7,14 +7,17 @@ const PORT = process.env.PORT || 8080
const app = express() const app = express()
app.get("/download", (req, res) => { app.get("/download", (req, res) => {
res.header('Content-Type', 'video'); const filename = req.query.filename
const url = req.query.url
const url = req.query.url;
const format= req.query.format const format= req.query.format
const quality = req.query.quality const quality = req.query.quality
console.log(req.query.url)
res.header('Content-Disposition', `attachment; filename="test.${format}"`); if ((filename === 'string' && url === 'string' && format === 'string' && quality === 'string')) {
res.header('Content-Disposition', `attachment; filename="${filename}.${format}"`);
ytdl(url, {'format': format, 'quality': quality}).pipe(res); ytdl(url, {'format': format, 'quality': quality}).pipe(res);
} else {
res.send('Please input proper values in all fields.')
}
}); });

View file

@ -6,40 +6,45 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://code.jquery.com/jquery-3.6.4.min.js" <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
integrity="sha256-oP6HI9z1XaZNBrJURtCoUT5SUnxFr8s3BzRl+cbzUq8=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js" integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V" crossorigin="anonymous"></script>
<!-- <script src="./main.js"></script> -->
<link rel="stylesheet" href="./style.css">
<title>Youtube Downloader</title> <title>Youtube Downloader</title>
</head> </head>
<body> <body>
<h1>Youtube Downloader</h1> <h1>Youtube Downloader
<hr>
</h1>
<form action="download" method="get" target="_blank"> <form action="download" method="get" target="_blank">
<input id="url" placeholder="Enter url" name="url"> <p style="margin-bottom: 1px;">Video URL:</p>
<label for="quality">Quality</label> <div class="grid-container">
<select id="quality" name="quality"> <input required id="url" placeholder="Enter url" name="url"><br>
<option value="highest">Select Quality</option> <!-- <label for="quality">Quality:</label> -->
<option value="highest">highest</option> <p>Quality:</p>
<option value="lowest">lowest</option> <select required id="quality" name="quality">
<option value="highestaudio">highestaudio</option> <option value="lowestaudio">Lowest (Audio Only)</option>
<option value="lowestaudio">lowestaudio</option> <option value="highestaudio">Highest (Audio Only)</option>
<option value="highestvideo">highestvideo</option> <option value="highestvideo">Highest (Video Only)</option>
<option value="lowestvideo">lowestvideo</option> <option value="lowestvideo">Lowest (Video Only)</option>
</select> <option value="highest">Highest</option>
<label for="filename">SaveAs</label> <option value="lowest">Lowest</option>
<input id="filename" placeholder="Enter filename"> </select><br>
<label for="format">Format</label> <!-- <label for="filename">Save As:</label> -->
<select id="format" name="format"> <input id="filename" placeholder="Enter filename" name="filename"><br>
<option value="format">Select Format</option> <!-- <label for="format">Format:</label> -->
<select required id="format" name="format">
<option value="mp4">mp4</option> <option value="mp4">mp4</option>
<option value="wmv">wmv</option> <option value="wmv">wmv</option>
<option value="flv">flv</option> <option value="flv">flv</option>
<option value="avi">avi</option> <option value="avi">avi</option>
<option value="mp3">mp3</option> <option value="mp3">mp3</option>
<option value="mpg">mpg</option> <option value="mpg">mpg</option>
</select> </select><br>
<input type="submit" placeholder="test"> <input type="submit" placeholder="test">
</div>
</form> </form>
</body> </body>

View file

@ -1,17 +0,0 @@
function gamer() {
const quality = document.getElementById('quality')
const filename = document.getElementById('filename')
const format = document.getElementById('format')
const downloadBtn = document.getElementById('download')
downloadBtn.innerText = "Downloading file..."
var url = $("#url").text()
var message = {
'url': url,
'quality': quality.value,
'filename': filename.value,
'format': format.value
}
}

View file

@ -0,0 +1,47 @@
:root {
--text-color: rgb(230, 210, 255);
--background-color: rgb(50, 35, 75);
--second-bg-color: black;
}
* {
text-align: center;
color: var(--text-color);
font-family: Verdana, Geneva, Tahoma, sans-serif;
}
p, select, input {
font-size: 1.4rem;
}
p {
margin: 5px;
}
body, html {
background-color: var(--background-color);
}
.grid-container {
width: 100%;
margin: auto;
}
/* .grid-container > *:not(select, input) {
float: left;
} */
select, input{
display: inline-grid;
background-color: var(--second-bg-color);
color: var(--text-color);
margin: 5px auto;
border: 2px var(--text-color) solid;
border-radius: 5px;
/* width: 70%; */
padding: 5px;
}
label {
font-size: 1.5rem;
}