v0.2.7: 修复Redis连接 + 启动管理后台

- 修复Redis认证 (配置密码)
- 启动Python管理后台 (端口9531, 15个功能开关)
- 统一版本号 0.2.7
- 更新docker-compose.yml (镜像版本/Redis URL/Admin服务)
This commit is contained in:
2026-05-17 02:22:18 +08:00
commit 83cbfaf03f
164 changed files with 25195 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
import rateLimit from 'express-rate-limit';
/** 公开搜索接口:较宽松 */
export const searchLimiter = rateLimit({
windowMs: 60 * 1000,
max: 150,
standardHeaders: true,
legacyHeaders: false,
keyGenerator: (req) => req.socket.remoteAddress ?? 'unknown',
message: { error: '搜索请求过于频繁,请稍后再试', code: 429 },
});
/** 管理接口admin/*):较严格 */
export const adminLimiter = rateLimit({
windowMs: 60 * 1000,
max: 30,
standardHeaders: true,
legacyHeaders: false,
keyGenerator: (req) => req.socket.remoteAddress ?? 'unknown',
message: { error: '操作过于频繁,请稍后再试', code: 429 },
});
/** 登录接口:极严格,防暴力破解 */
export const loginLimiter = rateLimit({
windowMs: 60 * 1000,
max: 5,
standardHeaders: true,
legacyHeaders: false,
keyGenerator: (req) => req.socket.remoteAddress ?? 'unknown',
message: { error: '登录尝试次数过多,请一分钟后重试', code: 429 },
});
/** 转存/保存接口:中等等级 */
export const saveLimiter = rateLimit({
windowMs: 60 * 1000,
max: 30,
standardHeaders: true,
legacyHeaders: false,
keyGenerator: (req) => req.socket.remoteAddress ?? 'unknown',
message: { error: '转存操作过于频繁,请稍后再试', code: 429 },
});
/** 默认全局限流(兜底,未匹配上述规则的路由) */
const defaultLimiter = rateLimit({
windowMs: 60 * 1000,
max: 100,
standardHeaders: true,
legacyHeaders: false,
keyGenerator: (req) => req.socket.remoteAddress ?? 'unknown',
message: { error: 'Too many requests, please try again later.', code: 429 },
});
export default defaultLimiter;