Torrent Client on WD My Book Live?

@shazada: yes, im sure we can figure this out. what time zone are you in?

I’ m UTC+2. i think we can switch to PM’s now.

How to compile transmission for your WD MyBook Live:

.

Get ssh access to your MBL first if not you can not continue.
.
Get transmission source:

.

wget http://download.transmissionbt.com/files/transmission-2.31.tar.bz2   (or latest stable release)
.
Get additional needed libs and set up your make enviroment
.

apt-get install build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev

.

wget http://ftp.de.debian.org/debian/pool/main/libe/libevent/libevent-2.0-5_2.0.10-stable-1_powerpc.deb
wget http://ftp.de.debian.org/debian/pool/main/libe/libevent/libevent-extra-2.0-5_2.0.10-stable-1_powerpc.deb
wget http://ftp.de.debian.org/debian/pool/main/libe/libevent/libevent-core-2.0-5_2.0.10-stable-1_powerpc.deb
wget http://ftp.de.debian.org/debian/pool/main/libe/libevent/libevent-openssl-2.0-5_2.0.10-stable-1_powerpc.deb
wget http://ftp.de.debian.org/debian/pool/main/libe/libevent/libevent-pthreads-2.0-5_2.0.10-stable-1_powerpc.deb
wget http://ftp.de.debian.org/debian/pool/main/libe/libevent/libevent-dev_2.0.10-stable-1_powerpc.deb
.
Install the .deb files:
.
dpkg -i *.deb
.
Extract transmission and build (takes quiet a while):
.
tar xvjf transmission-2.31.tar.bz2
cd transmission-2.31
./configure -q && make -s
su (if necessary for the next line)
make install
.
here loads of warings - but just ignore them :wink:

.

Link to download the init script:

http://www.megaupload.com/?d=LVT8BFNS

.
Put transmission-daemon init script in:
.  
/etc/init.d
.
make it executable and create a symbolic link for startup/shutdown:
.
chmod 755 /etc/init.d/ transmission-daemon
update-rc.d transmission-daemon defaults
.
f you wish to remove the script from the startup sequence in the future use:

.

update-rc.d -f transmission-daemon remove
.
Copy the fresh new transmission build to the right place so the init script can find it:

.

cp /usr/local/bin/tran* /usr/bin/
.

After all is done, start the daemon for the first time to creat the transmission config file:
.
/etc/init.d/transmission-daemon start

then

.

/etc/init.d/transmission-daemon stop

Initial config files should be created under:

/root/.config/transmission-daemon/settings.json

.

You need to at least change transmissions default download path to something in:

.

/shares/Public/
.
The easiest way to edit this and other files on the WDLive for beginners is to use winSCP.

Hope this helps.

Hi Gingernut,

The Megaupload isn’t available anymore.

Here is mirror of that file - http://hotfile.com/dl/112441251/6298a6c/transmission-daemon.html

Hi,

I’ve done everyting.

but can’t find this: 

.
Copy the fresh new transmission build to the right place so the init script can find it:

.

cp /usr/local/bin/tran* /usr/bin/

@shazada: for that step try this:

cd transmission-2.22/bin

cp tran* /usr/bin/

Ok, that did the trick. After starting the ect/init.d/transmission-daemon

I’m getting this error:

