A torrent server (ie: transmission daemon) for your Android device - with optware for Android!

Since there's no application on the Play Store or elsewhere we I got mad and went down the good old fashioned route of try ALL the things to make this work, and found that optware-for-android works fine. There's other solutions to this (see: BotBrew) but having used optware before it took my fancy.


Prerequisites

  • An unix command line OS (probably doable in Winblows but file permissions and cygwin makes me weep). Just boot a LiveCD from Ubuntu maybe?

  • Android SDK (or just the tools does fine) with ADB access to the device. I had to use wireless adb (which works fine too!!!) and is installable from the Play Store here. YOU CAN NOT INSTALL THIS WITHOUT ADB ACCESS.

  • optware for android

  • SuperUser binary


Install optware and transmission

  1. (sudo) su in a terminal on your unix box so you have root access

  2. Connect to your device with adb.

    ./adb devices

or wirelessly

./adb connect 192.168.XXX:XXX:5555

 connected to 192.168.10.111:5555

edit: After trying this on my phone, which unlike the JustOP box doesn't have a writeable /system out of the box, and I had to remount the /system folder with

./adb remount

(Also guys remember - if you're on a version of android >4.2.1 you'll need to accept the RSA fingerprint on your device before any of this!)

  1. Ensure the script for optware is in the same folder as adb and is executable.

    ./optware-install-via-adb.sh

  2. You'll probably get an error running the script to bootstrap optware saying adb not found.

    ./optware-install-via-adb.sh: 100: ./optware-install-via-adb.sh: adb: not found

    ./optware-install-via-adb.sh: 96: ./optware-install-via-adb.sh: adb: not f^C

This means that the folder in which adb and the script reside aren't in your environment variables PATH. I crudely fixed this with (it may differ depending on your install environment)

PATH=/YOUR/FOLDER/adt/sdk/platform-tools:/root:/usr/sbin:/usr/bin:/sbin:/bin

If all goes well you should end up seeing something like this

<snip>

Optware for Android installation complete.

To start optware session, execute /data/opt/start.sh on the device

5) Like it says, run the above shell script

./adb shell

cd /data/opt/

./start.sh

which if successful should show

BusyBox v1.10.3 (2012-02-14 09:43:47 UTC) built-in shell (ash)

Enter 'help' for a list of built-in commands.

6) Install transmission-daemon

ipkg install transmission

7) Run transmission and then kill it so as it creates its config file for you to, erm, configure!

transmission-daemon

killall transmission-daemon

find / -name settings.json

which it should find, here

/data/opt/home/root/.config/transmission-daemon/settings.json

edit it to your hearts content

vi /data/opt/home/root/.config/transmission-daemon/settings.json

More on configuring transmission here.


Starting transmission-daemon to run on boot

  1. Download and install Script Manager.

  2. In Script Manager click - Menu - Scripts - Browser and navigate to the file /data/opt/start.sh

Then check the SU, Boot and Net icons and click edit to amend start.sh to include the below transmission-daemon command

#!/system/bin/sh
ls /opt >/dev/null 2>&1 || su -c /data/opt/optware-init.sh
export PATH=/opt/sbin:/opt/bin:/bin:/system/bin
if busybox test $(busybox id -u) = 0; then HOME=/opt/home/root; else HOME=/opt/home/user; fi
export HOME
transmission-daemon
/bin/sh

3) Click save.

This should start up transmission-daemon only when you've got a network connection; on each and every boot and runs as root (which I'm now starting to think this isn't the right way to go about this little endeavour....^^^help!!)

Have fun ;)

Posted Mar 25, 2013, 11:52 AM UTC · edited

620
Loading comments…