A replacement/addition to usbmuxd which is a reimplementation of Apple's usbmuxd on MacOS
Make sure both rusty_libimobiledevice and plist_plus are buildable. Instructions are in their respective readme's.
Run cargo build
to generate binaries. It is located at target/debug/netmuxd
You need to pair your device beforehand using another muxer like usbmuxd. For example, start usbmuxd, plug in your device and enter the passcode that pops up, stop usbmuxd, start netmuxd.
Run with root, options can be listed with --help
To use this project in extension with another muxer like usbmuxd, you can pass --disable-unix
and --host 127.0.0.1
.
Then before you run a program that uses a muxer set the environment variable USBMUXD_SOCKET_ADDRESS=127.0.0.1:27015
.
A common usecase for netmuxd is in use with AltStore-Linux. The best way to set this up for that use case is as follows:
- Install usbmuxd for your distribution
- Download netmuxd from the releases and place it somewhere permanent
- Install
screen
and open run a new screen like soscreen -S netmuxd
- Run netmuxd like
./netmuxd --disable-unix --host 127.0.0.1
, then press control a+d to escape the screen - Start a new screen for AltServer like
screen -S altserver
- Set the environment variable like
export USBMUXD_SOCKET_ADDRESS=127.0.0.1:27015
- Run AltServer
./AltServer-x86_64
Due to the licensing of libimobiledevice (which this program depends on), this code is licensed under the LGPL 2.1 license. You may use netmuxd's code how you will, but binaries must be distributed under and with that license.