line 27: [: !=: unary operator expected
.

And now now json file gets created in /root/.config/transmission-daemon/

I’m still having the same line 27: [: !=: unary operator expected
. error.

But I’m seeing the featurePacks Manager UI. but I can’t access http://my-ip:9091

…is it because of the transmission daemon script?

try replacing line 27 with this line:

if [[$ENABLE_DAEMON != 1]]; then

If I replace the file in etc/init.d/ and then start it again,

I’m getting this:

Starting bittorrent daemon: transmission-daemon (disabled, see /etc/default/transmission-daemon).

Do I need to delete the /root/.config files?

Its a wild guess here (never used these scripts before) , but try to add following 2 lines in transmission-daemon script after line 13:

TRANSMISSION_HOME="/root/.config/transmission-daemon"
TRANSMISSION_WEB_HOME="/root/.config/transmission/web"

then use:

cd /root/.config/

mkdir transmission

cd transmission

mkdir web

and then copy everything from transmission-2.22/web in to /root/.config/transmission/web

after that try to start script again.

Thanks for looking with me, but it’s still not working :cry:

I’m still getting the same error here.

okey try start it directly without script. we will deal with that script later (going to sleep very soon).

/usr/bin/transmission-daemon -b -f -t -w /shares/incoming/ -g /root/.config/

or with this config probably like this:

/usr/bin/transmission-daemon -b -f -t -w /shares/incoming/ -g /root/.config/transmission-daemon/

It should start or give some error about missing something.

If not any errors, try to connect to webinterface. If errors, paste here.

Hi,

I’m getting this:

/.config/transmission/web# /usr/bin/transmission-daemon -b -f -t -w /shares/incoming/ -g /root/.config/
[00:26:42.953] Transmission 2.22 (12099) started (session.c:708)
[00:26:42.954] RPC Server Adding address to whitelist: 127.0.0.1 (rpc-server.c:807)
[00:26:42.954] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:985)
[00:26:42.954] RPC Server Whitelist enabled (rpc-server.c:989)
[00:26:42.954] RPC Server Password required (rpc-server.c:992)
[00:26:42.954] DHT Generating new id (tr-dht.c:306)
[00:26:42.954] Using settings from “/root/.config/” (daemon.c:498)
[00:26:42.954] Saved “/root/.config/settings.json” (bencode.c:1716)
[00:26:42.954] transmission-daemon requiring authentication (daemon.c:518)
[00:26:42.954] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:70)
[00:26:42.954] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:70)
[00:26:51.955] Port Forwarding State changed from “Not forwarded” to “Starting” (port-forwarding.c:95)
[00:26:51.955] Port Forwarding State changed from “Starting” to “???” (port-forwarding.c:95)
[00:27:07.956] DHT Attempting bootstrap from dht.transmissionbt.com (tr-dht.c:244)

And the web interface is just returning a 403 :S

everything seems normal.

error 403 is fine. i know how to fix this :slight_smile:

Ok.

Edit setttings.json file and change these lines:

"rpc-password": "enterYourPasswordHere",
    "rpc-username": "enterYourUserNameHere",
    "rpc-whitelist": "127.0.0.1,192.168.16.100,xxx.xxx.xxx.xxx",

change user/pass as you like and instead of 192.168.16.100 and xxx.xxx.xxx.xxx put your LAN ip (ip’s).

kill and start transmission-daemon again.

should work.

If you want  to be connected to your transmission from all IP’s you can disable ip checking by changing line like this:

"rpc-whitelist-enabled": false,

 in that case it will ask you login/pass and will not check from which IP you connect.

coool :slight_smile:

Genius!!!

Just the problem at the moment is that I have to do this everytime. How can I automate this? If I close my SSH will this still work? I guess not

/usr/bin/transmission-daemon -b -f -t -w /shares/incoming/ -g /root/.config/

Also forget to tell that with this line

/usr/bin/transmission-daemon -b -f -t -w /shares/incoming/ -g /root/.config/

 you must start screen (type ‘screen’ into shell) first and only then use it. otherwise it will quit when you close shell session.With screen you can detach it using pressing Ctr a d and then it will run in background and not quit when you close ssh session.

To make it automatic we need to get that script going to work correctly. Maybe person who posted it can make some comments.

Anyway, hope to take care of if sooner or later… i just rememberer that it will be quite useful for one of my remote servers :slight_smile:

Cool thank you very much!

Now I’m going to get a good sleep!

…I got it working!

…well almost :stuck_out_tongue:

but now I keep getting

“Error: Permission denied (/shares/torrents/T_download-dir/MyFile)”

