Transmission (BitTorrent-Client) unter OpenBSD einrichten

Datum

Transmission (englisch für „Übertragung“) ist ein freier, ressourcenschonender BitTorrent-Client. Er hat eine einfache Benutzeroberfläche und eine plattformunabhängige Implementierung des BitTorrent-Protokolls.

Transmission ist in C geschrieben und als freie Software auch im Quelltext veröffentlicht. Dabei stehen einige Teile unter der MIT-Lizenz, andere unter der GNU GPL Version 2.3 Sie ist unter Windows, auf vielen unixoiden Betriebssystemen (unter anderem macOS, Linux und BSD), BeOS/ZETA (mit nativer Oberfläche), Mobiltelefon-Systemen (Android, iOS, Maemo), Embedded Systemen (z. B.: NAS Geräte, externe Festplattensysteme, Router) lauffähig.
Quelle: Wikipedia

Installation

# pkg_info transmission
Information for https://ftp.openbsd.org/pub/OpenBSD/6.2/packages/amd64/transmission-2.92p4.tgz

Comment:
BitTorrent command line and daemon client

Description:
Transmission is a BitTorrent client that features encryption, a web
interface, peer exchange, magnet links, DHT, UPnP and NAT-PMP port
forwarding, webseed support, watch directories, tracker editing,
global and per-torrent speed limits, and more.

This package contains the command line and daemon clients.

Maintainer: Josh Grosse <josh@jggimi.net>

WWW: http://www.transmissionbt.com/

Um den BitTorrent-Client Transmission zu installieren verwendet man folgenden Befehl:
pkg_add transmission

Das sieht dann in etwa so aus:

# pkg_add -iv transmission
Update candidates: quirks-2.367 -> quirks-2.367
quirks-2.367 signed on 2017-10-03T11:21:28Z
transmission-2.92p4:libevent-2.0.22p0: ok
transmission-2.92p4:miniupnpc-1.9p1: ok
transmission-2.92p4:nghttp2-1.26.0: ok
transmission-2.92p4:curl-7.55.1: ok
transmission-2.92p4:libnatpmp-20150609: ok
useradd: Warning: home directory `/var/transmission' doesn't exist, and -m was not specified
transmission-2.92p4: ok
The following new rcscripts were installed: /etc/rc.d/transmission_daemon
See rcctl(8) for details.
Look in /usr/local/share/doc/pkg-readmes for extra documentation.
Extracted 9445701 from 9447988

Konfiguration

Ich möchte hierbei nicht die Standardpfade des Programms für den Ort der Torrents und der Downloads verwenden, von daher müssen diese als Parameter beim Start vom transmission angegeben werden.

Dies passiert über die Datei /etc/rc.d/transmission_daemon.
Direkt nach der Installation hat diese folgenden Inhalt:

# cat /etc/rc.d/transmission_daemon
#!/bin/sh
#
# $OpenBSD: transmission_daemon.rc,v 1.1 2011/01/10 08:35:16 fgsch Exp $

daemon="/usr/local/bin/transmission-daemon"
daemon_user="_transmission"

. /etc/rc.d/rc.subr

rc_reload=NO

rc_cmd $1

Welche Parameter hierbei zu übergeben sind erfährt man in der entsprechenden man -Page:
man transmission-daemon

Ich verwende die Parameter:

TRANSMISSION-DAEMON(1)      General Commands Manual     TRANSMISSION-DAEMON(1)

NAME
     transmission-daemon - a bittorrent client
...

      -w --download-dir
             Where to store downloaded data.

     -c directory
             Directory to watch for new .torrent files to be added. As they
             are added to this directory, the daemon will load them into
             Transmission.

     --no-incomplete-dir
             Don't store incomplete torrents in a different directory.

Folglich sieht der abgeänderte Eintrag in der /etc/rc.d/transmission-daemon so aus:
daemon="/usr/local/bin/transmission-daemon -w /home/torrent/downloads --no-incomplete-dir -c /home/torrent/torrents"

Die entsprechenden Ordner wurden natürlich im Vorfeld erstellt:

# ls -lh /home/torrent/                                                                                                                                                                                           
total 8
drwxr-xr-x  3 _transmission  _transmission   512B Dec  5 02:26 downloads
drwxr-xr-x  2 _transmission  _transmission   512B Dec  5 02:19 torrents

Nun startet man den Dienst mit:
/etc/rc.d/transmission_daemon start

Und kann man eine .torrent-Datei in den Ordner /home/torrent/torrents reinwerfen und transmission sollte diesen automatisch erkennen, herunterladen und anschließend verteilen.
Das erkennt man daran, dass die Endung .added an die .torrent -Dateien angehangen wird.

Es gibt auch eine Konfigurationsdatei für transmission, diese lautet:
/var/transmission/.config/transmission-daemon/settings.json

Dort sollten auch die extra angegebenen Parameter auftauchen.

"download-dir": "/home/torrent/downloads",
"incomplete-dir": "/var/transmission/Downloads",
"watch-dir": "/home/torrent/torrents",

Trotz der Angabe, dass die .torrent-Dateien in /home/torrent/torrents gespeichert werden soll, befinden sich die richtigen .torrent -Dateien in /var/transmission/.config/transmission-daemon/torrents

Kontrolle

Um den aktuellen Stand zu überprüfen, verwendet man: transmission-remote -l

# transmission-remote -l                                                                                                                                                                                         
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1   100%    2.89 GB  Done       682.0     0.0   40.8  Seeding      kali-linux-2017.3-amd64
   2   100%    1.76 GB  Done         0.0     0.0   10.9  Seeding      manjaro-xfce-17.0.6-stable-x86_64.iso
Sum:           4.64 GB             682.0     0.0

Um kontinuierlich einen Überblick zu haben, kann man die GNU-Variante von watch namens gnuwatch verwenden:
gnuwatch -n10 transmission-remote -l
aktualisiert die Übersicht alle 10 Sekunden.

Autor
Kategorien BSD, OpenBSD

PRTG Map