summaryrefslogtreecommitdiffstats
path: root/stuff
diff options
context:
space:
mode:
Diffstat (limited to 'stuff')
-rw-r--r--stuff/README25
-rw-r--r--stuff/com.openssh.sftp.plist41
2 files changed, 66 insertions, 0 deletions
diff --git a/stuff/README b/stuff/README
new file mode 100644
index 0000000..290285d
--- /dev/null
+++ b/stuff/README
@@ -0,0 +1,25 @@
+*** NOTE:
+*** Doing this is mostly obsolete. The preferred method to sync music to an
+*** iPhone now is to use ifuse or some other afc-based client, which does not
+*** require jailbreaking or adding this service. Please take a look at the
+*** libiphone, ifuse, and libgpod projects.
+
+com.openssh.sft.plist is a launchd configuration to set up a bare SFTP server
+on TCP port 2299 localhost-only for USB use. It's nice for relatively fast music
+syncing and file transfer under Linux (and it avoids encryption). Con: it gives
+anyone with usb access root FS access on the phone, as well as anything running
+on the phone itself.
+
+Use it with a command like this:
+
+IPATH=/var/mobile/Media
+MOUNTPOINT=$HOME/media/iphone
+$ sshfs localhost:$IPATH $MOUNTPOINT -o workaround=rename -o directport=2299 \
+ -o kernel_cache -o entry_timeout=30 -o attr_timeout=30
+
+Make sure you run tcprelay.py:
+$ python tcprelay.py -t 2299
+
+Remember that to bypass the stupid new iTunesDB hash you need to edit
+/System/Library/Lockdown/Checkpoint.xml and change DBVersion to 2.
+
diff --git a/stuff/com.openssh.sftp.plist b/stuff/com.openssh.sftp.plist
new file mode 100644
index 0000000..569fabc
--- /dev/null
+++ b/stuff/com.openssh.sftp.plist
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+
+<dict>
+ <key>Label</key>
+ <string>com.openssh.sftpd</string>
+
+ <key>Program</key>
+ <string>/usr/libexec/sftp-server</string>
+
+ <key>ProgramArguments</key>
+ <array>
+ <string>/usr/libexec/sftp-server</string>
+ </array>
+
+ <key>SessionCreate</key>
+ <true/>
+
+ <key>Sockets</key>
+ <dict>
+ <key>Listeners</key>
+ <dict>
+ <key>SockServiceName</key>
+ <string>2299</string>
+ <key>SockNodeName</key>
+ <string>127.0.0.1</string>
+ </dict>
+ </dict>
+
+ <key>StandardErrorPath</key>
+ <string>/dev/null</string>
+
+ <key>inetdCompatibility</key>
+ <dict>
+ <key>Wait</key>
+ <false/>
+ </dict>
+</dict>
+
+</plist>