rsshub
Version:
Make RSS Great Again!
62 lines (60 loc) • 2.02 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import "./ofetch-BIyrKU3Y.mjs";
import "./helpers-DxBp0Pty.mjs";
import "./got-KxxWdaxq.mjs";
import { t as invalid_parameter_default } from "./invalid-parameter-rr4AgGpp.mjs";
import { n as genSize, t as doGot } from "./util-Duh7o5Ja.mjs";
//#region lib/routes/bt0/mv.ts
const route = {
path: "/mv/:number/:domain?",
categories: ["multimedia"],
example: "/bt0/mv/35575567/2",
parameters: {
number: "影视详情id, 网页路径为`/mv/{id}.html`其中的id部分, 一般为8位纯数字",
domain: "数字1-9, 比如1表示请求域名为 1bt0.com, 默认为 2"
},
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: true,
supportPodcast: false,
supportScihub: false
},
radar: [{ source: ["2bt0.com/mv/"] }],
name: "影视资源下载列表",
maintainers: ["miemieYaho"],
handler
};
async function handler(ctx) {
const domain = ctx.req.param("domain") ?? "2";
const number = ctx.req.param("number");
if (!/^[1-9]$/.test(domain)) throw new invalid_parameter_default("Invalid domain");
if (!/^\d{6,}$/.test(number)) throw new invalid_parameter_default("Invalid number");
const host = `https://www.${domain}bt0.com`;
const data = (await doGot(0, host, `${host}/prod/core/system/getVideoDetail/${number}`)).data;
const items = Object.values(data.ecca).flatMap((item) => item.map((i) => ({
title: i.zname,
guid: i.zname,
description: `${i.zname}[${i.zsize}]`,
link: `${host}/tr/${i.id}.html`,
pubDate: i.ezt,
enclosure_type: "application/x-bittorrent",
enclosure_url: i.zlink,
enclosure_length: genSize(i.zsize),
category: strsJoin(i.zqxd, i.text_html, i.audio_html, i.new === 1 ? "新" : "")
})));
return {
title: data.title,
link: `${host}/mv/${number}.html`,
item: items
};
}
function strsJoin(...strings) {
return strings.filter((str) => str !== "").join(",");
}
//#endregion
export { route };