btch-downloader
Version:
A lightweight TypeScript/JavaScript client SDK for downloading media from social media platforms
365 lines (356 loc) • 11.8 kB
JavaScript
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