aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Utility/cdn.ts
blob: bfb5a558876f8ecbe3209348264d35e281fcdcd6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;