fix: smart gruop "MATCH"

This commit is contained in:
ezequielnick 2025-08-03 09:56:37 +08:00
parent be7f8677b0
commit e3e373d579

View File

@ -114,10 +114,17 @@ function main(config) {
// 处理字符串格式的规则 // 处理字符串格式的规则
const parts = rule.split(',').map(part => part.trim()) const parts = rule.split(',').map(part => part.trim())
if (parts.length >= 3) { if (parts.length >= 2) {
// 找到代理组名称的位置
let targetIndex = -1 let targetIndex = -1
let targetValue = '' let targetValue = ''
// 处理 MATCH 规则
if (parts[0] === 'MATCH' && parts.length === 2) {
targetIndex = 1
targetValue = parts[1]
} else if (parts.length >= 3) {
// 处理其他规则
for (let i = 2; i < parts.length; i++) { for (let i = 2; i < parts.length; i++) {
const part = parts[i] const part = parts[i]
if (!ruleParams.has(part)) { if (!ruleParams.has(part)) {
@ -126,6 +133,7 @@ function main(config) {
break break
} }
} }
}
if (targetIndex !== -1 && targetValue) { if (targetIndex !== -1 && targetValue) {
// 检查是否应该替换 // 检查是否应该替换