From 1df50d1713cfc63ae06961c27c84009facabe620 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 22 Jan 2024 10:03:16 -0800 Subject: feat(badges): image cdn --- src/lib/Utility/cdn.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/lib/Utility/cdn.ts (limited to 'src/lib/Utility/cdn.ts') diff --git a/src/lib/Utility/cdn.ts b/src/lib/Utility/cdn.ts new file mode 100644 index 00000000..bfb5a558 --- /dev/null +++ b/src/lib/Utility/cdn.ts @@ -0,0 +1,26 @@ +import { env } from '$env/dynamic/public'; + +export const cdn = (urlString: string | undefined, disable = false) => { + if (!urlString || !['http', 'https'].some((protocol) => urlString.startsWith(protocol))) + return urlString; + + const url = new URL(urlString); + + return env.PUBLIC_ANILIST_REDIRECT_URI?.includes('localhost') || + disable || + [ + 'api.telegram.org', + 'telegra.ph', + 't.me', + 'discord.com', + 'cdn.discordapp.com', + 'media.discordapp.net', + 'images-ext-1.discordapp.net', + 'images-ext-2.discordapp.net', + 'media.trace.moe' + ].includes(url.hostname) + ? urlString + : `https://cdn.due.moe?url=${encodeURIComponent(urlString)}`; +}; + +export default cdn; -- cgit v1.2.3