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