753 Commits
Author SHA1 Message Date
Shtorm 25618424e6 limiter: use named routers, keep original inbound metadata 2026-09-04 01:30:11 +03:00
Shtorm c0bfc731ec Merge tag 'v1.14.0' 2026-09-04 01:08:30 +03:00
世界 c53c2375c4 Improve power report 2026-08-30 17:41:47 +08:00
世界 673485755c Fix fakeip UDP reply address mapping 2026-08-30 17:41:47 +08:00
世界 08986ad405 Fix address filter matching for inverted legacy DNS rules
Inverted rules whose address filter conditions come from rule sets or
logical rules were rejected during pre-lookup matching, so the lookup was
never sent and the rules never matched; for plain ip rule sets this was a
regression from the rule-set invert fix in 1.12.22. Pre-lookup matching
now tracks whether the result depends on deferred address filter
conditions and defers such rules to the response phase, while results
already determined by evaluated conditions are still decided during
pre-lookup.
2026-08-30 17:41:46 +08:00
世界 e6b7c6ca75 Invalidate remote rule-set cache when URL changes 2026-08-30 17:41:46 +08:00
世界 ba4146ea31 Reformat code 2026-08-30 17:41:46 +08:00
世界 6720a27109 Handle network update callbacks in background 2026-08-30 17:41:46 +08:00
世界 2e238abe01 Fix network environment log 2026-08-30 17:41:46 +08:00
世界 b3a45e0839 Add query_client_subnet and query_dnssec DNS rule items and remove_client_subnet DNS route action option 2026-08-30 17:41:45 +08:00
世界 4e91d92c5f Refactor local DNS cache partitioning 2026-08-30 17:41:45 +08:00
世界 a8091761d7 Fix missing process info in hijacked DNS queries 2026-08-30 17:41:45 +08:00
世界 0dd17d78d8 Fix DNS response buffer headroom 2026-08-30 17:41:45 +08:00
世界 1698e6cf66 Add initial_path option to remote rule-sets 2026-08-30 17:41:44 +08:00
世界 6e09f2892a Add JSON schema support 2026-08-30 17:41:44 +08:00
世界 e09e3b49f9 dns: Add namespace and parallel support for evaluate 2026-08-30 17:41:44 +08:00
世界 510586c4f8 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-08-30 17:41:44 +08:00
世界 e4c8b49eaf Improve network reset 2026-08-30 17:41:43 +08:00
世界 5d424ea2ac refactor: Async DNS 2026-08-30 17:41:43 +08:00
世界 90d75b9673 Refactor UDP DNS hijack 2026-08-30 17:41:43 +08:00
世界 719676519d Fix bind control for auto redirect 2026-08-30 17:41:43 +08:00
世界 668ced35f8 Refactor endpoint listen 2026-08-30 17:41:43 +08:00
世界 1f7d571017 refactor: New tun udpnat 2026-08-30 17:41:43 +08:00
世界 9dfe842794 Add multiple tags support to rule-sets 2026-08-30 17:41:43 +08:00
世界 0a4e4c8061 boxdd: Add insecure mode 2026-08-30 17:41:43 +08:00
世界 4f330d73ec platform: Add http proxy support for Windows 2026-08-30 17:41:42 +08:00
世界 b35a747dab Fix process and neighbor rules not matched in pre-match 2026-08-30 17:41:42 +08:00
世界 97bbf2a9a4 Improve bridge 2026-08-30 17:41:42 +08:00
世界 1e2f1d04da Add bridge outbound 2026-08-30 17:41:42 +08:00
世界 fa479edc12 Imrpove flow tracking & sniff action 2026-08-30 17:41:42 +08:00
世界 5f2054bf90 Add L3 forwarding support 2026-08-30 17:41:42 +08:00
世界 d8cd38d31b Improve remote rule-set update 2026-08-30 17:41:41 +08:00
世界 704853b3be Fix lint errors 2026-08-30 17:41:40 +08:00
世界 ae0c62aae8 Fix reset network 2026-08-30 17:41:40 +08:00
macronutand世界 d9290bc940 Add more spoof method
Signed-off-by: macronut <4027187+macronut@users.noreply.github.com>
2026-08-30 17:41:40 +08:00
世界 3c016c978b Allow customizing TUN DNS mode and hijack interface DNS by default 2026-08-30 17:41:40 +08:00
世界 14b8f1bd4d dns: Add preferred_by rule item 2026-08-30 17:41:40 +08:00
世界 f8a623e0c6 dns: Add neighbor-based hostname resolution to local server 2026-08-30 17:41:40 +08:00
世界 87c2b89120 dns: Add timeout configuration 2026-08-30 17:41:40 +08:00
世界 2bbff23640 Improve UDP batch support 2026-08-30 17:41:40 +08:00
世界 a04daaff75 Reject pure-IP rule-set references without match_response
DNS rules referencing rule-sets that contain only ip_cidr predicates
silently stopped matching when legacy DNS mode was disabled, because the
IP-CIDR branch cannot match against an in-flight DNS query. The existing
validation intentionally let every rule_set through on the premise that
mixed sets still work via their non-IP branches, which is only true when
such a branch exists. Track whether a rule-set carries any non-IP-CIDR
predicate and reject pure-IP references the same way bare ip_cidr fields
are already rejected.
2026-08-30 17:41:39 +08:00
世界 8e8d1dcca8 Fix legacy rule-set download_detour blocked by empty direct check 2026-08-30 17:41:39 +08:00
世界 2515811356 Refactor: HTTP clients, unified HTTP2/QUIC options, Apple engines 2026-08-30 17:41:39 +08:00
世界 c322ad5d33 Add optimistic DNS cache 2026-08-30 17:41:39 +08:00
世界 bc6f9703e3 Add package_name_regex route, DNS and headless rule item 2026-08-30 17:41:39 +08:00
世界 d72c1d9be7 Un-deprecate ip_accept_any DNS rule item 2026-08-30 17:41:39 +08:00
nekohasekai cd77e78f0a Add evaluate DNS rule action and related rule items 2026-08-30 17:41:39 +08:00
世界 1cde511d6d Add macOS support for MAC and hostname rule items 2026-08-30 17:41:38 +08:00
世界 39592518b0 Add Android support for MAC and hostname rule items 2026-08-30 17:41:38 +08:00
世界 57c62b5330 Add MAC and hostname rule items 2026-08-30 17:41:38 +08:00