BitTorrent is een protocol om bestanden te delen. Het bestand wordt in kleine stukjes opgedeeld en op een server geplaatst. Zodra een BitTorrent client, die stukjes gaat downloaden, biedt hij ze op zijn beurt ook weer ter download aan. Dat heet seeden. Een computer die tegelijkertijd downloadt en seedt heet “peer”, Engels voor “elkaars gelijke”. De onderling delende computers vormen een peer-to-peer netwerk, kortweg P2P-netwerk genoemd. Omdat een BitTorrent client de stukjes in willekeurige volgorde bij veel peers tegelijk ophaalt, komt dat de downloadsnelheid flink ten goede. De client zet de stukjes zelf weer in de juiste volgorde. Deluge is zo’n BitTorrent client.

 

Het bijzondere aan Deluge is dat de interface is losgekoppeld van de achterkant, die het downloaden uitvoert. Door die achterkant als daemon op een aparte machine te installeren, hoef je je pc of laptop niet meer met downloads te belasten. Behalve een GUI heeft Deluge ook een webinterface, zodat je zelfs lokaal niets hoeft te installeren. Je regelt dan het hele downloadproces op afstand.

 

Deluge is beschikbaar in de officiële repositories van alle belangrijke Linux distributies. Omdat Deluge drie verschillende interfaces voor de daemon heeft, is het pakket in sommige distributies opgesplitst. Fedora levert bijvoorbeeld de volgende pakketten:

        deluge-gtk, GUI

        deluge-web, webinterface

        deluge-console, console

        deluge-daemon, daemon

 

Als je het pakket met de GUI installeert, kun je vrijwel meteen aan de slag. Het scenario met de daemon in combinatie met de webinterface op een aparte machine is wat technischer van aard en wordt na de GUI beschreven. De console laten we in dit artikel buiten beschouwing.

GUI

Een torrent is een bestandje met informatie over de download. De download hoeft niet een enkel bestand te zijn, maar kan ook een directory-structuur met bestanden zijn. De torrent bevat informatie, zoals: de bestandsnamen, de grootte van de bestanden, de ingekorte stukjes en hash-waarden om de integriteit van de download te waarborgen. Bovendien bevat de torrent informatie over trackers. Dat zijn machines, die bijhouden op welke peers bepaalde stukjes van de download beschikbaar zijn.

Een torrent voeg je als volgt toe. Start Deluge op en kijk de allereerste keer in de statusbalk beneden (zie afbeelding 1). Als daar de melding “No Incoming Connections!” verschijnt, kunnen peers geen verbinding met jouw computer maken. Zelf kun je dan ook niet downloaden. Test daarom de poort waar Deluge naar luistert (zie ook het kader). Ga naar het menu Edit -> Preferences en kijk in de categorie Network bij Incoming Ports. Achter Active Port staat welke poort Deluge gebruikt. Druk op de knop Test Active Port. Als er geen verbinding naar jouw computer mogelijk is, dan zie je een uitroepteken staan.

Als de postbode door de straat loopt om een brief te bezorgen, weet hij door het huisnummer in welke brievenbus hij de brief moet posten. Als de computer een netwerkpakketje ontvangt, moet ook op de een of andere manier duidelijk zijn voor welke applicatie dit bedoeld is. Moet het pakketje naar je webbrowser of naar je mailclient bijvoorbeeld? In de computerwereld geeft een poortnummer dat aan. Men zegt dan dat de applicatie op een bepaalde poort luistert. De applicaties zijn als het ware de huizen en de poortnummers zijn de huisnummers.

 

