UNPKG

notmebotz-tools

Version:

Sebuah Tools yang berfungsi untuk mendownload Video atau Foto dari media sosial, serta sebagai tools yang berguna untuk aplikasi kamu seperti untuk BOT

115 lines (101 loc) 3.83 kB
const axios = require('axios'); const cheerio = require('cheerio'); async function fbdl(url) { const baseUrl = 'https://www.expertstool.com'; const downloadEndpoint = '/download-pinterest-video/'; const headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'en-US,en;q=0.5', 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded' }; try { const formData = new URLSearchParams(); formData.append('url', url); const response = await axios.post( baseUrl + downloadEndpoint, formData, { headers: headers, maxRedirects: 5 } ); const $ = cheerio.load(response.data); const downloads = []; $('a[href]').each((index, element) => { const href = $(element).attr('href'); const text = $(element).text().trim(); if (href && (href.includes('fbcdn.net') || href.includes('facebook.com'))) { if (href.match(/\.(jpg|jpeg|png|gif|mp4|avi|mov|webm)/i) || href.includes('video-')) { let quality = 'auto'; if (text.toLowerCase().includes('hd') || text.includes('[HD]')) { quality = 'HD'; } else if (text.toLowerCase().includes('sd') || text.includes('[SD]')) { quality = 'SD'; } downloads.push({ url: href, type: href.match(/\.(mp4|avi|mov|webm|mkv)/i) || href.includes('video-') ? 'video' : 'image', quality: quality, buttonText: text }); } } }); $('video').each((index, element) => { const src = $(element).attr('src'); if (src && src.includes('fbcdn.net')) { let quality = 'SD'; if (src.includes('720') || src.includes('1080') || src.includes('hd')) { quality = 'HD'; } else if (src.includes('360') || src.includes('480') || src.includes('sd')) { quality = 'SD'; } downloads.push({ url: src, type: 'video', quality: quality, source: 'video_tag' }); } }); $('img[src]').each((index, element) => { const src = $(element).attr('src'); if (src && src.includes('fbcdn.net')) { downloads.push({ url: src, type: 'image', quality: 'original', source: 'img_tag' }); } }); const uniqueDownloads = downloads.filter((item, index, self) => index === self.findIndex(t => t.url === item.url) ); if (uniqueDownloads.length > 0) { return { author: "Herza", status: 200, data: uniqueDownloads, originalUrl: url }; } else { return { author: "Herza", status: 400, message: 'No download links found', originalUrl: url }; } } catch (error) { return { author: "Herza", status: 500, message: error.message, originalUrl: url }; } } module.exports = { fbdl }