diff options
| -rw-r--r-- | README | 63 |
1 files changed, 51 insertions, 12 deletions
| @@ -1,26 +1,65 @@ | |||
| 1 | Build | 1 | Background |
| 2 | ===== | 2 | ========== |
| 3 | |||
| 4 | 'usbmuxd' stands for "USB multiplexing daemon". To the user/developer | ||
| 5 | what it actually does is to proxy requests over a USB cable on directly | ||
| 6 | to a listening TCP port on the iPhone. | ||
| 7 | |||
| 8 | Multiple connections to different TCP ports can happen in parallel. | ||
| 9 | An example (and useful) tool called 'iproxy' is included that allows | ||
| 10 | you to forward localhost ports to the device---allows SSH over USB on | ||
| 11 | jailbroken devices, or allowing access the lockdown daemon (and then | ||
| 12 | to all of the file access, sync, notification and backup services | ||
| 13 | running on the device). | ||
| 14 | |||
| 15 | This higher-level layers are handled by libiphone. The version of | ||
| 16 | libiphone compatible with the 'usbmuxd' infrastructure is called | ||
| 17 | 'libiphone-usbmuxd'. 'ifuse' is then able to sit on top of this. | ||
| 18 | |||
| 19 | |||
| 20 | Building | ||
| 21 | ======== | ||
| 3 | 22 | ||
| 4 | make | 23 | make |
| 24 | sudo make install | ||
| 25 | |||
| 5 | 26 | ||
| 6 | Use | 27 | Running (with magic) |
| 7 | === | 28 | ==================== |
| 8 | 29 | ||
| 9 | sudo ./usbmuxd & | 30 | (Unplug + replug your iPhone) |
| 10 | ./iproxy 2222 22 & | 31 | ./iproxy 2222 22 & |
| 11 | ssh -p 2222 root@localhost | 32 | ssh -p 2222 root@localhost |
| 12 | 33 | ||
| 13 | Muwahahaha. Hopefully you get the normal SSH login prompt. | 34 | Hopefully you get the normal SSH login prompt. You may still lots of |
| 35 | debugging output for the moment. If this is getting in the way of | ||
| 36 | your ssh login, then run the 'ssh' command from a different xterminal | ||
| 37 | or virtual console. | ||
| 38 | |||
| 39 | |||
| 40 | Running (without magic) | ||
| 41 | ======================= | ||
| 42 | |||
| 43 | If 'udev' is _not_ automatically running on your machine and picking | ||
| 44 | up the new .rules file, you will need to start usbmuxd by hand first. | ||
| 45 | Check it's running and that there is only one copy with 'ps aux | grep | ||
| 46 | usbmuxd'. | ||
| 47 | |||
| 48 | sudo usbmuxd & | ||
| 49 | ./iproxy 2222 22 & | ||
| 50 | ssh -p 2222 root@localhost | ||
| 14 | 51 | ||
| 15 | 52 | ||
| 16 | SSH | 53 | Tip: Starting SSH if disabled |
| 17 | === | 54 | ============================= |
| 18 | 55 | ||
| 19 | If your iphone is rooted, but isn't running SSH, you will need to | 56 | If your iphone is rooted, but SSH isn't started and you _cannot_ (for |
| 20 | mount it with 'ifuse --afc2' (to access the root directory of the | 57 | instance, cracked/broken screen) get to the Services control panel on |
| 21 | device). | 58 | the device, then you can start the SSH service over the USB by |
| 59 | mounting the (jailbroken) filesystem. | ||
| 22 | 60 | ||
| 23 | And then edit: | 61 | You will need to mount it usbing 'ifuse --afc2' (to access the root |
| 62 | directory of the device), and then edit: | ||
| 24 | 63 | ||
| 25 | /Library/LaunchDaemons/com.openssh.sshd.plist | 64 | /Library/LaunchDaemons/com.openssh.sshd.plist |
| 26 | 65 | ||
