UPDATED 4/30/2013
I DON’T USE TORRENTS, SO ANY FEEDBACK IS APPRECIATED
I DID DOWNLOAD UBUNTU 12.10 FROM A TORRENT ON THEIR PAGE AND MAXED OUT MY 30Mb CONNECTION
UPDATE 1: ADDED AN INIT.D SCRIPT SO THE APP AUTO-STARTS ON A MBL REBOOT
UPDATE 2: ADDED THE OPTION TO STORE TORRENTS ON THE DATAVOLUME
Mad props to Timmy1024 for the modified startup script which now auto updates the blocklist!
Lists will update everytime you restart your device (or manually run the init script with /etc/init.d/transmission-daemon)
This SHOULD work on the latest MBLDUO firmware as well
Connect to the MBL with PuTTY or Terminal and install optware
wget http://mybookworld.wikidot.com/local--files/optware/setup-mybooklive.sh
sh setup-mybooklive.sh
Issue the following commands to ensure that we can use the command “ipkg” from any directory
echo "export PATH=$PATH:/opt/bin:/opt/sbin" >> /root/.bashrc
echo "export PATH=$PATH:/opt/bin:/opt/sbin" >> /etc/profile
Close PuTTY or Terminal (Very Important)
Open PuTTY or Terminal and connect to the MBL again
ipkg update
ipkg install transmission libevent
Start Transmission
/opt/bin/transmission-daemon
Stop Transmission
killall transmission-daemon
Delete the json settings file and replace it with the text in the REPLACEMENT TEXT window
rm /root/.config/transmission-daemon/settings.jsonnano /root/.config/transmission-daemon/settings.json
REPLACEMENT TEXT (Right mouse click in the PuTTY window to paste)
{ "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 50, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": true, "blocklist-url": "http://www.bluetack.co.uk/config/level1.gz", "cache-size-mb": 4, "dht-enabled": true, "download-dir": "/DataVolume/shares/Public/TR-Downloads", "download-queue-enabled": true, "download-queue-size": 5, "encryption": 1, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "/DataVolume/shares/Public/TR-INCOMPLETE", "incomplete-dir-enabled": true, "lpd-enabled": false, "message-level": 2, "peer-congestion-algorithm": "", "peer-limit-global": 240, "peer-limit-per-torrent": 60, "peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": "default", "pex-enabled": true, "port-forwarding-enabled": false, "preallocation": 1, "prefetch-enabled": 1, "queue-stalled-enabled": true, "queue-stalled-minutes": 30, "ratio-limit": 2, "ratio-limit-enabled": false, "rename-partial-files": true, "rpc-authentication-required": false, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-password": "{5d73272dade2dccb326e823e555a8bccd6c235f2SkqI2LBJ", "rpc-port": 9091, "rpc-url": "/transmission/", "rpc-username": "", "rpc-whitelist": "127.0.0.1", "rpc-whitelist-enabled": false, "scrape-paused-torrents-enabled": true, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": false, "seed-queue-size": 10, "speed-limit-down": 100, "speed-limit-down-enabled": false, "speed-limit-up": 100, "speed-limit-up-enabled": false, "start-added-torrents": true, "trash-original-torrent-files": false, "umask": 0, "upload-slots-per-torrent": 14, "utp-enabled": true}
Hit control and o
Hit enter
Hit control and x
This will save your edited file
Change the file permissions
chmod 600 /root/.config/transmission-daemon/settings.json
Now we are gonna create a startup script
nano /etc/init.d/transmission-daemon
Copy the following text to the PuTTY window (Right mouse click in the PuTTY window to paste)
#! /bin/sh### BEGIN INIT INFO# Provides: transmission-daemon# Required-Start: $remote_fs# Required-Stop: $remote_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start or stop the transmission-daemon# Description: This file should be used to construct scripts to be# placed in /etc/init.d.### END INIT INFOTRANSMISSION_BLOCKLISTS_DIRECTORY=/root/.config/transmission-daemon/blocklists# Bluetack: badpeers# http://www.iblocklist.com/list.php?list=bt_templistwget -P $TRANSMISSION_BLOCKLISTS_DIRECTORY/ "http://list.iblocklist.com/?list=bt_templist&fileformat=p2p&archiveformat=gz"rm -f $TRANSMISSION_BLOCKLISTS_DIRECTORY/bt_templistgunzip $TRANSMISSION_BLOCKLISTS_DIRECTORY/bt_templist.gz# Bluetack: level1# http://www.iblocklist.com/list.php?list=bt_level1wget -P $TRANSMISSION_BLOCKLISTS_DIRECTORY/ "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz"rm -f $TRANSMISSION_BLOCKLISTS_DIRECTORY/bt_level1gunzip $TRANSMISSION_BLOCKLISTS_DIRECTORY/bt_level1.gz# The Blocklist Group: Primary Threats# http://www.iblocklist.com/list.php?list=ijfqtofzixtwayqovmxn&fileformat=p2p&archiveformat=gzwget -P $TRANSMISSION_BLOCKLISTS_DIRECTORY/ "http://list.iblocklist.com/?list=ijfqtofzixtwayqovmxn&fileformat=p2p&archiveformat=gz"rm -f $TRANSMISSION_BLOCKLISTS_DIRECTORY/ijfqtofzixtwayqovmxngunzip $TRANSMISSION_BLOCKLISTS_DIRECTORY/ijfqtofzixtwayqovmxn.gz# Do NOT "set -e"# PATH should only include /usr/* if it runs after the mountnfs.sh scriptPATH=/opt/sbin:/opt/bin:/sbin:/usr/sbin:/bin:/usr/binDESC="Transmission - daemon"NAME=transmission-daemonDAEMON=/opt/bin/$NAMEDAEMON_ARGS="--options args"#PIDFILE=/var/run/$NAME.pidSCRIPTNAME=/etc/init.d/$NAMEUSER=rootSTOP_TIMEOUT=3# Exit if the package is not installed[-x "$DAEMON"] || exit 0[-e /etc/default/$NAME] && . /etc/default/$NAME# Read configuration variable file if it is present[-r /etc/default/$NAME] && . /etc/default/$NAME# Load the VERBOSE setting and other rcS variables. /lib/init/vars.sh# Define LSB log_* functions.# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.. /lib/lsb/init-functions## Function that starts the daemon/service#do_start(){ # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started if [$ENABLE_DAEMON ! = 1] ; then log_progress_msg "(disabled, see /etc/default/${NAME})" else start-stop-daemon --start \ --chuid $USER \ --exec $DAEMON -- $OPTIONS fi # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time.}## Function that stops the daemon/service#do_stop(){ # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME RETVAL="$?" ["$RETVAL" = 2] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON ["$?" = 2] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL"}## Function that sends a SIGHUP to the daemon/service#do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME return 0}case "$1" in start) ["$VERBOSE" != no] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) ["$VERBOSE" != no] && log_end_msg 0 ;; 2) ["$VERBOSE" != no] && log_end_msg 1 ;; esac ;; stop) ["$VERBOSE" != no] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) ["$VERBOSE" != no] && log_end_msg 0 ;; 2) ["$VERBOSE" != no] && log_end_msg 1 ;; esac ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # #log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;;esac:
Hit control and o
Hit enter
Hit control and x
This will save your edited file
Set the script permissions and add it to all the rc folders
chmod 755 /etc/init.d/transmission-daemon
update-rc.d transmission-daemon defaults
For those wishing to have access to the actual Torrent files easily from the DataVolume
Create a folder called torrents in your Public folder
SSH in and move any Torrents you currently have in /root/.config/transmission-daemon/torrents to your computer
SSH in and issue
rmdir /root/.config/transmission-daemon/torrents
ln -s /DataVolume/shares/Public/torrents /root/.config/transmission-daemon/torrents
Your torrents will now be stored in /Public/torrents
Start Transmission again
/etc/init.d/transmission-daemon start
Login to Transmission using a web browser using your mybooklive network name or ip:9091
Click the wrench icon and go to the peers tab and make sure you click UPDATE to setup your Blocklist
Make any other changes you need from the GUI as well
DONE!