Installation of PyLoad on Optware

PyLoadA few days ago i was asked if it would be possible to install PyLoad on the NAS-Systems. Pyload is a download-manager which is written in python and which provides a webinterface, a GUI Program and a CLI-Tool for management. The requestor needed a transfer-medium for his pictures. I found that interesting and investigated a little bit, but had to give up to get it natively running on Fonz fun_plug. I looked around the wiki of PyLoad and stumbled across optware. After a few problems i got everything together to get it running. A word of advice: Pyload needs about 40% of my 256MB Ram (D-Link DNS-325) when running, so if you experience performance-issues in transfers, maybe you should stop pyload first.


German version of this tutorialFirst install Optware according to my instructions. This is required for the following commands, so please ensure that you didn’t run into any errors during the installation. Then run the following command to install the required packages:

ipkg install python py25-crypto py25-curl libcurl py25-openssl py25-django tesseract-ocr unzip sqlite wget-ssl py25-pil unrar ossp-js

Then go to /opt/, download pyload:

cd /opt/
unzip pyload-src*.zip
rm pyload-src-*.zip

First change the default configuration-Directory as it will get lost otherwise:

cd /opt/pyload/
python --changedir --configdir=/opt/pyload/.pyload

Press Enter once to confirm the path /opt/pyload/.pyload. Press it again to Exit the Dialog.

Now you are good to go for the installation-process:

python -s

This asks you many questions, just look at my output. Please change the Download-Folder to your desired folder (i’ve chosen /mnt/HD/HD_a2/Downloads/ below). I added “{ENTER}” for every time when i pressed Enter on the keyboard. All other input is marked bold:

Choose your Language / WΓ€hle deine Sprache ([en], de, it, pl, fr, cs, es): {ENTER}

Welcome to the pyLoad Configuration Assistent.
It will check your system and make a basic setup in order to run pyLoad.

The value in brackets [] always is the default value,
in case you don’t want to change it or you are unsure what to choose, just hit enter.
Don’t forget: You can always rerun this assistent with –setup or -s parameter, when you start pyLoadCore.
If you have any problems with this assistent hit STRG-C,
to abort and don’t let him start with pyLoadCore automatically anymore.

When you are ready for system check, hit enter.
## System Check ##
Python Version: OK
pycurl: OK
sqlite3: OK

pycrypto: OK

py-imaging: OK
tesseract: OK

PyQt4: missing

django: OK
JS engine: OK

System check finished, hit enter to see your status report.
## Status ##

Features available: container decrypting, ssl connection, automatic captcha decryption, Webinterface, extended Click’N’Load

Continue with setup? ([y]/n): {ENTER}

Do you want to change the config path? Current is /opt/pyload/.pyload
If you use pyLoad on a server or the home partition lives on an internal flash it may be a good idea to change it.
Change config path? (y/[n]): {ENTER}

Do you want to configure basic settings?
This is recommend for first run.
Make basic setup? ([y]/n): {ENTER}

## Basic Setup ##

The following logindata are only valid for CLI and GUI, but NOT for webinterface.
Username [User]: MyPersonalUser {ENTER}
Password: MyPasswordForUser {ENTER}
Password (again): MyPasswordForUser {ENTER}

Language ([en], de, it, pl, es, cs, fr): {ENTER}
Downloadfolder [Downloads]: /mnt/HD/HD_a2/Downloads/ {ENTER}
Max parallel downloads [3]: {ENTER}
Use Reconnect? (y/[n]): {ENTER}

Do you want to configure ssl?
Configure ssl? (y/[n]): {ENTER}

Do you want to configure webinterface?
Configure webinterface? ([y]/n): {ENTER}

## Webinterface Setup ##

Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_admin_log
Creating table pyload_prefs
Installing index for auth.Permission model
Installing index for auth.Message model
Installing index for admin.LogEntry model
If you see no errors, your db should be fine and we’re adding an user now.
Username [User]: MyPersonalUserForWebInterface {ENTER}
Superuser created successfully.
Password: MyPasswordforWeb {ENTER}
Password (again): MyPasswordforWeb {ENTER}

