From 2967b5994469ec83faba99135b696e4367cab67a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 5 Mar 2024 15:28:48 -0800 Subject: rate limiting --- bun.lockb | Bin 209835 -> 210299 bytes lib/app.js | 6 ++++++ package.json | 1 + 3 files changed, 7 insertions(+) diff --git a/bun.lockb b/bun.lockb index 684b1a8f..2a0f18f5 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/lib/app.js b/lib/app.js index 4c4b7326..c1006455 100644 --- a/lib/app.js +++ b/lib/app.js @@ -19,6 +19,12 @@ const app = fastify({ maxParamLength: 500, }); +await app.register(import("@fastify/rate-limit"), { + max: 50, + timeWindow: 5000, + keyGenerator: (req) => req.headers["cf-connecting-ip"], +}); + app.register(fastifySecureSession, { key: Buffer.from(config.jwt, "hex"), }); diff --git a/package.json b/package.json index 4433aedb..c30aac0a 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@fastify/cors": "^8.3.0", "@fastify/multipart": "^8.0.0", "@fastify/passport": "^2.4.0", + "@fastify/rate-limit": "^9.1.0", "@fastify/secure-session": "^5.2.0", "@fastify/static": "^6.5.0", "@fastify/websocket": "^7.2.0", -- cgit v1.2.3