Pagina 1 van 1

QNAP – pyLoad aanpassen en gebruiken voor Put.io downloads …

QNAP – pyLoad aanpassen en gebruiken voor Put.io downloads …
   0

Als je bekend bent met de Put.io service (artikel) dan is op dit moment pyLoad de meest geschikte download manager voor de QNAP.

Put.io is een online dienst die naast opslagcapaciteit voor jouw bestanden ook nog eens een torrent download service biedt, waarbij torrent automatisch in jouw eigen online drive worden opgeslagen. Put.io ondersteund en adviseert het gebruik van download managers, voorla die download managers die bestanden opsplitsen in “chunks” zodat je het maximale uit jouw Internet verbinding kunt halen.

Andere Download Managers op de QNAP ondersteunen deze “chunks” [nog] niet en helaas loopt het bij pyLoad ook niet altijd even goed – vandaar dit artikel …

UPDATE: Je zult zien dat Aria2 een betere Download Manager is – lees het Aria2 voor QNAP artikel.




Wat is Put.io?

Ik verwijs je naar een eerder geschreven artikel voor meer details, maar de korte versie:
Put.io is DropBox met meer opslagcapaciteit, een torrent download dienst en zelfs een MP4 conversie optie voor video.

Een bestand in jouw Put.io “drive” kun je net als ieder ander gewoon bestand downloaden naar jouw computer.

Downloaden van Bestanden …

In desktop scenario’s gebruik je een Download Manager voor het downloaden van bestanden van Put.io.
Een aantal goede Download Managers voor de PC vindt je in onderstaande lijst:

De meeste Download Managers splitsen de download in meerdere delen t.b.v. snelheidswinst, en alle download managers in bovenstaande lijst doen dit.

pyLoad en QNAP voor Put.io

Wanneer we nu onze QNAP als de “server” willen gebruiken om onze downloads af te handelen, dan lopen we tegen wat beperkingen aan.

Ik heb natuurlijk “Download Station“, wat gratis is en installeert zonder problemen. Download Station is echter niet snel – lijkt niet instaat om chunks af te handelen en is daardoor beperkt to 1 verbinding en dus traag.

pyLoad is een alternatief dat ook gratis is en ook in de “App Center” van jouw QNAP gevonden kan worden.

Basis instellingen

De besis instellingen die ik gebruik stel je in onder “Config General Menu Download“.
Ik heb “Max Parallel Downloads” op 1 gezet, en “Max connections for one download” op 10.

Het e.e.a. hangt af van jouw apparatuur en Internet verbinding, dus experimenteer hier gerust mee.

pyLoad - Settings I use

pyLoad – Settings I use

Onder normale omstandigheden zou dit prima moeten werken zeker aangezien andere download managers (zoals FlashGet voor Windows of Maxel voor Mac OS X) prima werken met zelfs extremere instellingen.

Download Links in pyLoad zetten …

Als eerste gaan we naar Put.io.
Open jouw Put.io dashboard/webinterface door naar http://put.io te gaan en daar in te loggen.
Klik daar de “Files” tab en vink vervolgens de bestanden en/of directories die je wilt downloaden aan.

Optie 1: Download bestand voor bestand

Na het aan vinken van bestanden en/of directories, klik je de “Get Download Links” knop en een window zal zich openen met de gewenste links. Een lijstje met links zie je hieronder als voorbeeld …

Put.io - Links voor de geselecteerde bestanden en directories

Put.io – Links voor de geselecteerde bestanden en directories

Optie 2: ZIP en download als enkel bestand …

Na het aan vinken van de gewenste bestanden en directories, klik je de “Zip & Download” knop. Put.io zet nu alles (erg vlot) in een enkel ZIP bestand en een window zal zich openen met de link hiervoor.

Klik nu deze link met de rechtse muisknop aan en kies “Link adres kopiëren” (iedere browser heeft z’n eigen term hiervoor, maar ik neem aan dat je snapt wat ik bedoel).

We hebben nu de link voor pyLoad op het klembord staan.

Put.io - Alles gezipt in een enkel bestand

Put.io – Alles gezipt in een enkel bestand

Download links toevoegen aan pyLoad

