Skip to content

Commit ba9e31b

Browse files
committed
fix: 优化版本信息接口的UUID验证逻辑,使用正则表达式简化验证过程
1 parent 36fc9df commit ba9e31b

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

_worker.js

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,17 @@ export default {
4646
} else SOCKS5白名单 = 缓存SOCKS5白名单;
4747
if (访问路径 === 'version') {// 版本信息接口
4848
const 请求UUID = (url.searchParams.get('uuid') || '').toLowerCase();
49-
const 目标UUID = String(userID).toLowerCase();
50-
const uuid格式 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
51-
let 请求前8总和 = 0, 目标前8总和 = 0;
52-
for (let i = 0; i < 8; i++) {
53-
const 请求码 = 请求UUID.charCodeAt(i);
54-
请求前8总和 += 请求码 <= 57 ? 请求码 - 48 : 请求码 - 87;
55-
const 目标码 = 目标UUID.charCodeAt(i);
56-
目标前8总和 += 目标码 <= 57 ? 目标码 - 48 : 目标码 - 87;
49+
if (uuidRegex.test(请求UUID)) {
50+
const 目标UUID = String(userID).toLowerCase();
51+
let 请求前8总和 = 0, 目标前8总和 = 0;
52+
for (let i = 0; i < 8; i++) {
53+
const 请求码 = 请求UUID.charCodeAt(i);
54+
请求前8总和 += 请求码 <= 57 ? 请求码 - 48 : 请求码 - 87;
55+
const 目标码 = 目标UUID.charCodeAt(i);
56+
目标前8总和 += 目标码 <= 57 ? 目标码 - 48 : 目标码 - 87;
57+
}
58+
if (请求前8总和 === 目标前8总和 && 请求UUID.slice(-12) === 目标UUID.slice(-12)) return new Response(JSON.stringify({ Version: Number(String(Version).replace(/\D+/g, '')) }), { status: 200, headers: { 'Content-Type': 'application/json;charset=utf-8' } });
5759
}
58-
if (uuid格式.test(请求UUID) && 请求前8总和 === 目标前8总和 && 请求UUID.slice(-12) === 目标UUID.slice(-12)) return new Response(JSON.stringify({ Version: Number(String(Version).replace(/\D+/g, '')) }), { status: 200, headers: { 'Content-Type': 'application/json;charset=utf-8' } });
5960
} else if (管理员密码 && upgradeHeader === 'websocket') {// WebSocket代理
6061
await 反代参数获取(url, userID);
6162
log(`[WebSocket] 命中请求: ${url.pathname}${url.search}`);

0 commit comments

Comments
 (0)