Warning | ||
---|---|---|
| ||
This page is a work in progress |
Page index
Anchor | ||||
---|---|---|---|---|
|
Overview
A lobber storage node is essentially a standard BitTorrent client with a very thin layer used to receive notification about new and modified torrents. A lobber storage node is provided as a twisted plugin and is installed from the python package index. Currently the twisted plugin works with transmission
- a popular, cross-platform BitTorrent client. Other BT clients may be supported in the future. Anchor
Installing
The examples below assume a debian/ubuntu and OS X environment. If you're running another unix-like or windows OS your milage may vary. Our goal is for lobber to run on a multitude of environments and operating systems. Please provide us with patches!
Anchor | |||||
---|---|---|---|---|---|
|
Installing on Ubuntu
Install Transmission
We recommend installing transmission 2.03 or later. If you are using Ubuntu 10.04 you may have to install transmission from a PPA:
...
At this point you should have a transmission daemon running after each reboot. Use the /etc/init.d/transmission-daemon
tool to stop/start the service in the normal way. Anchor
Install lobber-storagenode
...
Code Block |
---|
pip install stompservice transmissionrpc feedparser |
Get Download the tar archive lobber-storagenode-2.tar.gz or get the storage node from git.nordu.net:
...
Install the storagenode:
Code Block |
---|
(for tar archive) tar xvzf lobber-storagenode-2-tar.gz cd lobber-storagenode python setup.py install |
Anchor | ||||
---|---|---|---|---|
|
Installing on OS X
Install Transmission
Install Transmission for OS X and enable "Remote Access" in Preferences. We recommend installing transmission 2.03 or later.
Install lobber-storagenode
Download the tar archive lobber-storagenode-2.tar.gz or get the storage node from git.nordu.net:
Code Block |
---|
git clone git://git.nordu.net/lobber-storagenode.git
|
Anchor | ||||
---|---|---|---|---|
|
Configuration
At this point twistd
should have a new plugin registered. Verify this by running twistd --help
and look for lobberstoragenode
in the list of commands. If you see this then you're installation should be ok.
...
Code Block |
---|
$ twistd lobberstoragenode --help Usage: twistd [options] lobberstoragenode [options] Options: -n, --standardNotifications Add standard notificiation destinations -R, --register Register new torrents with lobber -a, --announceUrl= Announce URL (tracker) to use for new torrents -A, --acl= Access Control List to apply to new torrents -b, --dropbox= A directory to watch for new content -d, --torrentDir= The directory where to store torrents [default: torrents] -D, --transmissionDownloadsDir= The downloads directory for transmission [default: /var/lib/transmission-daemon/downloads] -h, --lobberHost= The host running both STOMP and https for lobber -k, --lobberKey= The Lobber application key to use -p, --trackerProxyTrackerUrl= Enable tracker proxying for given https tracker (HOST[:PORT]) -P, --trackerProxyListenOn= Adress to bind the tracker proxy to [default: localhost:8080] -r, --removeLimit= Remove torrent and data when this many other storage-nodes have the data (0=never remove) [default: 0] -S, --stompUrl= The STOMP protocol URL to use for notifications -T, --transmissionRpc= The RPC URL for transmission --version --help Display this help and exit. |
Anchor | config | config |
---|
Configuration
Anchor | |||
---|---|---|---|
|
Stand-alone storage node
First you will have to create a key with the right entitlements to be able to access the torrents you are interested in. You do this in the Lobber web app under Application Keys.
Find the script lobberstoragenode configuration file config in the directory scripts in lobber-storagenode/etc/lobberstoragenode/.
You need to change the following options:
...
Location | What it gets you |
---|---|
https://lobber.example.org/torrents/all.rss | All torrents readable by the current user (or key) |
https://lobber.example.org/torrents/tag/foo.rss | All torrents tagged with 'foo' |
...
Code Block |
---|
cp lobberstoragenode /etc/init.d/lobberstoragenode
chmod 755 /etc/init.d/lobberstoragenode
|
Start the storage node:
Code Block |
---|
/etc/init.d/lobberstoragenode start |
...
Code Block |
---|
usermod -G debian-transmission www-data |
Find the script lobberstoragenode configuration file config in the directory scripts in lobber-storagenode/etc/lobberstoragenode/.
You need to change the following options:
...
The L_KEY
is the lobber application key you obtain from lobber. The L_HOST
should be 'beta.lobber.se' in order to use the Lobber Beta site and L_DROPBOXDIR
is the path to a directory in your filesystem file system that will act as a dropbox. Any file or directory placed here will be uploaded to lobber and then removed.
Copy the script to the start up script folder and change permissions on it.
Code Block |
---|
cp lobberstoragenode /etc/init.d/lobberstoragenode
chmod 755 /etc/init.d/lobberstoragenode
|
Start the storage node:
Code Block |
---|
/etc/init.d/lobberstoragenode start |
...
Code Block |
---|
update-rc.d lobberstoragenode defaults
|
Anchor | ||||
---|---|---|---|---|
|
OS X specific configuration
These are the changes that are needed to make the storage node work with the OS X version of Transmission.
Code Block |
---|
L_TORRENTDIR="/Users/[username]/Downloads"
L_TRANSMISSIONDLDIR="/Users/[username]/Downloads"
L_TRANSMISSIONRPC="http://localhost:9091"
L_USER="[username]"
L_GROUP_PERM="staff"
|