From 5cf07fc50f311989e459c7151ca89e067619121f Mon Sep 17 00:00:00 2001 From: tamaina Date: Sun, 24 Oct 2021 21:10:45 +0900 Subject: enhance: Provide Twemoji SVGs from Misskey server (#2) (#7897) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Selfhosting Twemoji * ちっ * うざっ * あ * add test Co-authored-by: mei23 --- src/server/web/index.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/server/web') diff --git a/src/server/web/index.ts b/src/server/web/index.ts index 8f9b6add6e..35337868d9 100644 --- a/src/server/web/index.ts +++ b/src/server/web/index.ts @@ -101,6 +101,22 @@ router.get('/apple-touch-icon.png', async ctx => { }); }); +router.get('/twemoji/(.*)', async ctx => { + const path = ctx.path.replace('/twemoji/', ''); + + if (!path.match(/^[0-9a-f-]+\.svg$/)) { + ctx.status = 404; + return; + } + + ctx.set('Content-Security-Policy', `default-src 'none'; style-src 'unsafe-inline'`); + + await send(ctx as any, path, { + root: `${_dirname}/../../../node_modules/@discordapp/twemoji/dist/svg/`, + maxage: ms('30 days'), + }); +}); + // ServiceWorker router.get('/sw.js', async ctx => { await send(ctx as any, `/sw.${config.version}.js`, { -- cgit v1.2.3-freya