The universal proxy platform sing-box.sagernet.org/
Go to file
zhxu 07460d1a7a group: Fix interrupt_exist_connections for routed connections
Connections routed to a selector (route target or final) enter through
the ConnectionHandler path (NewConnection/NewPacketConnection), which
never goes through Selector.DialContext/ListenPacket, so they were
never registered in the interrupt group. As a result, SelectOutbound
interrupted nothing and existing connections kept flowing over the
previously selected outbound.

Register the inbound connection in the interrupt group as an external
connection on both handler branches, so switching the selected outbound
interrupts routed connections when interrupt_exist_connections is
enabled, while leaving them untouched by default.

Fixes #4281.
2026-07-12 16:17:27 +08:00
.github Update Go to 1.25.11 2026-07-09 11:20:04 +08:00
adapter Add netns and unshare support 2026-07-11 08:42:52 +08:00
clients Bump version 2026-06-25 16:36:07 +08:00
cmd Add netns and unshare support 2026-07-11 08:42:52 +08:00
common interrupt: Add wrapper for sing-style packet connections 2026-07-12 16:14:47 +08:00
constant Add netns and unshare support 2026-07-11 08:42:52 +08:00
daemon platform: Export tester and reporter 2026-07-11 22:23:50 +08:00
dns Fix local DNS transport on darwin 2026-07-09 11:20:31 +08:00
docs Bump version 2026-07-11 08:42:52 +08:00
experimental platform: Export tester and reporter 2026-07-11 22:23:50 +08:00
include Add bridge outbound 2026-07-09 11:20:32 +08:00
log Add sing-box API service 2026-07-09 11:20:03 +08:00
option Add netns and unshare support 2026-07-11 08:42:52 +08:00
protocol group: Fix interrupt_exist_connections for routed connections 2026-07-12 16:17:27 +08:00
release Add USB/IP service 2026-07-09 11:20:06 +08:00
route Fix process and neighbor rules not matched in pre-match 2026-07-09 11:20:34 +08:00
service Write logs to oom report 2026-07-09 11:20:10 +08:00
test group: Fix interrupt_exist_connections for routed connections 2026-07-12 16:17:27 +08:00
transport Add L3 forwarding support 2026-07-09 11:20:31 +08:00
.fpm_openwrt Add kmod-nft-queue dependency for openwrt package 2026-01-17 05:48:59 +08:00
.fpm_pacman release: Fix pacman package 2026-02-27 14:58:06 +08:00
.fpm_systemd fix(rpm): add vendor field to fpm config to avoid (none) vendor 2026-03-30 22:09:54 +08:00
.gitignore platform: Add windows build 2026-02-15 21:10:44 +08:00
.gitmodules platform: Unify client versions 2024-02-24 13:20:27 +08:00
.golangci.yml Add TLS spoof support 2026-07-09 11:19:08 +08:00
box.go Add netns and unshare support 2026-07-11 08:42:52 +08:00
debug_http.go Fix hysteria bytes format 2025-04-29 20:45:19 +08:00
debug_stub.go Fix pprof URL path 2023-12-29 18:00:40 +08:00
debug_unix.go Fix pprof URL path 2023-12-29 18:00:40 +08:00
debug.go platform: Improve iOS OOM killer 2026-02-26 14:13:32 +08:00
Dockerfile release: Unify default build tags and linker flags into shared files 2026-03-03 21:21:09 +08:00
Dockerfile.binary release: Fix Docker build for loong64 and mipsle 2026-02-23 16:31:19 +08:00
go.mod tun: Fix probe GSO 2026-07-11 15:52:42 +08:00
go.sum tun: Fix probe GSO 2026-07-11 15:52:42 +08:00
LICENSE Update LICENSE 2023-03-27 08:20:51 +08:00
Makefile release: Fix upload ios deb 2026-07-09 11:20:09 +08:00
mkdocs.yml Add netns and unshare support 2026-07-11 08:42:52 +08:00
README.md documentation: Remove warp ads 2026-04-20 09:49:39 +08:00

sing-box

The universal proxy platform.

Packaging status

Documentation

https://sing-box.sagernet.org

License

Copyright (C) 2022 by nekohasekai <contact-sagernet@sekai.icu>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

In addition, no derivative work may use the name or imply association
with this application without prior consent.