remote-usb
is a CLI tool that facilitates USB connections over a local network using usbmuxd
and socat
. It allows you to connect USB devices on a remote host, making USB management more flexible and accessible.
- Remote Access: Connect and manage USB devices on a remote host.
- Network Flexibility: Operates over the same local network.
- Ease of Use: Simple commands to set up host and client connections.
To use remote-usb, you need the following tools installed on your system:
To use remote-usb
, you need to have Dart installed on your system. You can install Dart from dart.dev.
Clone this repository and navigate to the project directory:
curl -L https://github.com/dev-hann/remote_usb/raw/main/install.sh | bash
OR Binary
git clone https://github.com/dev-hann/remote_usb.git
cd remote_usb
dart compile exe ./bin/remote_usb.dart
rusb <command> [arguments]
-h
,--help
Print usage information.-p
,--port
Specify the port (defaults to5000
).-a
,--address
Specify the address (defaults to172.17.0.1
).
Run in the client machine to connect to a remote host and access USB devices.
Usage:
rusb client [options]
Options:
-p
,--port
Specify the port to connect to on the host machine.-a
,--address
Specify the address of the host machine.
Example:
rusb client -p 5000 -a 192.168.1.100
Run in the host machine to share connected USB devices over the network.
Usage:
rusb host [options]
Options:
-p
,--port
Specify the port to listen on for incoming connections.
Example:
rusb host -p 5000
Run the following command on the machine with the physical USB devices:
rusb host -p 5000
Run the following command on the machine that needs to access the remote USB devices:
rusb client -p 5000 -a 192.168.1.100
remote-usb
uses usbmuxd
to manage USB device connections and socat
to handle network communication. By setting up a host on one machine and connecting clients from other machines on the same network, you can seamlessly access and manage USB devices remotely.
Contributions are welcome! Please submit a pull request or open an issue to discuss what you would like to change.
This project is licensed under the MIT License.
By using this README, you can effectively communicate the purpose, usage, and setup instructions for your remote-usb
CLI tool on GitHub.