Since sing-box 1.14.0
USB/IP Server
USB/IP Server service exports local USB devices over USB/IP, to be imported by the USB/IP Client or a standard USB/IP client.
Available on Linux, Windows, and macOS (macOS requires a build with CGO, and exporting devices requires disabling System Integrity Protection). Not available on iOS.
Structure
Difference from the official USB/IP protocol
sing-box uses sing-usbip, which uses an additional set of protocols to support enhancements such as hotplug, while remaining interoperable with the standard USB/IP protocol.
Listen Fields
See Listen Fields for details.
listen_port defaults to 3240.
Fields
provider
The device source provider.
default: Exports the local devices matched bydevices. The default value.dynamic: Devices are provided at runtime through a sing-box API client instead of from configuration, on supported platforms: the sing-box graphical clients on macOS and Android, and Chromium-based browsers with sing-box Dashboard.
The default provider is only supported when running directly via the CLI on Linux, Windows,
and macOS, and requires elevated privileges.
devices
Required with the default provider.
List of device matches selecting which local USB devices to export.
Object format:
Object fields:
bus_id: USB bus ID, e.g.1-2.vendor_id: USB vendor ID, as a number.product_id: USB product ID, as a number.serial: Device serial number.
Within one object, all specified fields must match; multiple objects are combined as a union. At least one field is required.