mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-16 07:58:10 +10:00
51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
export const TRUSTED_IP_HEADERS = [
|
|
"CF-Connecting-IP",
|
|
"CF-Connecting-IPv6",
|
|
"True-Client-IP",
|
|
"X-Forwarded-For",
|
|
"X-Real-IP",
|
|
];
|
|
|
|
export const rateLimitConfig = {
|
|
betterAuth: {
|
|
global: {
|
|
enabled: true,
|
|
window: 60,
|
|
max: 60,
|
|
customRules: {
|
|
"/sign-in/email": { window: 60, max: 5 },
|
|
"/sign-up/email": { window: 60, max: 3 },
|
|
"/request-password-reset": { window: 600, max: 3 },
|
|
"/send-verification-email": { window: 600, max: 3 },
|
|
"/two-factor/verify-otp": { window: 600, max: 5 },
|
|
"/two-factor/verify-totp": { window: 600, max: 5 },
|
|
"/two-factor/verify-backup-code": { window: 600, max: 5 },
|
|
"/is-username-available": { window: 60, max: 20 },
|
|
},
|
|
},
|
|
oauthProvider: {
|
|
register: { window: 60, max: 5 },
|
|
authorize: { window: 60, max: 30 },
|
|
token: { window: 60, max: 20 },
|
|
introspect: { window: 60, max: 60 },
|
|
revoke: { window: 60, max: 30 },
|
|
userinfo: { window: 60, max: 60 },
|
|
},
|
|
apiKey: {
|
|
enabled: true,
|
|
timeWindow: 60 * 60 * 1000,
|
|
maxRequests: 1000,
|
|
},
|
|
},
|
|
orpc: {
|
|
resumePassword: { maxRequests: 5, window: 10 * 60 * 1000 },
|
|
pdfExport: { maxRequests: 5, window: 60 * 1000 },
|
|
aiRequest: { maxRequests: 20, window: 60 * 1000 },
|
|
jobsSearch: { maxRequests: 30, window: 60 * 1000 },
|
|
jobsTestConnection: { maxRequests: 10, window: 60 * 1000 },
|
|
storageUpload: { maxRequests: 20, window: 60 * 1000 },
|
|
storageDelete: { maxRequests: 30, window: 60 * 1000 },
|
|
resumeMutations: { maxRequests: 300, window: 60 * 1000 },
|
|
},
|
|
} as const;
|