UNPKG

btch-downloader

Version:

A lightweight TypeScript/JavaScript client SDK for downloading media from social media platforms

365 lines (356 loc) 11.8 kB
var btch = (function (exports) { 'use strict'; // src/Defaults/site.ts var configData = { config: { baseUrl: "https://backend1.tioo.eu.org" }, issues: "https://github.com/hostinger-bot/btch-downloader/issues" }; var site_default = configData; // src/Watermark/config.ts var watermark = { /** The developer handle used in responses. */ dev: "@prm2.0" }; var config_default = watermark; // package.json var package_default = { version: "6.0.37"}; // lib/Browser/api/http.ts var API_URL = site_default.config.baseUrl; var developer = config_default.dev; var issues = site_default.issues; var VERSION = package_default.version; async function httpGet(endpoint, param) { const url = `${API_URL}/${endpoint}?url=${encodeURIComponent(param)}`; const res = await fetch(url); if (!res.ok) { throw new Error(`HTTP ${res.status}: Request failed`); } try { return await res.json(); } catch { return await res.text(); } } // lib/Browser/api/endpoints.ts var wm = developer; async function igdl(url) { try { const data = await httpGet("igdl", url); if (!data || data.length === 0) { return { developer: wm, status: false, message: "No results found", note: `Please report issues to ${issues}` }; } const result = []; for (const item of data) { result.push({ thumbnail: (item == null ? void 0 : item.thumbnail) || "", url: (item == null ? void 0 : item.url) || "" }); } return { developer: wm, status: true, result }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function ttdl(url) { var _a, _b, _c, _d, _e; try { const data = await httpGet("ttdl", url); return { developer: wm, status: true, title: (_a = data == null ? void 0 : data.title) != null ? _a : void 0, title_audio: (_b = data == null ? void 0 : data.title_audio) != null ? _b : void 0, thumbnail: (_c = data == null ? void 0 : data.thumbnail) != null ? _c : void 0, video: (_d = data == null ? void 0 : data.video) != null ? _d : [], audio: (_e = data == null ? void 0 : data.audio) != null ? _e : [] }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function twitter(url) { var _a, _b; try { const data = await httpGet("twitter", url); return { developer: wm, status: true, title: (_a = data == null ? void 0 : data.title) != null ? _a : void 0, url: (_b = data == null ? void 0 : data.url) != null ? _b : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function youtube(url) { var _a, _b, _c, _d, _e; try { const data = await httpGet("youtube", url); return { developer: wm, status: true, title: (_a = data == null ? void 0 : data.title) != null ? _a : void 0, thumbnail: (_b = data == null ? void 0 : data.thumbnail) != null ? _b : void 0, author: (_c = data == null ? void 0 : data.author) != null ? _c : void 0, mp3: (_d = data == null ? void 0 : data.mp3) != null ? _d : void 0, mp4: (_e = data == null ? void 0 : data.mp4) != null ? _e : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function fbdown(url) { var _a, _b; try { const data = await httpGet("fbdown", url); return { developer: wm, status: true, Normal_video: (_a = data == null ? void 0 : data.Normal_video) != null ? _a : void 0, HD: (_b = data == null ? void 0 : data.HD) != null ? _b : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function mediafire(url) { console.warn("[btch-downloader] mediafire() is deprecated and no longer actively maintained."); try { const data = await httpGet("mediafire", url); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function capcut(url) { try { const data = await httpGet("capcut", url); return { developer: wm, status: true, ...data }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function gdrive(url) { try { const data = await httpGet("gdrive", url); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function pinterest(query) { try { const data = await httpGet("pinterest", query); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function aio(url) { console.warn("[btch-downloader] aio() is deprecated and no longer actively maintained."); try { const data = await httpGet("aio", url); return { developer: wm, status: true, ...data }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function xiaohongshu(url) { try { const data = await httpGet("rednote", url); const actualData = data.result || data; if (!actualData || !actualData.noteId && !actualData.notes) { return { developer: wm, status: false, message: "No results found", note: `Please report issues to ${issues}` }; } return { developer: wm, status: true, result: actualData }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function xiaohongshuProfile(url) { try { const data = await httpGet("rednote-profile", url); const actualData = data.result || data; if (!actualData || !actualData.user && !actualData.stats) { return { developer: wm, status: false, message: "No results found", note: `Please report issues to ${issues}` }; } return { developer: wm, status: true, result: actualData }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function douyin(url) { try { const data = await httpGet("douyin", url); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function snackvideo(url) { try { const data = await httpGet("snackvideo", url); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function cocofun(url) { try { const data = await httpGet("cocofun", url); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function spotify(url) { var _a; try { const data = await httpGet("spotify", url); if (data == null ? void 0 : data.res_data) { if (data.res_data.server === "rapidapi") delete data.res_data.server; if (data.res_data.message === "success") delete data.res_data.message; if (data.res_data.message) delete data.res_data.message; delete data.message; } return { developer: wm, status: true, result: (_a = data == null ? void 0 : data.res_data) != null ? _a : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function yts(query) { try { const data = await httpGet("yts", query); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function soundcloud(url) { try { const data = await httpGet("soundcloud", url); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function threads(url) { try { const data = await httpGet("threads", url); return { developer: wm, status: true, result: data != null ? data : void 0 }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } async function kuaishou(url) { try { const data = await httpGet("kuaishou", url); if (!data || !data.success) { return { developer: wm, status: false, message: "No results found or failed to fetch", note: `Please report issues to ${issues}` }; } return { developer: wm, status: true, result: data }; } catch (err) { return { developer: wm, status: false, message: err.message, note: `Please report issues to ${issues}` }; } } // lib/Browser/index.ts var igdl2 = igdl; var ttdl2 = ttdl; var twitter2 = twitter; var youtube2 = youtube; var fbdown2 = fbdown; var mediafire2 = mediafire; var capcut2 = capcut; var gdrive2 = gdrive; var pinterest2 = pinterest; var aio2 = aio; var xiaohongshu2 = xiaohongshu; var xiaohongshuProfile2 = xiaohongshuProfile; var douyin2 = douyin; var snackvideo2 = snackvideo; var cocofun2 = cocofun; var spotify2 = spotify; var yts2 = yts; var soundcloud2 = soundcloud; var threads2 = threads; var kuaishou2 = kuaishou; exports.VERSION = VERSION; exports.aio = aio2; exports.capcut = capcut2; exports.cocofun = cocofun2; exports.developer = developer; exports.douyin = douyin2; exports.fbdown = fbdown2; exports.gdrive = gdrive2; exports.igdl = igdl2; exports.issues = issues; exports.kuaishou = kuaishou2; exports.mediafire = mediafire2; exports.pinterest = pinterest2; exports.snackvideo = snackvideo2; exports.soundcloud = soundcloud2; exports.spotify = spotify2; exports.threads = threads2; exports.ttdl = ttdl2; exports.twitter = twitter2; exports.xiaohongshu = xiaohongshu2; exports.xiaohongshuProfile = xiaohongshuProfile2; exports.youtube = youtube2; exports.yts = yts2; return exports; })({}); //# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map