Mogelijk houdt de firewall van je computer of modem dan inkomend netwerkverkeer op deze poort tegen. Om de firewall niet helemaal open te hoeven zetten, beperk je de range tot enkele – of zelfs maar één – poort(en), waarop Deluge moet luisteren. Haal eerst het vinkje bij Use Random Ports weg en stel vervolgens poortnummers in bij From en To. De BitTorrent poortnummers 6881 t/m 6891 worden nog wel eens geblokkeerd of afgeknepen. Daarom is het verstandig om willekeurige hoge nummers te kiezen. Druk nu op de knop Apply beneden in Preferences, zodat Deluge de nieuwe poortnummers gebruikt. Voer nogmaals Test Active Port uit, totdat een groen bolletje verschijnt, zoals in afbeelding 1.

Via File -> Add Torrent of met de plus-knop linksboven, voeg je nu torrents toe (zie afbeelding 2). Je hoeft het torrent-bestandje niet eerst te downloaden. Als je op een webpagina met torrents de link van een torrent naar het clipboard kopieert en vervolgens op de knop URL drukt, staat de juiste URL automatisch in het invoerschermpje. Druk op OK, zodat Deluge de torrent ophaalt. Deluge analyseert dat bestand vervolgens en in het tabblad Files zie je dan de bestanden, die gedownload gaan worden. Deluge plaatst de downloads in de map Downloads in je home directory. Om dit te veranderen, ga je naar tabblad Options. Als je wilt dat Deluge altijd een bepaalde map gebruikt, dan is het handiger om dit door te voeren via het menu Edit -> Preferences bij de categorie Downloads. Na het toevoegen van de torrents klik je op Add om het downloaden te starten.

In het centrale deel van de GUI zie je een overzicht van alle torrents met gegevens over de grootte van de download, het percentage dat al gedownload is, de downloadsnelheid, etcetera. Het icoontje voor de naam van de torrent geeft de status weer. Een groene pijl naar beneden betekent dat de download nog bezig is. Zodra de download klaar is, verandert dat in een blauwe pijl naar boven om aan te geven dat Deluge alleen nog maar uploadt. De tabbladen beneden tonen per torrent de detailgegevens. Zo zie je in het tabblad Peers van wie je allemaal aan het downloaden bent. Wees niet verbaasd als dat er meer dan honderd zijn.

Het overzicht wordt niet automatisch opgeschoond als een download voltooid is. Dat moet je zelf doen via Torrent -> Remove Torrent of middels de min-knop linksboven. Pas op in het popup-scherm: als je daar op Remove With Data klikt, dan ben je ook je download kwijt!  

Je hoeft trouwens niet te wachten tot een download klaar is. Als je Deluge afsluit en vervolgens opnieuw opent, wordt het downloaden vanzelf hervat. Met de knoppen Pause en Resume naast de plus- en min-knoppen linksboven heb je zelf invloed op het download proces.

Thin client-modus

Als voorbereiding op de daemon op een aparte machine kijken we eerst naar de GUI in de zogenaamde thin client-modus. Die modus heb je namelijk nodig om verbinding met een daemon te kunnen maken.

Haal in Edit -> Preferences in de categorie Interface het vinkje weg bij Classic Mode. Je moet de GUI vervolgens opnieuw opstarten en je krijgt dan in een popup venster de Connection Manager te zien (bovenste scherm in afbeelding 3). Via het menu Edit -> Connection Manager is die eveneens op te roepen. Je ziet nu de mogelijkheid om lokaal een daemon te starten. Druk op Start Daemon en wacht tot het statusbolletje groen wordt. Nu loopt er lokaal op de achtergrond een Deluge daemon onder je eigen gebruikersnaam. Druk vervolgens op Connect. Je ziet nu hetzelfde overzicht van torrents als hierboven. Maar als je nu de GUI afsluit, gaat de daemon gewoon door met downloaden. Om de daemon te stoppen, druk je in de Connection Manager op Stop Daemon. Een alternatief is File -> Quit & Shutdown Daemon, waarmee je zowel de GUI als de daemon afsluit.

Remote daemon

