|
import express from 'express'; |
|
import { Database } from '../database/database.js'; |
|
import { |
|
facebookdl, |
|
savefrom, |
|
snapsave, |
|
tiktokdl, |
|
sfilemobi, |
|
capcutdl, |
|
PinterestDL, |
|
sfilemobiSearch, |
|
TiktokDownloader, |
|
TwitterDownloader, |
|
TwitterDownloderV3, |
|
TwitterDownloaderV2, |
|
TeraboxDownloader, |
|
TeraboxV2Downloader, |
|
TeraboxV3Downloader, |
|
XnxxDownloader, |
|
XsearchDownloaderV2, |
|
InstagramDownloader, |
|
InstagramDLV3, |
|
InstagramDLV2, |
|
InstagramDLV4, |
|
XInfoDownloaderV2, |
|
TelegramUseLog, |
|
} from '../lib/all.js'; |
|
|
|
import { authenticateApiKey, apiLimiter } from '../middleware/midware.js'; |
|
const AllDlRoutes = express.Router(); |
|
|
|
const dbClient = new Database("AkenoXJs"); |
|
const db = dbClient.collection("api_keys"); |
|
|
|
async function updateIP(apiKey, newIP) { |
|
await db.updateOne( |
|
{ key: apiKey }, |
|
{ $addToSet: { ip_addresses: newIP } } |
|
); |
|
} |
|
|
|
|
|
async function downloadMedia(media) { |
|
const downloadResults = {}; |
|
try { |
|
if (media.audio && Object.keys(media.audio).length > 0) { |
|
const audioQuality = Object.keys(media.audio)[0]; |
|
const audioDownloadUrl = await media.audio[audioQuality].download(); |
|
downloadResults.audio = { |
|
quality: audioQuality, |
|
url: audioDownloadUrl |
|
}; |
|
} |
|
|
|
return downloadResults; |
|
} catch (error) { |
|
console.error("Error downloading media:", error); |
|
throw new Error("Failed to download media"); |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/twitter-v3', async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.url; |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await TwitterDownloderV3(q); |
|
res.json({ message: results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/twitter-v2', async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.url; |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await TwitterDownloaderV2(q); |
|
res.json({ message: results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/xnxx-info-v2', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.url; |
|
|
|
if (!q) { |
|
return res.status(400).json({ error: "url parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await XInfoDownloaderV2(q); |
|
res.json({ message: results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/xnxx-search-v2', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.q; |
|
if (!q) { |
|
return res.status(400).json({ error: "q parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await XsearchDownloaderV2(q); |
|
res.json({ message: results }); |
|
|
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/instagram-v4', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.url; |
|
|
|
if (!q) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await InstagramDLV4(q); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/instagram-v3', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.url; |
|
if (!q) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await InstagramDLV3(q); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/instagram-v2', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.url; |
|
|
|
if (!q) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await InstagramDLV2(q); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/pint', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.q; |
|
|
|
if (!q) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await PinterestDL(q); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/sfilemobi-search', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.q; |
|
|
|
if (!q) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await sfilemobiSearch(q); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/capcut', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const url = req.query.url; |
|
|
|
if (!url) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = capcutdl(url); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/instagram', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const url = req.query.url; |
|
|
|
if (!url) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await InstagramDownloader(url); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/twitter', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const url = req.query.url; |
|
|
|
if (!url) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await TwitterDownloader(url); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/sfilemobi', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const url = req.query.url; |
|
|
|
if (!url) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await sfilemobi(url); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/tiktok', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const url = req.query.url; |
|
|
|
if (!url) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await TiktokDownloader(url); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/tiktok-v2', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
|
|
const url = req.query.url; |
|
if (!url) { |
|
return res.status(400).json({ error: "URL parameter is required." }); |
|
} |
|
|
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
|
|
const results = await tiktokdl(url); |
|
res.json({ results }); |
|
|
|
} catch (error) { |
|
console.error("TikTok Downloader Error:", error.message); |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/fb', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
|
|
const url = req.query.url; |
|
if (!url) { |
|
return res.status(400).json({ error: "url parameter is required." }); |
|
} |
|
|
|
const results = await facebookdl(url); |
|
|
|
for (const video of results.video) { |
|
video.url = await video.download(); |
|
} |
|
for (const audio of results.audio) { |
|
audio.url = await audio.download(); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/snapsave', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
|
|
const url = req.query.url; |
|
|
|
if (!url) { |
|
return res.status(400).json({ error: "url parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await snapsave(url); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/savefrom', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const url = req.query.url; |
|
|
|
if (!url) { |
|
return res.status(400).json({ error: "url parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await savefrom(url); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllDlRoutes.get('/api/v1/dl/xnxx', authenticateApiKey, apiLimiter, async (req, res) => { |
|
try { |
|
const apiKey = req.headers['x-api-key']; |
|
const userAgent = req.headers['user-agent']; |
|
|
|
const xForwardedFor = req.headers['x-forwarded-for']; |
|
const xRealIP = req.headers['x-real-ip']; |
|
const cfConnectingIP = req.headers['cf-connecting-ip']; |
|
|
|
let realIP = req.ip; |
|
|
|
if (xForwardedFor) { |
|
realIP = xForwardedFor.split(',')[0].trim(); |
|
} else if (xRealIP) { |
|
realIP = xRealIP; |
|
} else if (cfConnectingIP) { |
|
realIP = cfConnectingIP; |
|
} |
|
|
|
req.realIP = realIP; |
|
|
|
console.log(`🔍 Captured IPs:`, { xForwardedFor, xRealIP, cfConnectingIP, realIP }); |
|
|
|
const keyDoc = await db.findOne({ key: apiKey }); |
|
|
|
if (!keyDoc) { |
|
return res.status(403).json({ error: "Invalid API Key." }); |
|
} |
|
const q = req.query.q; |
|
|
|
if (!q) { |
|
return res.status(400).json({ error: "q parameter is required." }); |
|
} |
|
await updateIP(apiKey, realIP); |
|
await TelegramUseLog( |
|
keyDoc.owner, |
|
keyDoc.key, |
|
`Accessed: ${req.path}\nRealIP: ${realIP}\nUser-Agent: ${userAgent}` |
|
); |
|
const results = await XnxxDownloader(q); |
|
res.json({ results }); |
|
} catch (error) { |
|
res.status(500).json({ error: error.message }); |
|
} |
|
}); |
|
|
|
export { AllDlRoutes }; |
|
|