summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/federation
diff options
context:
space:
mode:
authorJulia <julia@insertdomain.name>2024-11-28 05:23:38 +0000
committerJulia <julia@insertdomain.name>2024-11-28 05:23:38 +0000
commit150d949a3ec2b5162e2dfda10c2cc5dddea8c59a (patch)
treea1854b0cfcc91e8148f2df722237df08b6520537 /packages/backend/src/server/api/endpoints/federation
parentmerge: Fix `.punyHost` misuse (!765) (diff)
parentmerge: Add shared (cross-resource) rate limit for proxy (!775) (diff)
downloadsharkey-150d949a3ec2b5162e2dfda10c2cc5dddea8c59a.tar.gz
sharkey-150d949a3ec2b5162e2dfda10c2cc5dddea8c59a.tar.bz2
sharkey-150d949a3ec2b5162e2dfda10c2cc5dddea8c59a.zip
merge: fixes for 2024.9.4 (if we want to) (!770)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/770 Approved-by: Hazelnoot <acomputerdog@gmail.com> Approved-by: Julia <julia@insertdomain.name>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/federation')
-rw-r--r--packages/backend/src/server/api/endpoints/federation/followers.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/federation/following.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/federation/instances.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/federation/show-instance.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/federation/stats.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/federation/update-remote-user.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/federation/users.ts6
7 files changed, 42 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/federation/followers.ts b/packages/backend/src/server/api/endpoints/federation/followers.ts
index d5b80035df..e7b528dda1 100644
--- a/packages/backend/src/server/api/endpoints/federation/followers.ts
+++ b/packages/backend/src/server/api/endpoints/federation/followers.ts
@@ -22,6 +22,12 @@ export const meta = {
ref: 'Following',
},
},
+
+ // 10 calls per 5 seconds
+ limit: {
+ duration: 1000 * 5,
+ max: 10,
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/federation/following.ts b/packages/backend/src/server/api/endpoints/federation/following.ts
index 215f94fbcc..070a1c8407 100644
--- a/packages/backend/src/server/api/endpoints/federation/following.ts
+++ b/packages/backend/src/server/api/endpoints/federation/following.ts
@@ -22,6 +22,12 @@ export const meta = {
ref: 'Following',
},
},
+
+ // 10 calls per 5 seconds
+ limit: {
+ duration: 1000 * 5,
+ max: 10,
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/federation/instances.ts b/packages/backend/src/server/api/endpoints/federation/instances.ts
index c1ce3f2238..97384d2498 100644
--- a/packages/backend/src/server/api/endpoints/federation/instances.ts
+++ b/packages/backend/src/server/api/endpoints/federation/instances.ts
@@ -27,6 +27,12 @@ export const meta = {
ref: 'FederationInstance',
},
},
+
+ // 10 calls per 5 seconds
+ limit: {
+ duration: 1000 * 5,
+ max: 10,
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/federation/show-instance.ts b/packages/backend/src/server/api/endpoints/federation/show-instance.ts
index 2972861a4b..8168f9296f 100644
--- a/packages/backend/src/server/api/endpoints/federation/show-instance.ts
+++ b/packages/backend/src/server/api/endpoints/federation/show-instance.ts
@@ -20,6 +20,12 @@ export const meta = {
optional: false, nullable: true,
ref: 'FederationInstance',
},
+
+ // 10 calls per 5 seconds
+ limit: {
+ duration: 1000 * 5,
+ max: 10,
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/federation/stats.ts b/packages/backend/src/server/api/endpoints/federation/stats.ts
index 69900bff9a..54d29c2faa 100644
--- a/packages/backend/src/server/api/endpoints/federation/stats.ts
+++ b/packages/backend/src/server/api/endpoints/federation/stats.ts
@@ -50,6 +50,12 @@ export const meta = {
otherFollowingCount: { type: 'number' },
},
},
+
+ // 10 calls per 5 seconds
+ limit: {
+ duration: 1000 * 5,
+ max: 10,
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts b/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
index f8430ef431..3ec9522c44 100644
--- a/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
+++ b/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
@@ -12,6 +12,12 @@ export const meta = {
tags: ['federation'],
requireCredential: false,
+
+ // 2 calls per second
+ limit: {
+ duration: 1000,
+ max: 2,
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/federation/users.ts b/packages/backend/src/server/api/endpoints/federation/users.ts
index 71b1aeb07b..e3bc2989df 100644
--- a/packages/backend/src/server/api/endpoints/federation/users.ts
+++ b/packages/backend/src/server/api/endpoints/federation/users.ts
@@ -24,6 +24,12 @@ export const meta = {
ref: 'UserDetailedNotMe',
},
},
+
+ // 10 calls per 5 seconds
+ limit: {
+ duration: 1000 * 5,
+ max: 10,
+ },
} as const;
export const paramDef = {