Commit Graph

2037 Commits

Author SHA1 Message Date
世界
c387601c27 Improve compatibility for kTLS 2026-01-17 05:46:00 +08:00
世界
a8a4467bc3 ktls: Add warning for inappropriate scenarios 2026-01-17 05:44:43 +08:00
世界
47392e55a2 Add support for kTLS
Reference: https://gitlab.com/go-extension/tls
2026-01-17 05:44:42 +08:00
世界
e2ba72e7c1 Add proxy support for ICMP echo request 2026-01-17 05:44:41 +08:00
世界
6f00a94eb9 Fix resolve using resolved 2026-01-17 05:44:29 +08:00
世界
3a33affe43 documentation: Update behavior of local DNS server on darwin 2026-01-17 05:44:29 +08:00
世界
0d7f40e60d Remove use of ldflags -checklinkname=0 on darwin 2026-01-17 05:44:29 +08:00
世界
99466af6b7 Fix legacy DNS config 2026-01-17 05:44:29 +08:00
世界
14bec14972 Fix rule-set format 2026-01-17 05:44:29 +08:00
世界
56518e827e documentation: Remove outdated icons 2026-01-17 05:44:29 +08:00
世界
51d9ff9812 documentation: Improve local DNS server 2026-01-17 05:44:28 +08:00
世界
958799e85e Stop using DHCP on iOS and tvOS
We do not have the `com.apple.developer.networking.multicast` entitlement and are unable to obtain it for non-technical reasons.
2026-01-17 05:44:28 +08:00
世界
ce778e569b Improve local DNS server on darwin
We mistakenly believed that `libresolv`'s `search` function worked correctly in NetworkExtension, but it seems only `getaddrinfo` does.

This commit changes the behavior of the `local` DNS server in NetworkExtension to prefer DHCP, falling back to `getaddrinfo` if DHCP servers are unavailable.

It's worth noting that `prefer_go` does not disable DHCP since it respects Dial Fields, but `getaddrinfo` does the opposite. The new behavior only applies to NetworkExtension, not to all scenarios (primarily command-line binaries) as it did previously.

In addition, this commit also improves the DHCP DNS server to use the same robust query logic as `local`.
2026-01-17 05:44:28 +08:00
世界
dd489ab415 Use resolved in local DNS server if available 2026-01-17 05:44:28 +08:00
xchacha20-poly1305
9a66482483 Fix rule set version 2026-01-17 05:44:27 +08:00
世界
52e4ddbb86 documentation: Add preferred_by route rule item 2026-01-17 05:44:27 +08:00
世界
5c8b07acfe Add preferred_by route rule item 2026-01-17 05:44:27 +08:00
世界
bc029ca5fe documentation: Add interface address rule items 2026-01-17 05:44:27 +08:00
世界
d373f57e57 Add interface address rule items 2026-01-17 05:44:26 +08:00
世界
158f246d1d Fix ECH retry support 2026-01-17 05:44:26 +08:00
neletor
6fdd08ac2d Add support for ech retry configs 2026-01-17 05:44:26 +08:00
Zephyruso
bde9463a22 Add /dns/flush-clash meta api 2026-01-17 05:44:26 +08:00
世界
ce28df923d Bump version 2026-01-17 05:10:56 +08:00
世界
41c530ac8f Update Go to 1.25.6 2026-01-17 05:10:56 +08:00
世界
7a212f7c7b Update uTLS to v1.8.2 2026-01-17 04:54:18 +08:00
世界
43823da9cd Update smux to v1.5.50 & Fix h2mux RST_STREAM on half-close 2026-01-17 04:17:14 +08:00
世界
a2c9fdd7b6 Bump version 2026-01-12 20:38:21 +08:00
世界
e3e6e9067c Fix logic issues with BBR impl 2026-01-12 20:34:04 +08:00
世界
2b732cef16 Bump version 2026-01-07 15:13:35 +08:00
Gavin Luo
e923f63606 Fix reset buffer in dhcp response loop
Previously, the buffer was not reset within the response loop. If a packet
handle failed or completed, the buffer retained its state. Specifically,
if `ReadPacketFrom` returned `io.ErrShortBuffer`, the error was ignored
via `continue`, but the buffer remained full. This caused the next
read attempt to immediately fail with the same error, creating a tight
busy-wait loop that consumed 100% CPU.

Validates `buffer.Reset()` is called at the start of each iteration to
ensure a clean state for 'ReadPacketFrom'.
2026-01-05 17:46:59 +08:00
世界
53f0e142e5 Fix Tailscale endpoint using wrong source IP with advertise_routes 2026-01-04 22:14:54 +08:00
Bruce Wayne
0b68c1d276 ducumentation: update Shadowsocks inbound documentation for SSM API 2026-01-02 19:18:52 +08:00
世界
21bff4ba42 Fix lint errors 2026-01-02 19:17:53 +08:00
世界
cb89991fe1 Revert "Pin gofumpt and golangci-lint versions"
This reverts commit 6775c029df.
2026-01-02 19:14:13 +08:00
世界
2453747018 Fix duplicate tag detection for empty tags
Closes https://github.com/SagerNet/sing-box/issues/3665
2026-01-02 19:14:13 +08:00
世界
59314bbce4 Fix quic sniffer 2026-01-02 19:14:13 +08:00
世界
2cc7894a0d Bump version 2025-12-25 14:47:10 +08:00
世界
4637874b3c Update Mozilla certificates 2025-12-25 14:42:18 +08:00
世界
9f7368a4dc Ignore darwin IP_DONTFRAG error when not supported 2025-12-25 14:40:48 +08:00
世界
83e0a8bc48 Fix TCP DNS response buffer 2025-12-22 13:51:00 +08:00
世界
0f5810c43c Fix missing RootPoolFromContext and TimeFuncFromContext in HTTP clients 2025-12-22 13:50:57 +08:00
世界
4eb91d69fe 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
世界
b1800571e7 Bump version 2025-12-14 00:09:19 +08:00
世界
671c49ca6f Update Go to 1.25.5 2025-12-13 20:11:29 +08:00
世界
b651ac4f39 Fix naive inbound 2025-12-12 21:19:28 +08:00
世界
04e8a7a5f4 Fix tailscale destination 2025-12-01 15:02:04 +08:00
世界
063d20d221 Update Go to 1.25.4 2025-11-16 09:53:10 +08:00
世界
5f8a7d96b4 release: Fix windows7 build 2025-11-16 09:09:34 +08:00
世界
d1b303bf90 Fix adapter handler 2025-11-16 08:34:46 +08:00
世界
61c33e6db4 ssm-api: Fix save cache 2025-11-04 11:00:43 +08:00