UNPKG

rsshub

Version:
73 lines (71 loc) 1.85 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs"; //#region lib/routes/furaffinity/home.ts const route = { path: "/home/:category/:mode?", name: "Home", url: "furaffinity.net", categories: ["social-media"], example: "/furaffinity/home/nsfw", maintainers: ["TigerCubDen", "SkyNetX007"], parameters: { category: "Category, default value is artwork, options are artwork, writing, music, crafts", mode: "R18 content toggle, default value is sfw, options are sfw, nsfw" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false, nsfw: true }, radar: [{ source: ["furaffinity.net"], target: "/" }], handler }; async function handler(ctx) { const { category = "artwork", mode = "sfw" } = ctx.req.param(); let url = "https://faexport.spangle.org.uk/home.json?sfw=1"; if (mode === "nsfw") url = "https://faexport.spangle.org.uk/home.json"; const data = await ofetch_default(url, { method: "GET", headers: { Referer: "https://faexport.spangle.org.uk/" } }); let dataSelect; switch (category) { case "artwork": dataSelect = data.artwork; break; case "writing": dataSelect = data.writing; break; case "music": dataSelect = data.music; break; case "crafts": dataSelect = data.crafts; break; default: dataSelect = data.artwork; } return { title: "Fur Affinity | Home", link: "https://www.furaffinity.net/", description: `Fur Affinity Index`, item: dataSelect.map((item) => ({ title: item.title, link: item.link, guid: item.id, description: `<img src="${item.thumbnail}">`, author: item.name })) }; } //#endregion export { route };