The universal proxy platform https://sing-box.sagernet.org/
Find a file
世界 226c9f22ee
usbip: verify imported device identity before attaching
Bus ids are positional: after a server restart or a replug the same
busid can carry an arbitrary other device, and a worker retries its
last busid every few seconds — it would import (and expose to the local
USB stack) whatever now sits on that port, e.g. an input device in
place of the intended one. OP_REP_IMPORT already carries the identity,
so each attach now checks the reply busid round-trips and the
vendor/product (and serial where available, with the control snapshot
as fallback) still match the rule the worker serves.
2026-06-10 09:25:47 +08:00
.github usbip: address review findings 2026-06-09 10:42:24 +08:00
adapter platform: Add tailscale device name and logout 2026-06-08 08:51:52 +08:00
clients Bump version 2026-06-03 16:33:44 +08:00
cmd Preserve comments between formatting 2026-06-08 08:51:45 +08:00
common usbip: upgrade outdated usbip-win2 drivers via capability probe 2026-06-10 09:24:18 +08:00
constant Add Linux usbip client and server services 2026-06-09 10:42:19 +08:00
daemon platform: Add tailscale device name and logout 2026-06-08 08:51:52 +08:00
dns Fix crash on Apple platforms caused by concurrent libresolv calls 2026-06-08 08:51:52 +08:00
docs usbip: trim ADR + narrative comments, rename locks, drop one-use helpers 2026-06-09 10:42:33 +08:00
experimental platform: Add tailscale device name and logout 2026-06-08 08:51:52 +08:00
include Add Linux usbip client and server services 2026-06-09 10:42:19 +08:00
log Fix lint errors 2026-05-13 23:39:27 +08:00
option usbip: enforce broadcast invariant and clone-on-stale to close recurring races 2026-06-09 10:42:32 +08:00
protocol platform: Add tailscale device name and logout 2026-06-08 08:51:52 +08:00
release Add cloudflared inbound 2026-06-08 08:51:38 +08:00
route route: Refetch rule-set when cache restore fails 2026-06-08 08:51:49 +08:00
service usbip: verify imported device identity before attaching 2026-06-10 09:25:47 +08:00
test Remove overdue deprecated features 2026-03-01 12:30:43 +08:00
transport Fix ping timeout 2026-06-03 12:56:36 +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
.gitattributes usbip: restore VBoxUSB INF assets corrupted by line-ending normalization 2026-06-10 09:23:04 +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-06-08 08:51:41 +08:00
box.go Refactor: HTTP clients, unified HTTP2/QUIC options, Apple engines 2026-06-08 08:51:40 +08:00
debug.go platform: Improve iOS OOM killer 2026-02-26 14:13:32 +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
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 tailscale: Add tailssh server 2026-06-08 08:51:51 +08:00
go.sum tailscale: Add tailssh server 2026-06-08 08:51:51 +08:00
LICENSE Update LICENSE 2023-03-27 08:20:51 +08:00
Makefile release: Fix upload_android 2026-06-03 12:56:36 +08:00
mkdocs.yml Add hysteria2 realm service and support 2026-06-08 08:51:47 +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.