Contents[hide] |
[edit] Code
There are two repositories which contain code for the project.
[edit] libiphone (Library)
libiphone is a C-language library which provides:
- USB device location
- Apple USB mux protocol (akin to TCP-over-USB)
- Cryptographic handshaking (generate those keys!)
- lockdownd protocol (akin to portmap, allows starting/stopping services)
- AFC (Apple File Control) protocol (as spoken by 'com.apple.afc' on the device)
It is the focus of current development; at the moment it is unstable so it should only be used by developers.
git clone git://github.com/MattColyer/libiphone.git
[edit] libplist (Library)
libplist is a library which allows access to binary plists which Apple uses in several of its products. This is a requirement to build libiphone.
Packages
* Ubuntu: https://launchpad.net/~jonabeck/+archive/ppa * RPM: http://download.opensuse.org/repositories/home://FunkyM://iphone/
git clone git://github.com/JonathanBeck/libplist.git
[edit] iFuse (Fuse Filesystem program)
`ifuse` is a program that uses the stack (particularly the AFC implementation) from `libiphone` to send remote file commands (open/close/read/write/move/delete...). The file-operations are mapped to and from 'FUSE' operations, allowing "mounting" of the iPhone/iTouch, with `iFuse` doing the translation.
As `ifuse` depends on the functions from `libiphone`, you must download and install `libiphone` first (see above).
git clone git://github.com/MattColyer/ifuse.git
[edit] Reporting Bugs/Submiting Patches/Merge Requests
The ticket tracking system is currently located on Lighthouse:
http://libiphone.lighthouseapp.com/projects/27916-libiphone/tickets?q=all
Please submit all bugs, patches and merge requests as a ticket.
[edit] Checksums and files or Music and Stuff
The actually interesting data on the iPhone/iTouch are locked away in proprietary binary files, some of which are an unknown format, and some of which are signed using cryptographic signatures that have not yet been broken. If you modify one of these databases (such as `iTunesDB`...) using tools like `libgpod`/`gtkpod`) then [as of 2008-10-09] your music will not work anymore.
The signing algorithm is being worked on separately. It does not work yet. You have been warned.
It ist possible again to put Music on your iPhone or Ipod Touch by reverting the Database to an earlier version. See http://marcansoft.com/blog/2009/01/using-amarok-and-other-itunesdb-compatible-software-with-the-iphone-2x/ for more information.
[edit] Notes
If you aren't familar with the git version control system, there is a crash course available.
This code is released under the LGPL.