Skip to content
 
 

Repository files navigation

rusbmux

rusbmux is a modern, drop-in replacement for usbmuxd, written in pure Rust.

Why use this?

  • Works with your existing tools - libimobiledevice, idevice, 3uTools, iTunes, etc. work without changes
  • Runs on Windows, macOS and Linux
  • WiFi support - connects to devices on your network automatically
  • Safer & faster - pure Rust, no C dependencies

Installation

Linux

Installation

Releases

Download the latest release from the releases.

Cargo

cargo install rusbmux

Arch Linux (AUR)

paru -S rusbmux-git

Running

Systemd

If you installed rusbmux with Cargo, install the service file first:

sudo cp systemd/rusbmux.service /usr/lib/systemd/system/rusbmux.service
sudo systemctl daemon-reload

Enable and start the service:

sudo systemctl enable --now rusbmux

Direct execution

sudo rusbmux
Windows

Releases

Download the latest installer from the releases.

Run the installer and follow the setup wizard. rusbmux will be installed as a Windows service and start automatically.

iTunes Compatibility

If you have removed Apple Mobile Device Support from your system, iTunes will not be able to communicate with iOS devices.

To restore compatibility, install or restore the Apple Mobile Device Support files.

Required directories

C:\Program Files\Common Files\Apple\Mobile Device Support\
C:\Program Files (x86)\Common Files\Apple\Mobile Device Support\

These directories should contain Apple's Mobile Device Support libraries

Required registry entries

If the registry entries have also been removed, recreate them with the following .reg file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.]

[HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Mobile Device Support]
"InstallDir"="C:\\Program Files\\Common Files\\Apple\\Mobile Device Support\\"
"Version"="18.0.0.32"

[HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Mobile Device Support\Shared]
"AirTrafficHostDLL"="C:\\Program Files\\Common Files\\Apple\\Mobile Device Support\\AirTrafficHost.dll"
"MobileDeviceDLL"="C:\\Program Files\\Common Files\\Apple\\Mobile Device Support\\MobileDevice.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apple Inc.]

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apple Inc.\Apple Mobile Device Support]

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apple Inc.\Apple Mobile Device Support\Shared]
"ASMapiInterfaceDLL"="C:\\Program Files (x86)\\Common Files\\Apple\\Mobile Device Support\\AppleSyncMapiInterface.dll"

Note

rusbmux does not require iTunes or Apple Mobile Device Support to function. These files and registry entries are only required if you also want to use iTunes.

macOS

Installation

Pre-built package

macOS already ships with Apple's usbmuxd, so installing rusbmux is optional.

If you'd like to use rusbmux instead, download the latest installer from the releases.


Running

Before starting rusbmux, disable Apple's usbmuxd service:

sudo launchctl disable system/com.apple.usbmuxd.plist
sudo launchctl bootout system /Library/Apple/System/Library/LaunchDaemons/com.apple.usbmuxd.plist

Then start rusbmux:

sudo launchctl enable system/com.abdullah-albanna.rusbmux.plist
sudo launchctl bootstrap system /Library/LaunchDaemons/com.abdullah-albanna.rusbmux.plist

Switching back to Apple's usbmuxd

Disable rusbmux

sudo launchctl bootout system /Library/LaunchDaemons/com.abdullah-albanna.rusbmux.plist
sudo launchctl disable system/com.abdullah-albanna.rusbmux.plist

Then re-enable Apple's service:

sudo launchctl bootstrap system /Library/Apple/System/Library/LaunchDaemons/com.apple.usbmuxd.plist
sudo launchctl enable system/com.apple.usbmuxd.plist

You can switch between rusbmux and Apple's usbmuxd at any time by stopping one and starting the other.

Current limitations (for now)?

  • Not as battle-tested as usbmuxd
  • Android / FreeBSD not yet supported

License

Licensed under either of

at your option.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages