Compare commits

..

28 Commits

Author SHA1 Message Date
世界
02656401ab documentation: Bump version 2024-04-26 20:46:17 +08:00
世界
60c9ba706c documentation: Update DNS manual 2024-04-26 20:46:17 +08:00
世界
c4d5ef5958 dialer: Allow nil router 2024-04-26 20:46:17 +08:00
世界
c87f1c0d69 Add rule-set match command 2024-04-26 20:46:16 +08:00
世界
fce3752220 Add bypass_domain and search_domain platform HTTP proxy options 2024-04-26 20:46:16 +08:00
世界
ece7fa8742 Update gVisor to 20240212.0-65-g71212d503 2024-04-26 20:46:16 +08:00
世界
52a6c36332 Update quic-go to v0.42.0 2024-04-26 20:46:16 +08:00
世界
4b3389c8c0 Fixed order for Clash modes 2024-04-26 20:46:16 +08:00
气息
95b8a0117c Fix DNS exchange index
Signed-off-by: 气息 <qdshizh@gmail.com>
2024-04-26 20:46:16 +08:00
PuerNya
c3f1dc1448 Always disable cache for fake-ip DNS transport if independent_cache disabled 2024-04-26 20:46:15 +08:00
世界
d53ed2ef30 Fix missing rule_set_ipcidr_match_source item in DNS rules 2024-04-26 20:46:15 +08:00
世界
719ba9bbe7 Improve DNS truncate behavior 2024-04-26 20:46:15 +08:00
世界
ce4c97eb64 Fix DNS fallthrough incorrectly 2024-04-26 20:46:15 +08:00
世界
992587ba0d Add rejected DNS response cache support 2024-04-26 20:46:14 +08:00
世界
581e8df86f Add support for client-subnet DNS options 2024-04-26 20:46:14 +08:00
世界
4576d5cd45 Add address filter support for DNS rules 2024-04-26 20:46:13 +08:00
世界
f5a404e23a Fix timezone for Android and iOS 2024-04-26 20:46:13 +08:00
世界
444656af04 Improve loopback detector 2024-04-26 20:46:13 +08:00
世界
ca15de28ba Remove unused fakeip packet conn 2024-04-26 20:46:13 +08:00
世界
48e8009d3c Set the default TCP keep alive period 2024-04-26 20:46:13 +08:00
世界
97024dde32 Migrate ntp service to library 2024-04-26 20:46:12 +08:00
世界
a5e9da42f8 Handle Windows power events 2024-04-26 20:46:12 +08:00
世界
096aef3f1b Improve domain suffix match behavior
For historical reasons, sing-box's `domain_suffix` rule matches literal prefixes instead of the same as other projects.

This change modifies the behavior of `domain_suffix`: If the rule value is prefixed with `.`,
the behavior is unchanged, otherwise it matches `(domain|.+\.domain)` instead.
2024-04-26 20:46:12 +08:00
世界
f31c6182bb Remove PROCESS_NAME_NATIVE dwFlag in process query output
The `process_path` rule of sing-box is inherited from Clash,
the original code uses the local system's path format (e.g. `\Device\HarddiskVolume1\folder\program.exe`),
but when the device has multiple disks, the HarddiskVolume serial number is not stable.

This change make QueryFullProcessImageNameW output a Win32 path (such as `C:\folder\program.exe`),
which will disrupt the existing `process_path` use cases in Windows.
2024-04-26 20:46:12 +08:00
世界
09f104cb3c badtls: Support uTLS and TLS ECH for read waiter 2024-04-26 20:46:12 +08:00
世界
50197a3f49 documentation: Update TestFlight 2024-04-26 20:45:28 +08:00
世界
0aa43d6c01 documentation: Fix strict_route description 2024-04-26 20:24:42 +08:00
世界
dccc3a9fc0 Fix linux workflow 2024-04-26 20:24:36 +08:00
9 changed files with 39 additions and 15 deletions

View File

@@ -33,5 +33,5 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
FURY_TOKEN: ${{ secrets.FURY_TOKEN }}
NFPM_KEY_PATH: ${{ env.Home }}/.gnupg/sagernet.key
NFPM_KEY_PATH: ${{ env.HOME }}/.gnupg/sagernet.key
NFPM_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

View File