Nu installeren we op een aparte machine het pakket deluge-daemon. Deluge plaatst de configuratie in directory ~/.config/deluge, waarbij de tilde ‘~’ de home directory van de gebruiker is. Het is een goed idee om daemons onder een eigen gebruikersnaam te draaien. Voor Fedora is dit “deluge” met als home directory /var/lib/deluge:

 

grep deluge /etc/passwd

deluge:x:987:985:deluge daemon account:/var/lib/deluge:/sbin/nologin

 

Start de daemon op, zodat hij deze directory automatisch vult met configuratiebestanden met standaardwaarden. Op een distributie met systemd (bijvoorbeeld Fedora) doe je dat als volgt:

 

 

systemctl start deluge-daemon

 

De daemon staat initieel alleen lokale connecties toe. Om met een remote client een verbinding te maken, moet je in de configuratie directory het bestandje core.conf aanpassen. Dit moet je doen als de daemon gestopt is, want anders overschrijft hij bij een herstart de configuratie weer met de oude waarden:

 

systemctl stop deluge-daemon

 

Zet nu pas in core.conf de optie allow_remote op true:

 

 

“allow_remote”: true

In het bestand auth staan de inloggegevens voor clients. Het formaat is <username>:<password>:<level>, waarbij level een getal is dat het autorisatieniveau bepaalt. Op dit moment is er in de praktijk alleen onderscheid tussen het wel of niet toestaan van connecties. Met level 5 of hoger heb je volledige toegang. Met een lager level is geen verbinding met de remote daemon mogelijk. Voor dit voorbeeld voegen we de volgende regel toe:

 

mijn_naam:mijn_wachtwoord:10

Start de daemon weer op.

 

Gebruik nu de GUI in thin client modus en ga naar de Connection Manager (zie afbeelding 3). Voeg met de knop Add de remote daemon toe. Voer in het popup-scherm de hostname of het IP-adres in, evenals de gebruikersnaam “mijn_naam” met wachtwoord “mijn_wachtwoord”. Klik op Add en vervolgens op Connect om verbinding te maken met de remote daemon. Merk hierbij op dat je de remote daemon niet kunt stoppen. Alles functioneert verder zoals hierboven bij de GUI is beschreven, behalve dat het downloaden nu op een remote machine gebeurt. De downloads komen daar in de map /var/lib/deluge/Downloads.

 

Webinterface

 

Nu gaan we alles remote regelen. Installeer het pakket deluge-web op een aparte machine. De configuratiedirectory is dezelfde als die van de daemon. Standaard luistert de webservice op poort 8112. Om dit te veranderen in bijvoorbeeld HTTP-poort 80 pas je het configuratiebestand web.conf  als volgt aan:

 

“port”: 80

 In het kader staat een tip als je al een webserver gebruikt. Start nu de service op:

 

systemctl start deluge-web

 

 

Een tip voor mensen die al een webserver hebben draaien en de proxy-functionaliteit ervan gebruiken. Om de Deluge webservice te benaderen via een URL (zoals http://mijn.domein.com/deluge) moet je de optie “base” in het configuratiebestand web.conf als volgt aanpassen:

 

“base”: “/deluge”

 

 

Gebruik nu je webbrowser om naar de webinterface te gaan (afbeelding 4). Je hebt een wachtwoord nodig dat initieel ‘deluge’ is. De eerste keer krijg je een melding om die meteen te veranderen in Preferences in de categorie Interface. De webinterface is qua gebruik analoog aan de GUI. Gebruik ook hier weer de Connection Manager om eerst verbinding te maken met de remote daemon. Voeg vervolgens torrents toe met de knop Add links boven. Nu werk je geheel op afstand.

 

TOT SLOT

Als je de GUI in het geheel niet meer gebruikt en als de webservice en daemon op dezelfde machine staan, dan is het om veiligheidsredenen verstandig om voor de daemon de optie allow_remote in core.conf weer terug te zetten op false.

 

LINKS

Deluge

deluge-torrent.org