Update server.js
Browse files
server.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
const express = require('express');
|
| 2 |
const { tiktokStalk } = require('./lib/tiktokstalk'); // Pastikan file `tiktokstalk.js` sesuai
|
| 3 |
-
const { yt1s } = require('./lib/yt1s'); // Modul untuk
|
|
|
|
| 4 |
|
| 5 |
const app = express();
|
| 6 |
const port = process.env.PORT || 7860; // Hugging Face Spaces menggunakan port 7860
|
|
@@ -31,11 +32,11 @@ app.get('/endpoint/tiktokstalk', async (req, res) => {
|
|
| 31 |
}
|
| 32 |
});
|
| 33 |
|
| 34 |
-
// Endpoint untuk YouTube Download
|
| 35 |
-
app.get('/endpoint/
|
| 36 |
-
const url = req.query.url;
|
| 37 |
|
| 38 |
-
console.log(`[YouTubeDownload] Received request for URL: ${url}
|
| 39 |
|
| 40 |
if (!url) {
|
| 41 |
console.error(`[YouTubeDownload] Error: URL is required`);
|
|
@@ -43,8 +44,8 @@ app.get('/endpoint/igdl', async (req, res) => {
|
|
| 43 |
}
|
| 44 |
|
| 45 |
try {
|
| 46 |
-
const result = await yt1s(url);
|
| 47 |
-
console.log(`[YouTubeDownload] Success: Video fetched for URL: ${url}
|
| 48 |
res.json(result);
|
| 49 |
} catch (error) {
|
| 50 |
console.error(`[YouTubeDownload] Error:`, error);
|
|
@@ -52,6 +53,28 @@ app.get('/endpoint/igdl', async (req, res) => {
|
|
| 52 |
}
|
| 53 |
});
|
| 54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
// Menjalankan server
|
| 56 |
app.listen(port, () => {
|
| 57 |
console.log(`API running on http://localhost:${port}`);
|
|
|
|
| 1 |
const express = require('express');
|
| 2 |
const { tiktokStalk } = require('./lib/tiktokstalk'); // Pastikan file `tiktokstalk.js` sesuai
|
| 3 |
+
const { yt1s } = require('./lib/yt1s'); // Modul untuk yt1s
|
| 4 |
+
const { ytdl } = require('./lib/ytdl'); // Modul untuk ytdl
|
| 5 |
|
| 6 |
const app = express();
|
| 7 |
const port = process.env.PORT || 7860; // Hugging Face Spaces menggunakan port 7860
|
|
|
|
| 32 |
}
|
| 33 |
});
|
| 34 |
|
| 35 |
+
// Endpoint untuk YouTube Download via yt1s
|
| 36 |
+
app.get('/endpoint/yt1s', async (req, res) => {
|
| 37 |
+
const url = req.query.url;
|
| 38 |
|
| 39 |
+
console.log(`[YouTubeDownload] Received request for URL: ${url}`); // Log command
|
| 40 |
|
| 41 |
if (!url) {
|
| 42 |
console.error(`[YouTubeDownload] Error: URL is required`);
|
|
|
|
| 44 |
}
|
| 45 |
|
| 46 |
try {
|
| 47 |
+
const result = await yt1s.dl(url);
|
| 48 |
+
console.log(`[YouTubeDownload] Success: Video fetched for URL: ${url}`);
|
| 49 |
res.json(result);
|
| 50 |
} catch (error) {
|
| 51 |
console.error(`[YouTubeDownload] Error:`, error);
|
|
|
|
| 53 |
}
|
| 54 |
});
|
| 55 |
|
| 56 |
+
// Endpoint untuk YouTube Download via ytdl
|
| 57 |
+
app.get('/endpoint/ytdl', async (req, res) => {
|
| 58 |
+
const url = req.query.url;
|
| 59 |
+
const resolution = parseInt(req.query.resolution, 10) || 720; // Default ke 720p jika tidak ada
|
| 60 |
+
|
| 61 |
+
console.log(`[YTDLDownload] Received request for URL: ${url}, Resolution: ${resolution}`); // Log command
|
| 62 |
+
|
| 63 |
+
if (!url) {
|
| 64 |
+
console.error(`[YTDLDownload] Error: URL is required`);
|
| 65 |
+
return res.status(400).json({ error: 'URL is required' });
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
try {
|
| 69 |
+
const result = await ytdl(url, resolution);
|
| 70 |
+
console.log(`[YTDLDownload] Success: Video fetched for URL: ${url}, Resolution: ${resolution}`);
|
| 71 |
+
res.json(result);
|
| 72 |
+
} catch (error) {
|
| 73 |
+
console.error(`[YTDLDownload] Error:`, error);
|
| 74 |
+
res.status(500).json({ error: 'Something went wrong' });
|
| 75 |
+
}
|
| 76 |
+
});
|
| 77 |
+
|
| 78 |
// Menjalankan server
|
| 79 |
app.listen(port, () => {
|
| 80 |
console.log(`API running on http://localhost:${port}`);
|