FTD

From BubbaWiki
Jump to: navigation, search

FTD, short for File Transfer Daemon, is the backend to the download application in the web interface. It takes care of downloading files via HTTP and Bittorrent.

Down- and uploadlimits can be configured in the Admin-Interface. Some more options are to be found in /etc/ftd/ftdconfig.ini.

FTD is written by Excito, the sources can be found at http://b3.update.excito.org/pool/main/f/filetransferdaemon/


Comand Line Interface

The Daemon can be controlled from the command line using the ftdclient as root user:

To list all current downloads of a user (and quite some additonal info):

 ftdclient -u <user> -l

To list all current downloads for all users:

 ftdclient -u '*' -l

To manually add a download for a specific user:

 ftdclient -u <user> -a --url <url>

To manually cancel/stop a download:

ftdclient -u <user> -i <uuid of download> -c

Configuration

The filetransferdaemon, ftd, has its configuration located at /etc/ftd/ftdconfig.ini When editing it make sure that the daemon isn't running. Shut it down by issueing:

/etc/init.d/filetransferdaemon

Default configuration is

[general]
downloaddir=downloads
loglevel=5
statedir=/etc/ftd
proxyip=
proxyport=0
proxylogin=
proxypassword=
phpsession=/var/lib/php5/sess_
[torrent]
maxdownload=-1
maxupload=-1
listenportstart=10000
listenportend=14000
torrentdir=torrents
resumepath=torrents/.resumedata
dhtsupport=false
metadatasupport=true
peerexchangesupport=true
maxuploads=8
maxhalfopenconnections=-1

Most of the entries should not be touched but some might be of interest.

downloaddir

This defines in what folder, in the users home folder, where downloaded material should be stored. Default value is to use downloads. This directory is created if non existant upon first up/dowload.

loglevel

This defines how verbose ftd should be when logging. 0 is least verbose while a value of 7 includes all logging including debug messages. (This is actually an exact mapping of syslog priorities)

proxysettings

These settings are currently unsupported.

maxdownload

This is the total torrent download throttle value in KB/S. A value of -1 disables throttling.

maxupload

This is the total torrent upload throttle value in KB/S. A value of -1 disables throttling.

listenportstart

This defines at what port interval the torrentdownloader should start listening for incomming connections. Note however that if this is changed the web admin for easy port opening will still open the default ports in the firewall.

listenportend

This defines the end interval for the torrentdownloader could use for listening. The same limitations apply as for listenportstart regarding the firewall.

torrentdir

Which directory, located in the users home folder, should be used to store and monitor torrent files. Defaults is to use torrents.

dhtsupport

Enable or disable torrent dht support. This is disabled by default since it uses quite some resources.

metadatasupport

Enable or disable torrent metadata support. Enabled by default.

peerexchangesupport

Enable or disable torrent peer exchange between clients. Enabled by default.