the rights of the path are:

drwxr-xr-x 10 root share 65536 2011-04-04 00:32 shares

→ drwxrwxr-x 5 root share 65536 2011-04-06 22:59 torrents

-----> drwxr-xr-x 2 transmission transmission 65536 2011-04-06 22:43 T_download-dir

  • by the way, if I use a download folder in var it works properly! …but of course it runs out of space pretty fast… :frowning:

From my point of view the issue is that is trying to download the file in a mounted folder and is not able…

I have already tried; Public folder; give 777 rights; mount --bind a DataVolume/share/… folder to /Var/… but nothing!

The Transmission Version I am using is:

MyBookLive:~# transmission-daemon -V

transmission-daemon 2.30b1 (12326)

Any idea?

Thanks everybody

…by the way…
My settings.json:

{
    "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": false, 
    "dht-enabled": true, 
    "download-dir": "\/DataVolume\/shares\/torrents\/T_download-dir", 
    "encryption": 1, 
    "incomplete-dir": "\/DataVolume\/shares\/torrents\/T_incomplete-dir", 
    "incomplete-dir-enabled": true, 
    "watch-dir": "\/DataVolume\/shares\/torrents\/T_watch-dir",
    "watch-dir-enabled": true,
    "lazy-bitfield-enabled": true, 
    "lpd-enabled": false, 
    "message-level": 2, 
    "open-file-limit": 32, 
    "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": 0, 
    "pex-enabled": true, 
    "port-forwarding-enabled": true, 
    "preallocation": 1, 
    "proxy": "", 
    "proxy-auth-enabled": false, 
    "proxy-auth-password": "", 
    "proxy-auth-username": "", 
    "proxy-enabled": false, 
    "proxy-port": 80, 
    "proxy-type": 0, 
    "ratio-limit": 2.0000, 
    "ratio-limit-enabled": false, 
    "rename-partial-files": true, 
    "rpc-authentication-required": true, 
    "rpc-bind-address": "0.0.0.0", 
    "rpc-enabled": true, 
    "rpc-password": "rpc-password", 
    "rpc-port": 9091, 
    "rpc-username": "rpc-username", 
    "rpc-whitelist": "255.255.255.255*", 
    "rpc-whitelist-enabled": true, 
    "script-torrent-done-enabled": false, 
    "script-torrent-done-filename": "", 
    "speed-limit-down": 100, 
    "speed-limit-down-enabled": false, 
    "speed-limit-up": 50, 
    "speed-limit-up-enabled": true, 
    "start-added-torrents": true, 
    "trash-original-torrent-files": false, 
    "umask": 18, 
    "upload-slots-per-torrent": 14
}

Mount info:

MyBookLive:~# mount
/dev/md1 on / type ext3 (rw,noatime)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755,size=50M)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,size=50M)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
tmpfs on /tmp type tmpfs (rw,size=50M)
/var/log on /var/log.hdd type none (rw,bind)
ramlog-tmpfs on /var/log type tmpfs (rw,size=20M)
/dev/sda4 on /DataVolume type ext4 (rw,noatime,nodelalloc)
/DataVolume/cache on /CacheVolume type none (rw,bind)
/DataVolume/shares on /shares type none (rw,bind)
/DataVolume/shares on /nfs type none (rw,bind)
none on /sys/kernel/security type securityfs (rw)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
MyBookLive:~#

update:

…ok
I have found what the problem was! :wink:
The share folder of My Book Live is managed by some service that controls who has and who doesn’t have the rights to write into it.
This means that a system account (as in my case the user was “transmission”) cannot write in share, even if it has a folder with proper rights.

What I did was changing the Group ID (GID) in my /etc/passwd file so it was matching the “normal” accounts.
In this way I could manage the rights of the shared folder for my “transmission” account using the official Web application from WD.

Once that my “transmission” account had the proper rights…
everything went fine! :wink:

I hope it will help someone!

Ciaooo

1 Like