Commit 504c1ce
committed
fix: 兼容机场 YAML 中的 AND/NOT/OR 逻辑规则
convertOriginalRules() 之前按普通规则格式 (TYPE,value,group) 解析所有规则,
但 AND/NOT/OR 逻辑规则的结构不同——policy target 在最后一个元素而非 parts[2],
导致嵌套子规则 (如 ((DST-PORT,443),(NETWORK,UDP))) 被错误拆分,
Clash/Mihomo 报 'payload format error'。
- 检测 AND/NOT/OR 规则类型,取最后一段作为 policy target
- 指向内置策略 (REJECT/DIRECT) 的原样保留
- 指向已清空分组的降级到 Proxy A / Global Proxy
- 丢弃带 no-resolve 后缀的逻辑规则(机场保护措施,无实际作用且会导致错误)
- 新增 tests/realworld-yaml-test.ts 覆盖真实机场配置边界1 parent 75b66df commit 504c1ce
4 files changed
Lines changed: 747 additions & 9 deletions
File tree
- src
- config
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| |||
381 | 381 | | |
382 | 382 | | |
383 | 383 | | |
| 384 | + | |
| 385 | + | |
384 | 386 | | |
385 | 387 | | |
386 | 388 | | |
387 | 389 | | |
388 | 390 | | |
389 | 391 | | |
390 | | - | |
| 392 | + | |
391 | 393 | | |
392 | 394 | | |
393 | 395 | | |
394 | 396 | | |
395 | | - | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
396 | 418 | | |
397 | 419 | | |
398 | 420 | | |
399 | 421 | | |
400 | 422 | | |
401 | 423 | | |
402 | | - | |
| 424 | + | |
403 | 425 | | |
404 | 426 | | |
405 | 427 | | |
406 | 428 | | |
407 | 429 | | |
408 | | - | |
| 430 | + | |
409 | 431 | | |
410 | 432 | | |
411 | 433 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| 111 | + | |
| 112 | + | |
111 | 113 | | |
112 | 114 | | |
113 | 115 | | |
114 | 116 | | |
115 | 117 | | |
116 | 118 | | |
117 | | - | |
| 119 | + | |
118 | 120 | | |
119 | 121 | | |
120 | 122 | | |
121 | 123 | | |
122 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
123 | 145 | | |
124 | 146 | | |
125 | 147 | | |
126 | 148 | | |
127 | 149 | | |
128 | 150 | | |
129 | | - | |
| 151 | + | |
130 | 152 | | |
131 | 153 | | |
132 | 154 | | |
133 | 155 | | |
134 | 156 | | |
135 | | - | |
| 157 | + | |
136 | 158 | | |
137 | 159 | | |
138 | 160 | | |
| |||
0 commit comments