Toevoegen van de link in pyLoad is een eitje.
Open de pyLoad webinterface (zoiets als http://<ip-of-your-nas>:8100) en login.

Klik nu op de “+ Add” knop en een dialoog zal zich openen.
Plak jouw link(s) nu in het “Links” veld en klik de “Add Package” knop … (ja, je kunt hier meerdere links plaatsen)

Je kunt optioneel een naam opgeven in het “Name” veld welke gebruikt wordt om een directory aan te maken waarin de bestanden worden opgeslagen.

  Er wordt beweerd dat je in het “Password” veld jouw login gegevens kunt opgeven voor de Put.io login (formaat:gebruikersnaam:wachtwoord ), maar ik heb dit zelf nooit nodig gehad.

pyLoad - Link(s) toevoegen

pyLoad – Link(s) toevoegen

Net even makkelijker: Een browser plugin gebruiken

Het toevoegen van een link aan pyLoad is niet moeilijk, maar het wordt net even beter als je een browser plugin gebruikt, zoals PyLCEX voor Chrome.

Met wat simpele instellingen kun je download voortgang in de gaten houden en snel links toevoegen aan pyLoad (link met rechts aanklikken).

pyLCEX - Download voortgang in de gaten houden

pyLCEX – Download voortgang in de gaten houden

pyLCEX - Snel een link toevoegen aan pyLoad

pyLCEX – Snel een link toevoegen aan pyLoad

pyLoad Client Apps voor mobiel gebruik

Nu heb ik zelfden de behoefte om links toe te voegen aan pyLoad vanaf mijn mobiel telefoon of tablet, maar het kan met apps voor zowel Android als iPhone. Ik gebruik het zelf echter meer om download voortgang in de gaten te houden.

Waar vindt ik de gedownloade bestanden?

Als een download klaar is (en dus niet meer zichtbaar is op de “Home” pagina van de pyLoad web-interface), dan kun je de download terug vinden op jouw QNAP in de “Download” share in een directory met de naam “pyload“.

Je zult daar een sub-directory vinden met de naam van de server of met de naam die je opgaf tijdens het toevoegen van de link(s).

Tweaken van pyLoad

pyLoad, in de version die ik gebruikte, vertoonde nog weleens wat kleine probleempjes …

Eigen Risico en pyLoad Updates

– De gesuggereerde wijzigingen doe je op eigen risico!

– Na een update van pyLoad kan het nodig zijn de wijzigingen opnieuw te moeten uitvoeren.

Tijdens het downloaden van grotere bestanden wilde de verbinding nog weleens wat kleine probleempjes vertonen waardoor pyLoad al erg snel besloot om terug te gaan naar een enkele download i.p.v. meerdere chunks, met als gevolg dat de download triest traag werd. En dat is dus knap irritant.
Als je hier ook tegen aan loopt, dan zie je de volgende melding verschijnen (kijk eventueel in de LOG):


Download chunks failed, fallback to single connection | (28, 'Operation too slow. Less than 5 bytes/sec transferred the last 30 seconds')

Het doel van downloaden op de QNAP is natuurlijk dat we dit zonder na te denken in de achtergrond, b.v. ’s nachts, kunnen laten lopen. Een dergelijke drastische duik in downloadsnelheid is dus ets wat we te laat zullen ontdekken en dus helemaal niet wenselijk. Je snapt het al: dat irriteerde me mateloos dus besloot ik rond te snuffelen op het Internet en uiteindelijk (omdat ik geen alternatief kon vinden) besloot ik in de code te rommelen.

Bedenk wel: ik ben absoluut geen Python expert, maar onderstaande aanpassing werkt voor mijn opstelling prima!

Als eerste moeten we via SSH met de QNAP verbinden (lees ons SSH Artikel als je niet weet hoe je dit moet doen).

De volgende stap is wijzigingen maken aan het  “HTTPRequest.py” bestand in de pyLoad QPKG wat niet al te moeilijk is.
Merk op : het “/share/MD0_DATA” deel van het onderstaande pad kan anders zijn voor jouw QNAP.


cd /share/MD0_DATA/.qpkg/pyload/module/network

Als je nu een “ls” doet dan moet de inhoud van de directory er ongeveer zo uitzien:


1
2
3
4
5
6
7
Browser.py*         HTTPChunk.py*       RequestFactory.py*
Browser.pyc         HTTPChunk.pyc       RequestFactory.pyc
Bucket.py*          HTTPDownload.py*    XDCCRequest.py*
Bucket.pyc          HTTPDownload.pyc    XDCCRequest.pyc
CookieJar.py*       HTTPRequest.py*     __init__.py*
CookieJar.pyc       HTTPRequest.py.org* __init__.pyc
FTPBase.py*         HTTPRequest.pyc

Open nu “HTTPRequest.py” met nano door et volgende in te typen:  nano HTTPRequest.py

Scroll nu omlaag tot je het volgende stukje code vindt:


1
2
3
4
5
6
7
8
9
10
11
12
    def initHandle(self):
        """ sets common options to curl handle """
        self.c.setopt(pycurl.FOLLOWLOCATION, 1)
        self.c.setopt(pycurl.MAXREDIRS, 5)
        self.c.setopt(pycurl.CONNECTTIMEOUT, 30)
        self.c.setopt(pycurl.NOSIGNAL, 1)
        self.c.setopt(pycurl.NOPROGRESS, 1)
        if hasattr(pycurl, "AUTOREFERER"):
            self.c.setopt(pycurl.AUTOREFERER, 1)
        self.c.setopt(pycurl.SSL_VERIFYPEER, 0)
        self.c.setopt(pycurl.LOW_SPEED_TIME, 30)
        self.c.setopt(pycurl.LOW_SPEED_LIMIT, 5)

We gaan nu 3 regels aanpassen 3: regels 5, 11 en 12 in bovenstaande code (  self.c.setopt(pycurl.CONNECTTIMEOUT, 30) self.c.setopt(pycurl.LOW_SPEED_TIME, 30)  en   self.c.setopt(pycurl.LOW_SPEED_LIMIT, 5) ).

Deze regels definieren in principe wat de time-out gaat zijn bij een “langzame” verbinding en wat een “langzame” verbinding is.
In mijn tests werkte een verbindings time-out van 300, low-speed time-out van 600 een data overdracht van minder dan 0 byte/sec het beste, dus we veranderen de 3 regels als volgt:


1
2
3
4
5
6
7
8
9
10
...

        self.c.setopt(pycurl.CONNECTTIMEOUT, 300)

...

        self.c.setopt(pycurl.LOW_SPEED_TIME, 600)
        self.c.setopt(pycurl.LOW_SPEED_LIMIT, 0)

...

Als je de aanpassingen gemaakt hebt, druk dan op CTRL + X om Nano te sluiten, waarbij het vraagt of je de wijzigingen wilt opslaan (druk op de “Y” toets) en wat de bestandsnaam moet zijn (druk op de ENTER toets).

De volgende stap is het herstarten van pyLoad wat je kunt doen in de pyLoad web-interface. Klik hiervoor de “Administrate” knop (rechts bovenin) en klik de optie (links) “Restart pyLoad“. Je zul vanaf nu (hopelijk) niet meer tegen het time-out probleem lopen.

Merk op : Deze veranderingen zouden een negatieve impact kunnen hebben op downloads van andere websites, zeker als deze geen “chunks” ondersteund.

Herstart pyLoad

Herstart pyLoad

Donatie Opties


Donaties worden zeer gewaardeerd, maar zijn zeker niet vereist. Donaties worden gebruikt voor het dekken van kosten voor web-hosting en project materialen, en eventueel voor een drankje of een snack. Voor wie al gedoneerd heeft: Hartelijk dank! Het is werkelijk geweldig om te zien dat men onze artikelen en applicaties waardeert.

Reacties


Er zijn nog geen reacties geplaatst.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een opmerking plaatsen door op de "Reageer" knop te klikken.



Jouw Reactie ...

Vriendelijk verzoek om hier geen lange teksten te plaatsen (zoals source codes, log files of config files). Gebruik daarvoor het Forum.

Deel met anderen:
*
*
Houd me op de hoogte van nieuwe reacties (email).
       Gebruik jouw RSS reader om reacties te volgen.


Tweaking4All uses the free Gravatar service for Avatar display.
Tweaking4All zal nooit jouw email adres met anderen delen.