whyour
|
df94aeca88
|
修复 npm 启动脚本
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
0072646a49
|
移除自动清除 deb
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
584ca10331
|
修复 command 变量
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
3b570eea47
|
更新 npm 版本 v2.18.3-3
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
29b3b7c93e
|
更新 nodejs 版本
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
db1b2896fe
|
更新 npm 版本 v2.18.2-6
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
e533623636
|
修复系统安装依赖提示
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
aebcfcfe1c
|
写入文件增加文件锁
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
b2fdbc0d71
|
更新 npm 版本 v2.17.13
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
82a6467e37
|
修改本地服务启动提示
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
d0d8a5b2c0
|
更新 npm 版本 v2.17.12
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
356c29b0c7
|
修改 debian 版本为 12 bookworm
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
5c4e434aa7
|
更新 npm 版本 v2.17.11
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
1dcf9dae2f
|
更新 npm 版本 v2.17.10
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
fca7c46e6a
|
更新 npm 版本 v2.17.9
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
d1a4e92d0f
|
修复 qinglong 命令
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
bf6a4de5c6
|
更新 npm 版本 v2.17.8
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
5f41904f53
|
npm 启动增加 reload 逻辑
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
1ff1dcf4c2
|
修改 ts 文件执行依赖
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
fc5977de1f
|
更新 npm 版本 v0.21.2
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
f79820e5f0
|
修改 apt 命令
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
29896b8c94
|
安装 linux 依赖自动识别 alpine 和 debian
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
d6be908a2c
|
更新 npm 版本 v0.20.4
|
2026-03-01 18:05:15 +08:00 |
|
whyour
|
6c88523d91
|
修复 debian netcat 包名
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
45b42a415f
|
更新 npm 版本 v0.19.9
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
cfe1bdff07
|
修改 npm 安装启动命令
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
34b11aaa65
|
更新 npm 版本 v0.18.0
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
167b83ecc6
|
更新 npm 版本 v0.17.0
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
578fa874d3
|
修复 linux 镜像源
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
4e1401eb27
|
更新 npm 版本 v0.16.0
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
043934b9fc
|
更新 workflow action 版本
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
ec06db53e1
|
增加 npx 命令
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
9f8c6fe811
|
更新 npm 版本 v0.14.5
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
de78d9840a
|
修复 workflow
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
67244bde92
|
移除 qinglong 命令 npm 默认镜像源
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
525e6ff2aa
|
修复 qinglong 命令
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
99993a3b2b
|
修改切换 linux 镜像源
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
6d87206ec9
|
增加 debian 开发版本
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
4d3fa6b0d4
|
更新 npm 版本 v0.13.2
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
9372d2030f
|
修复 qinglong 命令
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
8892a4a816
|
修复 shell check_server
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
2bf5c2c3c9
|
修复拉取私有仓库
|
2026-03-01 18:05:14 +08:00 |
|
dream10201
|
e8a35dd5ee
|
修复linux依赖检测 (#2082)
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
51a4408c19
|
更新 npm v0.8.4
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
360a35d70d
|
更新 npm 版本 0.7.7
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
28a95d1e1c
|
修复 debian apt 命令,支持 qinglong 命令
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
609d554cd4
|
增加 debian-slim 基础镜像
|
2026-03-01 18:05:14 +08:00 |
|
whyour
|
e9804c51f8
|
修改获取示例文件 api path
|
2026-03-01 18:05:14 +08:00 |
|
Copilot
|
6bec52dca1
|
Fix /open/user/init auth bypass allowing credential reset on initialized systems (#2941)
* Initial plan
* fix: add /open/user/init paths to init guard to prevent auth bypass
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
Co-authored-by: whyour <imwhyour@gmail.com>
|
2026-03-01 18:02:21 +08:00 |
|
rockymelody
|
ce599d306f
|
青龙面板鉴权绕过漏洞已修复 (#2935)
已实施的安全加固措施
第一层防御:启用Express严格路由(第17-18行)
app.set('case sensitive routing', true); // 路由大小写敏感
app.set('strict routing', true); // 严格路由匹配
第二层防御:路径标准化检查中间件(第23-37行)
app.use((req, res, next) => {
const originalPath = req.path;
const normalizedPath = originalPath.toLowerCase();
// 检测并拦截大小写混淆攻击
if (originalPath !== normalizedPath &&
(normalizedPath.startsWith('/api/') || normalizedPath.startsWith('/open/'))) {
return res.status(400).json({
code: 400,
message: 'Invalid path format'
});
}
next();
});
作用:主动检测并拒绝含有大小写变体的恶意请求
第三层防御:JWT中间件正则表达式修复(第59行)
// 修复前:
path: [...config.apiWhiteList, /^\/(?!api\/).*/],
// 修复后:添加大小写不敏感标志 'i'
path: [...config.apiWhiteList, /^(\/(?!api\/).*)$/i],
作用:防御正则匹配层面的绕过
第四层防御:自定义Token中间件路径标准化(第74-87行)
// 修复前:
if (!['/open/', '/api/'].some((x) => req.path.startsWith(x))) {
// 修复后:统一转小写比较
const pathLower = req.path.toLowerCase();
if (!['/open/', '/api/'].some((x) => pathLower.startsWith(x))) {
}
作用:确保Token验证逻辑对所有路径变体生效
第五层防御:初始化接口路径检查修复(第122-123行)
// 修复前:
if (!['/api/user/init', '/api/user/notification/init'].includes(req.path)) {
// 修复后:
const pathLower = req.path.toLowerCase();
if (!['/api/user/init', '/api/user/notification/init'].includes(pathLower)) {
|
2026-03-01 17:44:03 +08:00 |
|