Skip to content

jkcoxson/netmuxd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

netmuxd

A replacement/addition to usbmuxd which is a reimplementation of Apple's usbmuxd on MacOS

Building

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

Usage

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

Extension Mode

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.

AltStore

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:

  1. Install usbmuxd for your distribution
  2. Download netmuxd from the releases and place it somewhere permanent
  3. Install screen and open run a new screen like so screen -S netmuxd
  4. Run netmuxd like ./netmuxd --disable-unix --host 127.0.0.1, then press control a+d to escape the screen
  5. Start a new screen for AltServer like screen -S altserver
  6. Set the environment variable like export USBMUXD_SOCKET_ADDRESS=127.0.0.1:27015
  7. Run AltServer ./AltServer-x86_64

License

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.