32 Commits

Author SHA1 Message Date
世界 52e72736ad route: simplify rule_set matching semantics
Since b0c6762bc, every rule inside a referenced rule-set was evaluated
as if merged into the outer rule, which required tracking per-branch
group states and let outer rules and rule-set rules satisfy each
other's grouped conditions in both directions.

Restrict merging to the only designed case: a rule-set containing
exactly one non-inverted default rule is merged into the outer rule as
before. Any other rule-set now matches as an ordinary condition of the
outer rule: it matches when any of its rules matches on its own, and
its rules no longer exchange grouped match state with the outer rule
in either direction. Multiple referenced rule-sets keep OR semantics.

Flat address rule-sets such as generated geosite/geoip sets contain a
single default rule, so their behavior is unchanged. The group-state
set machinery is replaced by a single required/satisfied mask pair.

Also update the route and DNS rule docs.
2026-07-23 14:16:55 +08:00
世界 9fc7621596 Improve bridge 2026-07-09 11:20:32 +08:00
世界 ef954777d0 Add package_name_regex route, DNS and headless rule item 2026-07-09 11:17:53 +08:00
世界 eaf1f5e563 documentation: Update descriptions for neighbor rules 2026-07-09 11:16:44 +08:00
世界 801505e628 Add MAC and hostname rule items 2026-07-09 11:16:41 +08:00
世界 b0c6762bc1 route: merge rule_set branches into outer rules
Treat rule_set items as merged branches instead of standalone boolean
sub-items.

Evaluate each branch inside a referenced rule-set as if it were merged
into the outer rule and keep OR semantics between branches. This lets
outer grouped fields satisfy matching groups inside a branch without
introducing a standalone outer fallback or cross-branch state union.

Keep inherited grouped state outside inverted default and logical
branches. Negated rule-set branches now evaluate !(...) against their
own conditions and only reapply the outer grouped match after negation
succeeds, so configs like outer-group && !inner-condition continue to
work.

Add regression tests for same-group merged matches, cross-group and
extra-AND failures, DNS merged-branch behaviour, and inverted merged
branches. Update the route and DNS rule docs to clarify that rule-set
branches merge into the outer rule while keeping OR semantics between
branches.
2026-03-25 14:00:29 +08:00
世界 686cf1f304 documentation: Fix Chinese link anchors 2026-03-16 12:24:10 +08:00
世界 203f4134b0 documentation: Add Wi-Fi state shared page 2026-01-17 05:48:16 +08:00
世界 8d8ca282a1 Add Linux WI-FI state support
Support monitoring WIFI state on Linux through:
- NetworkManager (D-Bus)
- IWD (D-Bus)
- wpa_supplicant (control socket)
- ConnMan (D-Bus)
2026-01-17 05:47:04 +08:00
世界 f84129ca79 Add proxy support for ICMP echo request 2026-01-17 05:44:41 +08:00
世界 87eaf3ce6e documentation: Add preferred_by route rule item 2026-01-17 05:44:27 +08:00
世界 5be1887f92 documentation: Add interface address rule items 2026-01-17 05:44:27 +08:00
世界 c4b6d0eadb Make GSO adaptive 2025-01-13 15:14:30 +08:00
世界 05ea0ca00e Add network_[type/is_expensive/is_constrained] rule items 2025-01-13 15:14:29 +08:00
世界 28ec898a8c documentation: Add rule action 2025-01-13 15:14:29 +08:00
srk24 846777cd0c Add process_path_regex rule type 2024-10-13 13:07:02 +08:00
世界 9dc3bb975a Improve QUIC sniffer 2024-10-13 13:07:02 +08:00
世界 93cf134995 Add accept empty DNS rule option 2024-10-13 13:07:02 +08:00
世界 8a9a77a438 Add bypass_domain and search_domain platform HTTP proxy options 2024-05-23 14:57:26 +08:00
世界 71d1879bd6 Fix missing rule_set_ipcidr_match_source item in DNS rules 2024-05-21 15:12:03 +08:00
世界 0517ceef76 Add address filter support for DNS rules 2024-05-21 15:12:02 +08:00
世界 25810b50c1 Update documentation 2024-01-03 12:21:37 +08:00
世界 e09a94bb9e Update documentation 2024-01-03 12:21:36 +08:00
世界 bb1ebfda83 documentation: Fix link format 2023-12-21 15:24:05 +08:00
世界 e8c4c942c0 documentation: Bump version & Refactor docs 2023-11-28 11:21:57 +08:00
世界 aa94cfb876 Refactor rules 2023-06-07 20:28:21 +08:00
世界 d9aa0a67d6 Fix port rule match logic 2022-09-14 22:03:26 +08:00
世界 ebf5cbf1b9 Update documentation 2022-09-10 23:31:07 +08:00
世界 f5f5cb023c Update documentation 2022-08-31 14:34:32 +08:00
Reece 31a2e368cc Fix zh-CN document symbol and format (#29) 2022-08-25 09:45:22 +08:00
世界 7c76e0c3ee Initial zh-CN document translation: inbound 2022-08-24 18:43:39 +08:00
世界 ad90ddd327 Initial zh-CN document translation: route 2022-08-24 16:56:29 +08:00