Date: Thu, 28 Mar 2024 09:31:08 +0000 (GMT) Message-ID: <646040169.364.1711618268654@de3edcefd069> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_363_748353367.1711618268654" ------=_Part_363_748353367.1711618268654 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
A lobber storage node is essentially a standard BitTorrent client with a=
very thin layer used to receive notification about new and modified torren=
ts. A lobber storage node is provided as a twisted plugin and is installed =
from the python package index. Currently the twisted plugin works with
The examples below assume a debian/ubuntu environment. If you're running= another unix-like or windows OS your milage may vary. Our goal is for lobb= er to run on a multitude of environments and operating systems. Please prov= ide us with patches!
We recommend installing transmission 2.03 or later. If you are using ubu= ntu 10.04 you may have to install transmission from a PPA:
# apt-g= et install python-software-properties # add-apt-repository ppa:transmissionbt/ppa # apt-get update
If you run Ubuntu 10.10 you onlu need to do the next bit.
# apt-g= et install transmission-cli transmission-daemon deluge-common
At this point you should have a transmission daemon running after each r=
eboot. Use the /etc/init.d/transmission-daemon
tool to stop/st=
art the service in the normal way.
The lobberstoragenode is available from http://pypi.python.org/ a= nd can be installed using the easy_install tool from python-setuptools:
Errata: You may have to download the tarball and install it using the pr= ovided setup.py instead of using easy_install.
# apt-g= et install python-setuptools python-twisted python-feedparser bittorrent # easy_install stompservice transmissionrpc
# easy_= install lobberstoragenode
or install lobberstoragenode from GIT or from tarballs...
At this point twistd
should have a new plugin registered. V=
erify this by running twistd --help
and look for lobbers=
toragenode
in the list of commands. If you see this then you're inst=
allation should be ok.
# twist= d --help ... Commands: ftp An FTP server. telnet A simple, telnet-based remote debugging service. socks A SOCKSv4 proxy service. manhole-old An interactive remote debugger service. portforward A simple port-forwarder. lobberstoragenode A Storage Node for Lobber web A general-purpose web server which can serve fro= m a filesystem or application resource. inetd An inetd(8) replacement. news A news server. xmpp-router An XMPP Router server words A modern words server toc An AIM TOC service. dns A domain name server. mail An email service manhole An interactive remote debugger service accessibl= e via telnet and ssh and providing syntax coloring and basic line editing functionality. conch A Conch SSH service.
Running twistd lobberstoragenode --help
gives you an overvi=
ew of the options:
$ twist= d lobberstoragenode --help Usage: twistd [options] lobberstoragenode [options] Options: -n, --standardNotifications Add standard notificiation destinations -R, --register Register new torrents with lobber -a, --announceUrl=3D Announce URL (tracker) to use for new torrents -A, --acl=3D Access Control List to apply to new to= rrents -b, --dropbox=3D A directory to watch for new content -d, --torrentDir=3D The directory where to store torrents [default: torrents] -D, --transmissionDownloadsDir=3D The downloads directory for transmissi= on [default: /var/lib/transmission-daemon/downloads] -h, --lobberHost=3D The host running both STOMP and https = for lobber -k, --lobberKey=3D The Lobber application key to use -p, --trackerProxyTrackerUrl=3D Enable tracker proxying for given http= s tracker (HOST[:PORT]) -P, --trackerProxyListenOn=3D Adress to bind the tracker proxy to [d= efault: localhost:8080] -r, --removeLimit=3D Remove torrent and data when this many= other storage-nodes have the data (0=3Dnever r= emove) [default: 0] -S, --stompUrl=3D The STOMP protocol URL to use for notifications [default: stomp://localhost:61613] -T, --transmissionRpc=3D The RPC URL for transmission [default: http://transmission:transmission@localho= st:9091] --version =20 --help Display this help and exit.
When running a storage-node for development purposes you will typically =
run it with both the --stompUrl
and --lobberUrl
p=
arameters pointing to endpoints on your local development sandbox. When run=
ning a storage-node off of beta.lobber.se
you will typically w=
ant to start it this way:
# twist= d -n lobberstoragenode -k <appkey> -h beta.lobber.se -d /var/torrents= [<destination|rss>]*
The final arguments is a set of STOMP destinations and/or RSS feeds. Eac=
h RSS feed is pulled regularly and each link is downloaded. If the download=
ed data is a BitTorrent file it is stored in the --torrentDir
=
directory (/var/torrents
in the example above). Optionally if =
a --script
option was given it will be run as a command with t=
he path to the torrent-file as an argument.
If you want to notify transmission of new torrents you might do somethin= g like this
# twist= d -n lobberstoragenode ... --script=3D"transmission-remote -n transmission:= transmission -a"
A more complete example. This would regularly pull all torrents linked f=
rom https://beta.lobber.se/torrent/tag/foo.rss=
a>
and ask transmission to add the new ones.
# twist= d -n lobberstoragenode -k <key> -h beta.lobber.se -d /tmp \\ --script=3D"transmission-remote -n transmission:transmission -a" \= \ https://beta.lobber.se/torrent/tag/foo.rss /torrent/tag/foo
Location |
What it gets you |
---|---|
/torrent/new |
Each newly created torrent |
/torrent/tag/add |
Each time a torrent is tagged |
/torrent/tag/add/foo |
Each time a torrent is tagged with 'foo' <= /td> |
/torrent/tag/remove/foo |
Each time the 'foo' tag is removed from a tor= rrent |
Location |
What it gets you |
---|---|
https://lobber.example.org/torrents/all.rss= p> |
All torrents readable by the current user (or= key) |
https://lobber.example.org/torrents/tag/foo.r= ss |
All torrents tagged with 'foo' |