ClawPod is a small Linux sync tool for putting MP3 music into the native Music app on jailbroken legacy iPhones and iPods. It combines libimobiledevice, ifuse and libgpod, checks the device before writing, and skips tracks already present by artist/title. Repeated sync/test entries are removed automatically.
The initial target is an iPhone 4S using the legacy iTunes DBVersion 4 format. This is intentionally experimental: keep a backup when the device contains anything important.
- libimobiledevice (
idevice_id,ideviceinfo) - ifuse and FUSE
- libgpod plus its development headers
- GLib plus its development headers
- a C compiler and
pkg-config - Python 3
- python-mutagen (for the convenient
addcommand)
On Arch Linux:
sudo pacman -S libimobiledevice ifuse libgpod glib2 pkgconf gcc python-mutagen
make
make installclawpod doctor
clawpod add ~/Music/Album ~/Music/song.mp3
clawpod sync selection.tsv
clawpod verifyadd recursively discovers MP3 files, reads their tags with Mutagen, and then
uses the same checked sync path. sync is the lower-level manifest interface.
Both commands require an initialized DBVersion 4 library, a 54-byte HashInfo, and
SQLiteDB=true in iTunes_Control/Device/SysInfoExtended. It refuses to write
when those safety checks fail.
verify parses the resulting iPod database, compares the master-playlist count,
and checks that every referenced media file is present.
The TSV format has eleven tab-separated fields:
source title artist album genre year duration_ms track_nr track_count bitrate_kbps samplerate
The make-manifest helper can convert a JSONL metadata index plus a JSON list
of { "artist": ..., "title": ... } objects into this TSV format.
Apple's newer database signature is not supported by libgpod. A jailbroken
legacy device can instead be configured to expose DBVersion 4. The preparation
is device- and iOS-specific and changes /System/Library/Lockdown/Checkpoint.xml;
make an exact backup first. SysInfoExtended must also advertise DBVersion 4
and SQLiteDB=true, after which libgpod can initialize the library. ClawPod
does not silently perform this system-level patch.
ClawPod does not upload device identifiers or music metadata. The sync runs locally over USB.
MIT