The universal proxy platform https://sing-box.sagernet.org/
Find a file
世界 c3946c00a3
usbip: fix correctness findings from protocol audit
Windows export now reports the real USB link speed, probed from the
parent hub (IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX and _V2 for
SuperSpeedPlus), so SuperSpeed devices route to the correct root-hub
speed domain instead of advertising speed=0.

- protocol: pin DeviceInfoTruncated/DeviceInterface wire sizes with
  two-sided compile-time assertions so a struct change fails the build
  instead of silently mis-bounding the reader
- server: bound inbound connections with a handshake read deadline and a
  per-iteration idle deadline on the control loop, plus write deadlines
  on control writes; clear the deadline before the conn becomes a data
  session
- server: serialize import reservation under reconcileAccess so a reserve
  cannot interleave a reconcile pass that would release a busy device
- data: validate CMD_SUBMIT iso descriptor offset/length against the
  transfer buffer before forwarding to a platform engine
- darwin: make darwinUSBHostDevice.Close idempotent via sync.Once to
  avoid a double close/free under concurrent shutdown
- windows: guard windowsExport.device with a mutex and hand the claimed
  handle to a single closer
2026-06-09 14:38:23 +08:00
.github
adapter
clients
cmd
common usbip: fix correctness findings from protocol audit 2026-06-09 14:38:23 +08:00
constant
daemon
dns
docs usbip: trim ADR + narrative comments, rename locks, drop one-use helpers 2026-06-09 10:42:33 +08:00
experimental
include
log
option
protocol
release
route
service usbip: fix correctness findings from protocol audit 2026-06-09 14:38:23 +08:00
test
transport
.fpm_openwrt
.fpm_pacman
.fpm_systemd
.gitignore
.gitmodules
.golangci.yml
box.go
debug.go
debug_http.go
debug_stub.go
debug_unix.go
Dockerfile
Dockerfile.binary
go.mod
go.sum
LICENSE
Makefile
mkdocs.yml
README.md

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.