diff options
| author | 2010-01-25 22:21:17 +0100 | |
|---|---|---|
| committer | 2010-01-25 22:23:06 +0100 | |
| commit | 9ff690acc10bce8307cfba809a5998b218589e16 (patch) | |
| tree | e46cf88a852a632ac6cd9d6b66bb1aa971528aa2 /README | |
| parent | f41264ee8838b6bcbce7fc2ba6b227032bd74534 (diff) | |
| download | usbmuxd-9ff690acc10bce8307cfba809a5998b218589e16.tar.gz usbmuxd-9ff690acc10bce8307cfba809a5998b218589e16.tar.bz2 | |
Clean up readme, add trademark notice, rename things
Diffstat (limited to 'README')
| -rw-r--r-- | README | 40 |
1 files changed, 24 insertions, 16 deletions
| @@ -1,9 +1,12 @@ | |||
| 1 | Background | 1 | Background |
| 2 | ========== | 2 | ========== |
| 3 | 3 | ||
| 4 | 'usbmuxd' stands for "USB multiplexing daemon". To the user/developer what it | 4 | 'usbmuxd' stands for "USB multiplexing daemon". This daemon is in charge of |
| 5 | actually does is to proxy requests over a USB cable on directly to a listening | 5 | multiplexing connections over USB to an iPhone or iPod touch. To users, it means |
| 6 | TCP port on the iPhone. | 6 | you can sync your music, contacts, photos, etc. over USB. To developers, it |
| 7 | means you can connect to any listening localhost socket on the device. usbmuxd | ||
| 8 | is not used for tethering data transfer, which uses a dedicated USB interface as | ||
| 9 | a virtual network device. | ||
| 7 | 10 | ||
| 8 | Multiple connections to different TCP ports can happen in parallel. An example | 11 | Multiple connections to different TCP ports can happen in parallel. An example |
| 9 | (and useful) tool called 'iproxy' is included that allows you to forward | 12 | (and useful) tool called 'iproxy' is included that allows you to forward |
| @@ -11,27 +14,32 @@ localhost ports to the device---allows SSH over USB on jailbroken devices, or | |||
| 11 | allowing access the lockdown daemon (and then to all of the file access, sync, | 14 | allowing access the lockdown daemon (and then to all of the file access, sync, |
| 12 | notification and backup services running on the device). | 15 | notification and backup services running on the device). |
| 13 | 16 | ||
| 14 | This higher-level layers are handled by libiphone. The version of libiphone | 17 | The higher-level layers are handled by libimobiledevice. 'ifuse' is then able |
| 15 | compatible with the 'usbmuxd' infrastructure is called 'libiphone-usbmuxd'. | 18 | to sit on top of this and mount your device's AFC filesystem share. |
| 16 | 'ifuse' is then able to sit on top of this. | ||
| 17 | 19 | ||
| 18 | There is also a Python implementation of the client library in the python-client | 20 | There is also a Python implementation of the client library in the python-client |
| 19 | library, and an example tcprelay.py which performs a similar function to iproxy. | 21 | library, and an example tcprelay.py which performs a similar function to iproxy. |
| 20 | This implementation supports OSX and Windows and the new iTunes plist-based | 22 | This implementation supports OSX and Windows and the new iTunes plist-based |
| 21 | usbmuxd protocol, so it is portable and will run on those operating systems with | 23 | usbmuxd protocol, so it is portable and will run on those operating systems with |
| 22 | no modification, using Apple's native usbmuxd. This is useful if you need to | 24 | no modification, using Apple's native usbmuxd. This is useful if you need to |
| 23 | tunnel to your phone from another OS in a pinch. Run python tcpclient.py --help | 25 | tunnel to your device from another OS in a pinch. Run python tcpclient.py --help |
| 24 | for usage information. | 26 | for usage information. |
| 25 | 27 | ||
| 26 | License | 28 | License |
| 27 | ======= | 29 | ======= |
| 28 | 30 | ||
| 29 | The contents of this package are licensed under the GNU General Public License, | 31 | The contents of this package are licensed under the GNU General Public License, |
| 30 | versions 2 or 3 (see COPYING.GPLv2 and COPYING.GPLv3), except for Libuxbmuxd | 32 | versions 2 or 3 (see COPYING.GPLv2 and COPYING.GPLv3), except for libuxbmuxd |
| 31 | which is licensed under the GNU Lesser General Public License, version 2.1 or, | 33 | which is licensed under the GNU Lesser General Public License, version 2.1 or, |
| 32 | at your option, any later version (see COPYING.LGPLv2.1). If a more permissive | 34 | at your option, any later version (see COPYING.LGPLv2.1). If a more permissive |
| 33 | license is specified at the top of a source file, it takes precedence over this. | 35 | license is specified at the top of a source file, it takes precedence over this. |
| 34 | 36 | ||
| 37 | Legal | ||
| 38 | ===== | ||
| 39 | |||
| 40 | Apple, iPhone, and iPod touch are trademarks of Apple Inc., registered in the | ||
| 41 | U.S. and other countries. | ||
| 42 | |||
| 35 | Building | 43 | Building |
| 36 | ======== | 44 | ======== |
| 37 | 45 | ||
| @@ -47,17 +55,17 @@ system. Alternatively, you can pass a different username after the -U argument. | |||
| 47 | Running (with magic) | 55 | Running (with magic) |
| 48 | ==================== | 56 | ==================== |
| 49 | 57 | ||
| 50 | (Unplug + replug your jailbroken iPhone) | 58 | (Unplug + replug your jailbroken device) |
| 51 | ./iproxy 2222 22 & | 59 | ./iproxy 2222 22 & |
| 52 | ssh -p 2222 root@localhost | 60 | ssh -p 2222 root@localhost |
| 53 | 61 | ||
| 54 | Hopefully you get the normal SSH login prompt. You may still lots of debugging | 62 | Hopefully you get the normal SSH login prompt. You may still lots of debugging |
| 55 | output for the moment. If this is getting in the way of your ssh login, then | 63 | output for the moment. If this is getting in the way of your ssh login, then |
| 56 | run the 'ssh' command from a different xterminal | 64 | run the 'ssh' command from a different xterminal or virtual console. Of course, |
| 57 | or virtual console. | 65 | you need to have OpenSSH installed on your jailbroken device for this to work. |
| 58 | 66 | ||
| 59 | If you have iFuse, you can run "ifuse <mountpoint">. This doesn't require | 67 | If you have iFuse, you can run "ifuse <mountpoint">. This doesn't require |
| 60 | iproxy and works on all phones, jailbroken or not. | 68 | iproxy and works on all devices, jailbroken or not. |
| 61 | 69 | ||
| 62 | Running (without magic) | 70 | Running (without magic) |
| 63 | ======================= | 71 | ======================= |
| @@ -74,7 +82,7 @@ usbmuxd'. | |||
| 74 | Tip: Starting SSH if disabled | 82 | Tip: Starting SSH if disabled |
| 75 | ============================= | 83 | ============================= |
| 76 | 84 | ||
| 77 | If your iphone is rooted, but SSH isn't started and you _cannot_ (for instance, | 85 | If your device is rooted, but SSH isn't started and you _cannot_ (for instance, |
| 78 | cracked/broken screen) get to the Services control panel on the device, then you | 86 | cracked/broken screen) get to the Services control panel on the device, then you |
| 79 | can start the SSH service over the USB by | 87 | can start the SSH service over the USB by |
| 80 | mounting the (jailbroken) filesystem. | 88 | mounting the (jailbroken) filesystem. |
| @@ -94,7 +102,7 @@ Reboot the device and then sshd should be running. | |||
| 94 | TODO | 102 | TODO |
| 95 | ==== | 103 | ==== |
| 96 | 104 | ||
| 97 | The server currently assumes that the phone is well-behaved and does not do a | 105 | The server currently assumes that the device is well-behaved and does not do a |
| 98 | bunch of checks like looking for the expected SEQ and ACK numbers from it. This | 106 | bunch of checks like looking for the expected SEQ and ACK numbers from it. This |
| 99 | is normally not an issue, but it's annoying for debugging because lost packets | 107 | is normally not an issue, but it's annoying for debugging because lost packets |
| 100 | (which shouldn't happen, but can happen if the code is buggy) mean that stuff | 108 | (which shouldn't happen, but can happen if the code is buggy) mean that stuff |