Activate webinterface? ([y]/n): {ENTER}

Listen address, if you use or localhost, the webinterface will only accessible locally.
Address []: {ENTER}
Port [8000]: {ENTER}

Setup finished successfully.
Hit enter to exit and restart pyLoad

Now download the starterscript for PyLoad:

mkdir -p /opt/etc/init.d/
wget -O /opt/etc/init.d/
chmod +x /opt/etc/init.d/

Have fun with PyLoad πŸ™‚

66 thoughts on “Installation of PyLoad on Optware”

  1. Hi Uli, just a question, installing optware with your script I found the optware installation in /opt/optware , which is fine for me , but you should then change some path above and in the start script accordingly.
    great job , I have done the same things in these days (installing optware and pyload on dns-320) and few days later you came with this , we are almost in sync πŸ˜€
    what’s next?

  2. It seems i’ve some problems with the configuration, as shown above, there is no prompt in the Webinterface Setup.
    Any hints?

    Do you want to configure webinterface?
    Configure webinterface? ([y]/n):

    ## Webinterface Setup ##

    Activate webinterface? ([y]/n):

      1. I’m not that dumb!!! (at least i hope πŸ˜‰

        the output didnt showed the lines as in you tutorial in the ## Webinterface Setup ## section, so i expected some problem there, however it was the pyload that didnt started properly.

        the solution was the “python /opt/pyload/ –daemon”

        1. You are right, you are not dumb. The tutorial was written with Version 0.4.4 (and the output from that version). The output in Version 0.4.5 looks different.


  3. I use Rapidshare Download Manager (from here: on DNS-323 but now I am going to change to fileserve or filesonic. Is there any working download manager on DNS-323 that supports these with premium account? I have tried PyLoad but GUI does not work. Tucan download manager does not support fileserve and filesonic with premium account. Slimrat and plowshare has not got GUI. Any idea?

    1. Install pyLoad on the DNS-323, then use the Windows/Linux/Mac-GUI from you computer to connect to the NAS and add the Links from there. Once added, the NAS starts to download the Files and you can disconnect your computer without any problems.


  4. I have tried and it works. Thank you!
    I have only one problem, I can’t update the settings from the Windows GUI connected to the NAS. Settings can be updated only with manual editing of pyload.conf. But it is not a big issue for me.

    1. Please ask and anseer in english otherwise i have a problem to understand you πŸ™‚ Just install Optware and follow the instructions above. This will work on the dns-320.


        1. Well just go to the IP/Dns-Name of your NAS using the port shown above and use it? Should be pretty intuitive πŸ™‚


          1. sorry
            help me
            I left port 8000
            but I have
            how do I?
            excuse my English

          1. I have reinstalled everything but this:
            Creating table auth_permission
            Creating table auth_group
            Creating table auth_user
            Creating table auth_message
            Creating table django_content_type
            Creating table django_session
            Creating table django_admin_log
            Creating table pyload_prefs
            Installing index for auth.Permission model
            Installing index for auth.Message model
            Installing index for admin.LogEntry model
            If you see no errors, your db Should be fine and we’re adding an user now.
            Username [User]: {ENTER} MyPersonalUserForWebInterface
            Superuser created successfully.
            Password: MyPasswordforWeb {ENTER}
            Password (again): MyPasswordforWeb {ENTER}

            does not appear.

  5. Uli, thank you for this very useful site.
    Is it possible to install bjoern (ultra lightweight) on DNS-320 to save some RAM? is needed – Do you have some clue how to compile it?

    Best regards!

  6. I followed the tutorial but I can not launch the web interface (local and external).
    However, I left everything default.
    I really do not understand.
    All installed well, the daemon starts but nothing after.
    I have a dns-323.

    1. The web interface cannot run on DNS-323, it seems that is required more RAM or maybe there is something incompatibility. But you can use the Windows/Linux GUI as Uli (TY again!) replied me on 7th April.

  7. Thank you for the quick response.

    Small question (again), how to delete everything to return to an original configuration?

    I did a reset but I still have all the packages.

  8. I just installed pyLoad on DNS-323 and then I can start core, but I have problem connecting any GUI to the core. I tried python and GUI on winodws. It just never connect. Command line just hang and GUI on windows show cannot connect to host. All the settings are default. Any help?

  9. Hi Uli great website and tutorial. i managed to install pyload from your instructions but i’ve noticed that the web interface doesn’t start unless i run

    python /opt/pyload/ –daemon

    on the command line. however this hangs on the terminal and if i quit terminal the web interface stops working. is there a solution to this?

    1. I had the same issue and managed to fix it by:
      1) changing the first line in the file to #!/bin/sh (it was #!/ffp/bin/sh)
      2) putting the file to the folder /etc/init.d/ (and not /opt/etc/init.d)
      Now web interface starts when I turn on my WD MyBook World Edition πŸ™‚

  10. Hi Uli,

    I’m not a technical person.
    Is there anyway you can help me to install this into my environment? By remote session.
    We can discuss the fee πŸ™‚ of course, free is better.

    Looking to hear from you.

    Thank you.

  11. Hi uli,

    I am basically a noob at networking and setting up all that. But I know what I want and I have got all the stuffs required.

    I have read your guides from fun_plug –> optware –> PyLoad.

    But I am stump with certain steps before I move on actually start setting it all up.

    What I have:
    DLink DNS-320
    Engenius 9850
    Windows 7 Home laptop

    What I need:
    1) FileServe and MegaUpload premium account to “auto-download” into my DNS-320 with my laptop switched off
    2) Remote access to my DNS-320 via the Internet/smartphone/another computer

    What stumps me:
    1) Which should I set up first? The remote access via DyLink provided software? Or set up PyLoad(I meant the “auto-download” function from your tutorial? Or it don’t matter?
    2) If I have to set up the function, I basically need to follow your guide from Fun_Plug –> OptWare –> PyLoad, in that sequence right?

    Thanks and sorry for troubling you..

  12. Pingback: Instalar pyLoad en Disco Nas Synology | A quien pueda interesar ...
  13. For those who can’t get working the web interface on the dns-323

    On /mnt/HD_a2/ipkg/opt/lib/python2.5/lib-dynload

    Rename to and restart.

    After reboot run: python /opt/pyload/ –daemon

    My webinterface is up and running.

  14. I managed to get the starter script working by:
    1) changing the first line in the file to #!/bin/sh (it was #!/ffp/bin/sh)
    2) putting the file to the folder /etc/init.d/ (and not /opt/etc/init.d)
    Now web interface starts when I turn on my WD MyBook World Edition πŸ™‚

    1. Larry, I can’t create or modified any file inside “/etc/init.d” not even “touch” permission to init.d is “drwxr-xr-x”

      Can anyone help?

  15. Hi all, I have install pyLoad on my dns320. Download works fine but I encountered an issue. I’m unable to cut and paste to other folder in the NAS or my Win 7 drive. Delete function also does not work. The only way to I try to move is login via ssh then use these function. Any advice?

    1. Check the settings in pyload, there is a option to set the permissions on the download-folder (e.g. set to a certain user).

      Best Regards,

  16. Hello ‘
    I was able to run pyload on my Xtreamer
    How ever i cant get it to autorun on boot.
    i have downloaded the script.
    i can only run it manually using this command:
    /opt/bin/python /tmp/usbmounts/sdb1/opt/pyload/ –daemon

    Any ideas?

  17. Hi,

    I managed to install pyload on my DNS 325. All is working, I can start payload at boot, connect to ip:8001 but when I try to log in it says:
    Your username and password didn’t match. Please try again.
    To reset your login data or add an user run: python -u

    So I re-edit my user but I don’t works.

    Is it possible that funpkg and ipkg has conflict about same packages ? I have seen that ipkg installs sqlite and funpkg has already installed sqlite.

    What do you think about that ?

    Thank you.

  18. I’ve got problem with WEBI.
    When i try to saw download tab there was written:
    pyLoad – Webinterface

    An Error occured, please enable debug mode to get more details.

    HTTP Response 500

    Traceback (most recent call last):
    File “/home/opt/pyload/module/lib/”, line 651, in _handle
    return callback(**args)
    File “/home/opt/pyload/module/lib/”, line 1144, in wrapper
    rv = callback(*a, **ka)
    File “/home/opt/pyload/module/web/”, line 113, in _view
    return func(*args, **kwargs)
    File “/home/opt/pyload/module/web/”, line 186, in downloads
    if isdir(join(root, item)):
    File “/opt/lib/python2.5/”, line 195, in isdir
    st = os.stat(path)
    UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 70-71: ordinal not in range(128)
    What is wrong.
    I install it on Netgear Stora. Pls help

  19. Oh crap… What happened? Everything was running smooth for me..

    PyLoad works wonderfully with my fileserve premium account, and now, this?

    “No module named json_layer 0.00 B FileserveCom”

    What does that mean? πŸ™

    1. I have tried to re-boot my DNS-320 and restarted pyload with no effect.. I can’t download anything now… πŸ™

      1. Have you tried to update it to the current version? Filehosters are not stable and sometimes pyload needs to be updated for that. If this doesnt fix it, you should file a bugreport at the pyload-Website.


        1. Uli,

          I know this sounds weird. But which one are you meaning to ask me to upgrade? My DNS-320 firmware or PyLoad firmware?

          Currently i am still running the stock DNS-320 when i just bought it.

  20. Hi Uli,

    Nice tutorials buddy, thanks for the hard work! Just installed pyload v0.4.8 on a brand new DNS320 for a friend. Didn’t have time to check your start up script, but after reboot it does not auto start.
    I’ve used:
    python /opt/pyload/ –daemon
    and problem was solved.

  21. I’m reading all this mornig this site and configuring my DNS-323 but at least the pyload didn’t work.

    I can’t connect to the web and I didn’t know why. Now I post some error message and I hope someone can help me.

    Thank you

    If I try to use the config on spanish the assistant give an error:

    Nombre de usuario [User]: 
    Traceback (most recent call last):
      File "/ffp/opt/optware/opt/pyload/", line 629, in 
        pyload_core = Core()
      File "/ffp/opt/optware/opt/pyload/", line 115, in __init__
      File "/mnt/HD_a2/ipkg/opt/pyload/module/", line 162, in start
      File "/mnt/HD_a2/ipkg/opt/pyload/module/", line 276, in conf_basic
        password = self.ask("", "", password=True)
      File "/mnt/HD_a2/ipkg/opt/pyload/module/", line 458, in ask
        p1 = getpass(qst.encode("utf-8"))
      File "/opt/lib/python2.5/", line 38, in unix_getpass
        passwd = _raw_input(prompt, stream)
      File "/opt/lib/python2.5/", line 81, in _raw_input
      File "/opt/lib/python2.5/", line 303, in write
        data, consumed = self.encode(object, self.errors)
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 8: ordinal not in range(128)
    root@dlink-19ABE9:/# python /ffp/opt/optware/opt/pyload/ -s

    If I use this command it show the message and stops:

    root@dlink-19ABE9:/# python /opt/pyload/
    06.12.2011 18:19:25 INFO      Starting pyLoad 0.4.8
    06.12.2011 18:19:25 INFO      Using home directory: /mnt/HD_a2/ipkg/opt/pyload/.pyload
    06.12.2011 18:19:29 INFO      Activated plugins: CaptchaTrader, ClickAndLoad, ExternalScripts, UpdateManager
    06.12.2011 18:19:29 INFO      Deactivate plugins: Ev0InFetcher, HotFolder, IRCInterface, MergeFiles, MultiHome, RealdebridCom, RehostTo, UnRar, XMPPInterface
    06.12.2011 18:19:29 INFO      Downloadtime: True
    06.12.2011 18:19:29 INFO      Starting ThriftBackend:
    python: can't resolve symbol 'dbm_firstkey'
    1. I had the same problem, and this worked for me.
      Change the language to english (by default) in the first basic setup (“python -s”)
      If it was all ok, later in the GUI you can change the language in the preferences menu. After that, a pyLoad restart is required, do it from your ssh client just with the command “service pyload restart”.

  22. Hi Uli

    Is there a script that updates PyLoad to the latest version?

    So far i did it by re-installing PyLoad. But, maybe is there more sophisticated and political correct way to do it?

    And btw, it’s a great job You’re doing with all those machines.

    Thank You,


  23. Try to install pyload but on command:
    unzip pyload-src*.zip

    i receive message: can’t open pyload*
    pyload* pyload*

    What is wrong??

  24. python –changedir –configdir=/opt/pyload/.pyload

    -sh: python: command not found


  25. Uli,
    after installing Pyload when I try to connect via SSH it seems that I reaching BusyBox, and I can do anything from there.
    Any help will be highly appreciated.
    Even if i enter ‘help’ nothing happens…

    BusyBox v1.00-pre1 (2009.02.11-09:07+0000) Built-in shell (ash)
    Enter ‘help’ for a list of built-in commands.

  26. how do I uninstall pyload from dns-320L. It seems to be slowing my system down alot and I can not access the GUI interface.

    Thanks for your help!


  27. Hi, this process work for ds214play with dsm 5.0 official? The applications in dsm 5.0 have error in installation.


  28. I got problem when using this code:
    python --changedir --configdir=/opt/pyload/.pyload

    the Putty reply:

    [root@LS421DE64A ~]# cd /opt/pyload/
    [root@LS421DE64A pyload]# python --changedir --configdir=/opt/pyload/.pyload
    Traceback (most recent call last):
    File "", line 48, in
    from import RequestFactory
    File "/opt/pyload/module/network/", line 22, in
    from Browser import Browser
    File "/opt/pyload/module/network/", line 6, in
    from HTTPRequest import HTTPRequest
    File "/opt/pyload/module/network/", line 20, in
    import pycurl
    ImportError: No module named pycurl
    [root@LS421DE64A pyload]#

    But I already install py25-curl, py26-curl. After this error, I remove the py25-curl, py26-curl to install pycurl by build myself but it got this error. Please to help me!

    [root@LS421DE64A pyload]# cd /tmp/pycurl/pycurl-7.19.5/
    [root@LS421DE64A pycurl-7.19.5]# python install Using curl-config (libcurl 7.24.0)
    running install
    running build
    running build_py
    running build_ext
    building 'pycurl' extension
    /work/2013_1115_1118_git_sub/ts-3000/buildroot/buildroot-2012.08/output/host/usr/bin/arm-marvell-linux-gnueabi-gcc -fno-strict-aliasing -pipe -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DBIG_SECURITY_HOLE -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -DPYCURL_VERSION="7.19.5" -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/opt/include -I/usr/include/python2.7 -c src/docstrings.c -o build/temp.linux-armv7l-2.7/src/docstrings.o
    unable to execute /work/2013_1115_1118_git_sub/ts-3000/buildroot/buildroot-2012.08/output/host/usr/bin/arm-marvell-linux-gnueabi-gcc: No such file or directory
    error: command '/work/2013_1115_1118_git_sub/ts-3000/buildroot/buildroot-2012.08/output/host/usr/bin/arm-marvell-linux-gnueabi-gcc' failed with exit status 1
    [root@LS421DE64A pycurl-7.19.5]#

    Thanks you so much.

  29. Hi,
    today I have installed pyload from my 320l but I have more difficult to reach pyload from web interface.
    My router is
    every time I search login from web error 404 NOT FOUND
    Why?Please someone help me

    1. If you have setup all correctly try to launch this command into path where this program is present: python –daemon

      Wait one minute and than retry to login to web interface

      You have to reload this command every time you restart your nas or application crash

Leave a Reply

Your email address will not be published. Required fields are marked *