UNPKG

rsshub

Version:
83 lines (81 loc) 2.22 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/art.ts const route = { path: "/art/:folder/:username/:mode?", name: "Gallery", url: "furaffinity.net", categories: ["social-media"], example: "/furaffinity/art/gallery/fender/nsfw", maintainers: ["TigerCubDen", "SkyNetX007"], parameters: { username: "Username, can find in userpage", folder: "Image folders, options are gallery, scraps, favorites", 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/gallery/:username"], target: "/gallery/:username" }, { source: ["furaffinity.net/scraps/:username"], target: "/scraps/:username" }, { source: ["furaffinity.net/favorites/:username"], target: "/favorites/:username" } ], handler }; async function handler(ctx) { const { username, folder = "gallery", mode = "sfw" } = ctx.req.param(); let url = `https://faexport.spangle.org.uk/user/${username}/${folder}.json?sfw=1&full=1`; if (mode === "nsfw") url = `https://faexport.spangle.org.uk/user/${username}/${folder}.json?full=1`; const data = await ofetch_default(url, { method: "GET", headers: { Referer: "https://faexport.spangle.org.uk/" } }); let folderName; switch (folder) { case "gallery": folderName = "Gallery"; break; case "scraps": folderName = "Scraps"; break; case "favorites": folderName = "Favorites"; break; default: folderName = "Gallery"; } const items = data.map((item) => ({ title: item.title, link: item.link, guid: item.id, description: `<img src="${item.thumbnail}">`, author: item.name })); return { allowEmpty: true, title: `Fur Affinity | ${folderName} of ${username}`, link: `https://www.furaffinity.net/${folder}/${username}`, description: `Fur Affinity ${folderName} of ${username}`, item: items }; } //#endregion export { route };