summaryrefslogtreecommitdiff
path: root/src/server/web
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2021-10-24 21:10:45 +0900
committerGitHub <noreply@github.com>2021-10-24 21:10:45 +0900
commit5cf07fc50f311989e459c7151ca89e067619121f (patch)
tree9cc19604a0fb88d1fb487a2c02b60d45bff44795 /src/server/web
parentUpdate CHANGELOG.md (diff)
downloadsharkey-5cf07fc50f311989e459c7151ca89e067619121f.tar.gz
sharkey-5cf07fc50f311989e459c7151ca89e067619121f.tar.bz2
sharkey-5cf07fc50f311989e459c7151ca89e067619121f.zip
enhance: Provide Twemoji SVGs from Misskey server (#2) (#7897)
* Selfhosting Twemoji * ちっ * うざっ * あ * add test Co-authored-by: mei23 <m@m544.net>
Diffstat (limited to 'src/server/web')
-rw-r--r--src/server/web/index.ts16
1 files changed, 16 insertions, 0 deletions
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`, {