31 Commits

Author SHA1 Message Date
世界 58affa1c6d Add JSON schema support 2026-07-25 22:58:38 +08:00
世界 5d744adaa3 dns: Add namespace and parallel support for evaluate 2026-07-23 21:08:26 +08:00
世界 3d2461f3ba refactor: Async DNS 2026-07-19 16:37:16 +08:00
世界 c8ee3497b2 refactor: New tun udpnat 2026-07-16 21:35:01 +08:00
世界 eaec0cf88b Add L3 forwarding support 2026-07-09 11:20:31 +08:00
世界 3d5d0b0ca0 Fix lint errors 2026-07-09 11:19:45 +08:00
世界 dbe307461c dns: Add timeout configuration 2026-07-09 11:19:14 +08:00
世界 b313d0cd10 Improve oom-killer 2026-07-09 11:19:14 +08:00
世界 9b97a0de6f 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-07-09 11:19:08 +08:00
世界 c8101bf1b7 Add optimistic DNS cache 2026-07-09 11:17:55 +08:00
世界 c61e5820a5 Un-deprecate ip_accept_any DNS rule item 2026-07-09 11:17:51 +08:00
世界 7b855595f4 Fix rules lock 2026-07-09 11:17:50 +08:00
nekohasekai daff1623b2 Add evaluate DNS rule action and related rule items 2026-07-09 11:17:47 +08:00
世界 e343cec4d5 Fix legacy DNS defaults on final transport 2026-03-09 20:06:34 +08:00
世界 e62dc7bfa2 Fix rule_set_ip_cidr_accept_empty not working 2026-03-04 11:48:22 +08:00
世界 8714c157c9 Fix matching multi predefined 2026-02-15 21:09:06 +08:00
世界 aa8dd6e44f Fix DNS transports 2026-01-17 05:48:41 +08:00
世界 5bc0dfa9dd platform: Refactoring libbox to use gRPC-based protocol 2026-01-17 05:47:32 +08:00
世界 1ebff74c21 Fix DNS cache not working when domain strategy is set
The cache lookup was performed before rule matching, using the caller's
strategy (usually AsIS/0) instead of the resolved strategy. This caused
cache misses when ipv4_only was configured globally but the cache lookup
expected both A and AAAA records.

Remove LookupCache and ExchangeCache from Router, as the cache checks
inside client.Lookup and client.Exchange already handle caching correctly
after rule matching with the proper strategy and transport.
2025-12-21 16:59:10 +08:00
世界 06791470c9 Fix DNS reject panic 2025-10-14 23:40:19 +08:00
世界 cef3e538ba Fix failed DNS responses being incorrectly rejected 2025-08-19 11:14:46 +08:00
世界 e586ef070e Fix dns.client_subnet ignored 2025-07-08 13:14:43 +08:00
世界 6ee3117755 Add resolved service and DNS server 2025-07-08 13:14:41 +08:00
世界 349db7baec Fix DNS lookup 2025-07-08 13:12:33 +08:00
世界 fb622ccbdf Explicitly reject detour to empty direct outbounds 2025-07-08 13:12:28 +08:00
世界 e8499452f8 Add wildcard name support for predefined records 2025-07-08 13:12:27 +08:00
世界 23cf8c49e0 Fix DNS lookup context pollution 2025-07-08 13:12:25 +08:00
世界 b97947e8ac Move predefined DNS server to rule action 2025-07-08 13:12:23 +08:00
世界 9a5f69f435 Add fallback local DNS server for iOS 2025-07-08 13:12:18 +08:00
世界 6f793a0273 Add Tailscale endpoint 2025-07-08 13:12:16 +08:00
世界 3016338e34 refactor: DNS 2025-07-08 13:12:14 +08:00