mirror of
https://gh.catmak.name/https://github.com/mihomo-party-org/mihomo-party
synced 2025-12-27 13:10:30 +08:00
fix: smart gruop "MATCH"
This commit is contained in:
parent
3d137fde4d
commit
36c4b6f0d1
@ -118,18 +118,24 @@ 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) {
|
||||||
// 找到代理组名称的位置(通常是第3个参数,但需要排除规则参数)
|
// 找到代理组名称的位置
|
||||||
let targetIndex = -1
|
let targetIndex = -1
|
||||||
let targetValue = ''
|
let targetValue = ''
|
||||||
|
|
||||||
// 从第3个参数开始查找(索引2),找到第一个不是规则参数的值
|
// 对于 MATCH 规则,目标在第2个位置(索引1)
|
||||||
for (let i = 2; i < parts.length; i++) {
|
if (parts[0] === 'MATCH' && parts.length === 2) {
|
||||||
const part = parts[i]
|
targetIndex = 1
|
||||||
if (!ruleParams.has(part)) {
|
targetValue = parts[1]
|
||||||
targetIndex = i
|
} else if (parts.length >= 3) {
|
||||||
targetValue = part
|
// 对于其他规则,从第3个参数开始查找(索引2),找到第一个不是规则参数的值
|
||||||
break
|
for (let i = 2; i < parts.length; i++) {
|
||||||
|
const part = parts[i]
|
||||||
|
if (!ruleParams.has(part)) {
|
||||||
|
targetIndex = i
|
||||||
|
targetValue = part
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user