/* * Name: Capcut Downloader * Description: Capcut Download * Credit by zx * Note: Kalau Mau di sher lagi kasih sumber/credit ya 😡😡 * * Sumber: https://whatsapp.com/channel/0029VbDLqe7EquiSF4STU13o * * URL WEBSITE UPLOADER GRATIS: https://zfile.web.id/ * Website Uploader File Gratis yang bisa memberikan url public untuk mendownload File tersebut * */ const BASE_URL = 'https://3bic.com'; const HEADERS = { 'Accept': 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36', 'Referer': 'https://3bic.com/', 'Origin': 'https://3bic.com' }; const CAPCUT_REGEX = [ /^https:\/\/(www\.)?capcut\.com\/watch\/\d+(.+)$/, /^https:\/\/(www\.)?capcut\.com\/template-detail\/\d+(.+)$/, /^https:\/\/(www\.)?capcut\.com\/t\/+(.+)$/, /^https:\/\/(www\.)?capcut\.com\/tv2\/+(.+)$/ ]; function isCapcut(url) { return CAPCUT_REGEX.some(regex => regex.test(url)); } async function scrapeCapcutDl(url) { if (!isCapcut(url)) { throw new Error('❌ URL tidak valid. Pastikan URL berasal dari CapCut (capcut.com).'); } const endpoint = `${BASE_URL}/api/download`; const response = await fetch(endpoint, { method: 'POST', headers: HEADERS, body: JSON.stringify({ url }) }); const data = await response.json(); if (data.code === 200) { const videoUrl = data.originalVideoUrl.startsWith('http') ? data.originalVideoUrl : `${BASE_URL}${data.originalVideoUrl}`; return { success: true, platform: 'CapCut', title: data.title || 'No Title', author: data.authorName || 'Unknown', cover: data.coverUrl, downloadLink: videoUrl }; } else { throw new Error(data.message || '❌ Gagal mengambil data video CapCut dari server.'); } } // contoh penggunaan async function main() { const targetLink = process.argv[2]; if (!targetLink) { console.log("Cara pakai: node capcut-scraper.js "); console.log("Contoh: node capcut-dl.js https://www.capcut.com/tv2/ZSVEwBgtH/"); return; } try { console.log('🟢 Mendeteksi URL CapCut. Mengambil data...\n'); const result = await scrapeCapcutDl(targetLink); console.log('✅ HASIL REQUEST CAPCUT:'); console.log('-----------------------------------'); console.log(`Judul : ${result.title}`); console.log(`Author : ${result.author}`); console.log(`Cover : ${result.cover}`); console.log(`Link DL : ${result.downloadLink}`); console.log('-----------------------------------'); } catch (error) { console.error(error.message); } } main();