@@ -32,14 +32,20 @@ func NewDefault(router adapter.Router, options option.DialerOptions) (*DefaultDi
var dialer net.Dialer
var listener net.ListenConfig
if options.BindInterface != "" {
bindFunc := control.BindToInterface(router.InterfaceFinder(), options.BindInterface, -1)
var interfaceFinder control.InterfaceFinder
if router != nil {
interfaceFinder = router.InterfaceFinder()
} else {
interfaceFinder = control.NewDefaultInterfaceFinder()
}
bindFunc := control.BindToInterface(interfaceFinder, options.BindInterface, -1)
dialer.Control = control.Append(dialer.Control, bindFunc)
listener.Control = control.Append(listener.Control, bindFunc)
} else if router.AutoDetectInterface() {
} else if router != nil && router.AutoDetectInterface() {
bindFunc := router.AutoDetectInterfaceFunc()
dialer.Control = control.Append(dialer.Control, bindFunc)
listener.Control = control.Append(listener.Control, bindFunc)
} else if router.DefaultInterface() != "" {
} else if router != nil && router.DefaultInterface() != "" {
bindFunc := control.BindToInterface(router.InterfaceFinder(), router.DefaultInterface(), -1)
dialer.Control = control.Append(dialer.Control, bindFunc)
listener.Control = control.Append(listener.Control, bindFunc)
@@ -47,7 +53,7 @@ func NewDefault(router adapter.Router, options option.DialerOptions) (*DefaultDi
if options.RoutingMark != 0 {
dialer.Control = control.Append(dialer.Control, control.RoutingMark(options.RoutingMark))
listener.Control = control.Append(listener.Control, control.RoutingMark(options.RoutingMark))
} else if router.DefaultMark() != 0 {
} else if router != nil && router.DefaultMark() != 0 {
dialer.Control = control.Append(dialer.Control, control.RoutingMark(router.DefaultMark()))
listener.Control = control.Append(listener.Control, control.RoutingMark(router.DefaultMark()))
}

View File

@@ -13,6 +13,9 @@ func New(router adapter.Router, options option.DialerOptions) (N.Dialer, error)
if options.IsWireGuardListener {
return NewDefault(router, options)
}
if router == nil {
return NewDefault(nil, options)
}
var (
dialer N.Dialer
err error

View File

@@ -2,7 +2,21 @@
icon: material/alert-decagram
---
#### 1.9.0-rc.10
#### 1.9.0-rc.12
* Fixes and improvements
#### 1.8.12
* Now we have official APT and DNF repositories **1**
* Fix packet MTU for QUIC protocols
* Fixes and improvements
**1**:
Including stable and beta versions, see https://sing-box.sagernet.org/installation/package-manager/
#### 1.9.0-rc.11
* Fixes and improvements

View File

@@ -15,11 +15,12 @@ platform-specific function implementation, such as TUN transparent proxy impleme
## :material-download: Download
* [App Store](https://apps.apple.com/us/app/sing-box/id6451272673)
* ~~[TestFlight (Beta)](https://testflight.apple.com/join/AcqO44FH)~~
* ~~TestFlight (Beta)~~
_Our Testflight distribution has been temporarily blocked by Apple (possibly due to too many beta versions)
and you cannot join the test, install or update the sing-box beta app right now.
Please wait patiently for processing._
TestFlight quota is only available to [sponsors](https://github.com/sponsors/nekohasekai)
(one-time sponsorships are accepted).
Once you donate, you can get an invitation by sending us your Apple ID [via email](mailto:contact@sagernet.org),
or join our Telegram group for sponsors from [@yet_another_sponsor_bot](https://t.me/yet_another_sponsor_bot).
## :material-file-download: Download (macOS standalone version)

View File

@@ -147,7 +147,7 @@ Enforce strict routing rules when `auto_route` is enabled:
* Let unsupported network unreachable
* Route all connections to tun
It prevents address leaks and makes DNS hijacking work on Android, but your device will not be accessible by others.
It prevents address leaks and makes DNS hijacking work on Android.
*In Windows*:

View File

@@ -147,7 +147,7 @@ tun 接口的 IPv6 前缀。
* 让不支持的网络无法到达
* 将所有连接路由到 tun
它可以防止地址泄漏,并使 DNS 劫持在 Android 上工作,但你的设备将无法其他设备被访问
它可以防止地址泄漏,并使 DNS 劫持在 Android 上工作。
*在 Windows 中*:

2
go.mod
View File

@@ -26,7 +26,7 @@ require (
github.com/sagernet/gvisor v0.0.0-20240315080113-799fb6b6d311
github.com/sagernet/quic-go v0.42.0-beta.3
github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691
github.com/sagernet/sing v0.4.0-beta.17
github.com/sagernet/sing v0.4.0-beta.18
github.com/sagernet/sing-dns v0.2.0-beta.16
github.com/sagernet/sing-mux v0.2.0
github.com/sagernet/sing-quic v0.1.13-beta.1

4
go.sum
View File

@@ -106,8 +106,8 @@ github.com/sagernet/quic-go v0.42.0-beta.3/go.mod h1:lf8OYop+fMxIlrfM/ZHpENt/7ZD
github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691 h1:5Th31OC6yj8byLGkEnIYp6grlXfo1QYUfiYFGjewIdc=
github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691/go.mod h1:B8lp4WkQ1PwNnrVMM6KyuFR20pU8jYBD+A4EhJovEXU=
github.com/sagernet/sing v0.2.18/go.mod h1:OL6k2F0vHmEzXz2KW19qQzu172FDgSbUSODylighuVo=
github.com/sagernet/sing v0.4.0-beta.17 h1:TWvtCTw39YyAbiVT3NXd46ts7LxxDolplJDGedBbsmg=
github.com/sagernet/sing v0.4.0-beta.17/go.mod h1:+60H3Cm91RnL9dpVGWDPHt0zTQImO9Vfqt9a4rSambI=
github.com/sagernet/sing v0.4.0-beta.18 h1:oK+pvyXnFwxwvQkeUqgxIeATiMHcrH5doLKKDGNmQkU=
github.com/sagernet/sing v0.4.0-beta.18/go.mod h1:PFQKbElc2Pke7faBLv8oEba5ehtKO21Ho+TkYemTI3Y=
github.com/sagernet/sing-dns v0.2.0-beta.16 h1:bzd4B8eHD7/WO3HrYknvgE8A56/R3n5oXBjNF97iPzQ=
github.com/sagernet/sing-dns v0.2.0-beta.16/go.mod h1:XU6Vqr6aHcMz/34Fcv8jmXpRCEuShzW+B7Qg1Xe1nxY=
github.com/sagernet/sing-mux v0.2.0 h1:4C+vd8HztJCWNYfufvgL49xaOoOHXty2+EAjnzN3IYo=