setaOffice

Unix Intelligence Gathering

How to install pyLoad on a Synology DiskStation DS211j

Posted by Emerson Takahashi on April 10, 2011

I found some guides to install pyLoad but they were written when pyLoad was in version 0.4.4. Now on version 0.4.5 there is no more need to install python-django as stated in the changelog

To get pyLoad running, install python. If you need to know how to install compiled programs on your NAS, check How to install compiled programs on a Synology NAS

DiskStation> ipkg install python
Installing python (2.5-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/python_2.5-1_arm.ipk
Installing python25 (2.5.5-2) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/python25_2.5.5-2_arm.ipk
Installing readline (6.1-2) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/readline_6.1-2_arm.ipk
Installing ncurses (5.7-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ncurses_5.7-1_arm.ipk
Installing bzip2 (1.0.6-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/bzip2_1.0.6-1_arm.ipk
Installing openssl (0.9.8p-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/openssl_0.9.8p-1_arm.ipk
Installing libdb (4.2.52-3) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libdb_4.2.52-3_arm.ipk
Installing zlib (1.2.5-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/zlib_1.2.5-1_arm.ipk
Installing sqlite (3.7.3-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/sqlite_3.7.3-1_arm.ipk
Installing libstdc++ (6.0.9-6) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libstdc++_6.0.9-6_arm.ipk
Installing ncursesw (5.7-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ncursesw_5.7-1_arm.ipk
Configuring bzip2
update-alternatives: Linking //opt/bin/bzip2 to /opt/bin/bzip2-bzip2
Configuring libdb
Configuring libstdc++
Configuring ncurses
update-alternatives: Linking //opt/bin/clear to /opt/bin/ncurses-clear
Configuring ncursesw
Configuring openssl
Configuring python
Configuring python25
Configuring readline
Configuring sqlite
Configuring zlib
Successfully terminated.

py25-crypto

DiskStation> ipkg install py25-crypto
Installing py25-crypto (2.1.0-2) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/py25-crypto_2.1.0-2_arm.ipk
Installing libgmp (4.3.2-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libgmp_4.3.2-1_arm.ipk
Configuring libgmp
Configuring py25-crypto
Successfully terminated.

py25-curl

DiskStation> ipkg install py25-curl
Installing py25-curl (7.19.0-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/py25-curl_7.19.0-1_arm.ipk
Installing libcurl (7.21.4-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libcurl_7.21.4-1_arm.ipk
Configuring libcurl
Configuring py25-curl
Successfully terminated.

py25-openssl

DiskStation> ipkg install py25-openssl
Installing py25-openssl (0.10-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/py25-openssl_0.10-1_arm.ipk
Configuring py25-openssl
Successfully terminated.

py25-pil

DiskStation> ipkg install py25-pil
Installing py25-pil (1.1.7-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/py25-pil_1.1.7-1_arm.ipk
Installing freetype (2.3.6-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/freetype_2.3.6-1_arm.ipk
Installing libjpeg (6b-3) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libjpeg_6b-3_arm.ipk
Configuring freetype
Configuring libjpeg
Configuring py25-pil
Successfully terminated.

tesseract-ocr

DiskStation> ipkg install tesseract-ocr
Installing tesseract-ocr (2.03-3) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/tesseract-ocr_2.03-3_arm.ipk
Installing libpng (1.2.44-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libpng_1.2.44-1_arm.ipk
Installing libtiff (3.9.4-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libtiff_3.9.4-1_arm.ipk
Configuring libpng
Configuring libtiff
Configuring tesseract-ocr
Successfully terminated.

tesseract-ocr-lang-eng

DiskStation> ipkg install tesseract-ocr-lang-eng
Installing tesseract-ocr-lang-eng (2.03-3) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/tesseract-ocr-lang-eng_2.03-3_arm.ipk
Configuring tesseract-ocr-lang-eng
Successfully terminated.

ossp-js

DiskStation> ipkg install ossp-js
Installing ossp-js (1.6.20070208-1) to root…
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ossp-js_1.6.20070208-1_arm.ipk
Configuring ossp-js
Successfully terminated.

Change to the directory /usr/local and download the source

DiskStation> cd /usr/local
DiskStation> wget http://get.pyload.org/static/pyload-src-v0.4.6.zip
–2011-06-15 20:48:16– http://get.pyload.org/static/pyload-src-v0.4.6.zip
Resolving get.pyload.org… 188.165.68.109
Connecting to get.pyload.org|188.165.68.109|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 1286689 (1.2M) [application/zip]
Saving to: `pyload-src-v0.4.6.zip’

100%[======================================>] 1,286,689 191K/s in 7.3s

2011-06-15 20:48:24 (172 KB/s) – `pyload-src-v0.4.6.zip’ saved [1286689/1286689]

If you have an older version, you can copy the config folder and delete the old version of pyload

DiskStation> cp -pr /usr/local/pyload/config /usr/local
DiskStation> rm -r /usr/local/pyload

Unzip the source

DiskStation> unzip pyload-src-v0.4.6.zip
Archive: pyload-src-v0.4.6.zip
creating: pyload/
inflating: pyload/docs.conf
inflating: pyload/LICENSE
inflating: pyload/pyLoadGui.py
creating: pyload/scripts/
inflating: pyload/scripts/Readme.txt
creating: pyload/locale/
creating: pyload/locale/en/
creating: pyload/locale/en/LC_MESSAGES/
inflating: pyload/locale/en/LC_MESSAGES/django.mo
inflating: pyload/locale/en/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/en/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/en/LC_MESSAGES/setup.mo
inflating: pyload/locale/en/LC_MESSAGES/pyLoad.mo
creating: pyload/locale/fi/
creating: pyload/locale/fi/LC_MESSAGES/
inflating: pyload/locale/fi/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/fi/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/fi/LC_MESSAGES/pyLoad.mo
extracting: pyload/locale/includes.txt
creating: pyload/locale/it/
creating: pyload/locale/it/LC_MESSAGES/
inflating: pyload/locale/it/LC_MESSAGES/django.mo
inflating: pyload/locale/it/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/it/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/it/LC_MESSAGES/setup.mo
inflating: pyload/locale/it/LC_MESSAGES/pyLoad.mo
inflating: pyload/locale/generate_locale.py
creating: pyload/locale/de/
creating: pyload/locale/de/LC_MESSAGES/
inflating: pyload/locale/de/LC_MESSAGES/django.mo
inflating: pyload/locale/de/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/de/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/de/LC_MESSAGES/setup.mo
inflating: pyload/locale/de/LC_MESSAGES/pyLoad.mo
inflating: pyload/locale/setup.pot
creating: pyload/locale/es/
creating: pyload/locale/es/LC_MESSAGES/
inflating: pyload/locale/es/LC_MESSAGES/django.mo
inflating: pyload/locale/es/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/es/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/es/LC_MESSAGES/setup.mo
inflating: pyload/locale/es/LC_MESSAGES/pyLoad.mo
creating: pyload/locale/tr/
creating: pyload/locale/tr/LC_MESSAGES/
inflating: pyload/locale/tr/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/tr/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/tr/LC_MESSAGES/pyLoad.mo
inflating: pyload/locale/gui.pot
creating: pyload/locale/pl/
creating: pyload/locale/pl/LC_MESSAGES/
inflating: pyload/locale/pl/LC_MESSAGES/django.mo
inflating: pyload/locale/pl/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/pl/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/pl/LC_MESSAGES/setup.mo
inflating: pyload/locale/pl/LC_MESSAGES/pyLoad.mo
creating: pyload/locale/pt_BR/
creating: pyload/locale/pt_BR/LC_MESSAGES/
inflating: pyload/locale/pt_BR/LC_MESSAGES/django.mo
inflating: pyload/locale/pt_BR/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/pt_BR/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/pt_BR/LC_MESSAGES/setup.mo
inflating: pyload/locale/pt_BR/LC_MESSAGES/pyLoad.mo
inflating: pyload/locale/core.pot
creating: pyload/locale/ru/
creating: pyload/locale/ru/LC_MESSAGES/
inflating: pyload/locale/ru/LC_MESSAGES/django.mo
inflating: pyload/locale/ru/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/ru/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/ru/LC_MESSAGES/setup.mo
inflating: pyload/locale/ru/LC_MESSAGES/pyLoad.mo
creating: pyload/locale/cs/
creating: pyload/locale/cs/LC_MESSAGES/
inflating: pyload/locale/cs/LC_MESSAGES/django.mo
inflating: pyload/locale/cs/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/cs/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/cs/LC_MESSAGES/setup.mo
inflating: pyload/locale/cs/LC_MESSAGES/pyLoad.mo
creating: pyload/locale/nl/
creating: pyload/locale/nl/LC_MESSAGES/
inflating: pyload/locale/nl/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/nl/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/nl/LC_MESSAGES/pyLoad.mo
creating: pyload/locale/ro/
creating: pyload/locale/ro/LC_MESSAGES/
inflating: pyload/locale/ro/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/ro/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/ro/LC_MESSAGES/pyLoad.mo
creating: pyload/locale/fr/
creating: pyload/locale/fr/LC_MESSAGES/
inflating: pyload/locale/fr/LC_MESSAGES/django.mo
inflating: pyload/locale/fr/LC_MESSAGES/pyLoadCli.mo
inflating: pyload/locale/fr/LC_MESSAGES/pyLoadGui.mo
inflating: pyload/locale/fr/LC_MESSAGES/setup.mo
inflating: pyload/locale/fr/LC_MESSAGES/pyLoad.mo
inflating: pyload/locale/django.pot
inflating: pyload/locale/cli.pot
inflating: pyload/systemCheck.py
inflating: pyload/testlinks.txt
creating: pyload/icons/
extracting: pyload/icons/clipboard.png
extracting: pyload/icons/toolbar_start.png
extracting: pyload/icons/toolbar_remove.png
extracting: pyload/icons/abort.png
extracting: pyload/icons/logo-gui.png
extracting: pyload/icons/pull_small.png
extracting: pyload/icons/edit_small.png
extracting: pyload/icons/toolbar_add.png
inflating: pyload/icons/remove_small.png
extracting: pyload/icons/logo.png
inflating: pyload/icons/pyload-gui.ico
inflating: pyload/icons/pyload2.ico
extracting: pyload/icons/refresh1_small.png
inflating: pyload/icons/pyload.ico
extracting: pyload/icons/close.png
extracting: pyload/icons/add_small.png
extracting: pyload/icons/refresh_small.png
extracting: pyload/icons/toolbar_pause.png
extracting: pyload/icons/push_small.png
extracting: pyload/icons/toolbar_stop.png
inflating: pyload/README
inflating: pyload/pyLoadCore.py
inflating: pyload/pyLoadCli.py
creating: pyload/module/
inflating: pyload/module/CaptchaManager.py
creating: pyload/module/plugins/
inflating: pyload/module/plugins/Plugin.py
inflating: pyload/module/plugins/PluginStorage.py
inflating: pyload/module/plugins/Hoster.py
inflating: pyload/module/plugins/PluginManager.py
creating: pyload/module/plugins/captcha/
inflating: pyload/module/plugins/captcha/captcha.py
inflating: pyload/module/plugins/captcha/MegauploadCom.py
inflating: pyload/module/plugins/captcha/LinksaveIn.py
inflating: pyload/module/plugins/captcha/GigasizeCom.py
inflating: pyload/module/plugins/captcha/ShareonlineBiz.py
inflating: pyload/module/plugins/captcha/NetloadIn.py
extracting: pyload/module/plugins/captcha/__init__.py
inflating: pyload/module/plugins/Container.py
creating: pyload/module/plugins/hooks/
inflating: pyload/module/plugins/hooks/UnRar.py
inflating: pyload/module/plugins/hooks/ExternalScripts.py
inflating: pyload/module/plugins/hooks/RealdebridCom.py
inflating: pyload/module/plugins/hooks/RehostTo.py
inflating: pyload/module/plugins/hooks/CaptchaTrader.py
inflating: pyload/module/plugins/hooks/Ev0InFetcher.py
inflating: pyload/module/plugins/hooks/MultiHome.py
inflating: pyload/module/plugins/hooks/XMPPInterface.py
inflating: pyload/module/plugins/hooks/IRCInterface.py
inflating: pyload/module/plugins/hooks/ClickAndLoad.py
inflating: pyload/module/plugins/hooks/UpdateManager.py
inflating: pyload/module/plugins/hooks/HotFolder.py
extracting: pyload/module/plugins/hooks/__init__.py
inflating: pyload/module/plugins/hooks/MergeFiles.py
creating: pyload/module/plugins/crypter/
inflating: pyload/module/plugins/crypter/YoutubeBatch.py
inflating: pyload/module/plugins/crypter/SerienjunkiesOrg.py
inflating: pyload/module/plugins/crypter/CryptItCom.py
inflating: pyload/module/plugins/crypter/NetfolderIn.py
inflating: pyload/module/plugins/crypter/LinkSaveIn.py
inflating: pyload/module/plugins/crypter/LofCc.py
inflating: pyload/module/plugins/crypter/NCryptIn.py
inflating: pyload/module/plugins/crypter/OneKhDe.py
inflating: pyload/module/plugins/crypter/HotfileFolderCom.py
inflating: pyload/module/plugins/crypter/SecuredIn.py
inflating: pyload/module/plugins/crypter/LixIn.py
inflating: pyload/module/plugins/crypter/RelinkUs.py
inflating: pyload/module/plugins/crypter/DDLMusicOrg.py
inflating: pyload/module/plugins/crypter/StealthTo.py
inflating: pyload/module/plugins/crypter/RSLayerCom.py
inflating: pyload/module/plugins/crypter/ShareLinksBiz.py
inflating: pyload/module/plugins/crypter/HoerbuchIn.py
extracting: pyload/module/plugins/crypter/__init__.py
inflating: pyload/module/plugins/crypter/FourChanOrg.py
inflating: pyload/module/plugins/ReCaptcha.py
creating: pyload/module/plugins/hoster/
inflating: pyload/module/plugins/hoster/FilesMailRu.py
inflating: pyload/module/plugins/hoster/UploadingCom.py
inflating: pyload/module/plugins/hoster/BasePlugin.py
inflating: pyload/module/plugins/hoster/PornhostCom.py
inflating: pyload/module/plugins/hoster/Xdcc.py
inflating: pyload/module/plugins/hoster/VeehdCom.py
inflating: pyload/module/plugins/hoster/YourfilesTo.py
inflating: pyload/module/plugins/hoster/ShareCx.py
inflating: pyload/module/plugins/hoster/MegavideoCom.py
inflating: pyload/module/plugins/hoster/FourSharedCom.py
inflating: pyload/module/plugins/hoster/WuploadCom.py
inflating: pyload/module/plugins/hoster/RealdebridCom.py
inflating: pyload/module/plugins/hoster/FileserveCom.py
inflating: pyload/module/plugins/hoster/RehostTo.py
inflating: pyload/module/plugins/hoster/YoupornCom.py
inflating: pyload/module/plugins/hoster/X7To.py
inflating: pyload/module/plugins/hoster/BitshareCom.py
inflating: pyload/module/plugins/hoster/FilefactoryCom.py
inflating: pyload/module/plugins/hoster/FileApeCom.py
inflating: pyload/module/plugins/hoster/MegauploadCom.py
inflating: pyload/module/plugins/hoster/EasyShareCom.py
inflating: pyload/module/plugins/hoster/YoutubeCom.py
inflating: pyload/module/plugins/hoster/ArchivTo.py
inflating: pyload/module/plugins/hoster/DlFreeFr.py
inflating: pyload/module/plugins/hoster/StorageTo.py
inflating: pyload/module/plugins/hoster/MyvideoDe.py
inflating: pyload/module/plugins/hoster/FilesonicCom.py
inflating: pyload/module/plugins/hoster/UploadedTo.py
inflating: pyload/module/plugins/hoster/RapidshareCom.py
inflating: pyload/module/plugins/hoster/ShragleCom.py
inflating: pyload/module/plugins/hoster/Ftp.py
inflating: pyload/module/plugins/hoster/UploadStationCom.py
inflating: pyload/module/plugins/hoster/ZippyshareCom.py
inflating: pyload/module/plugins/hoster/DepositfilesCom.py
inflating: pyload/module/plugins/hoster/ShareonlineBiz.py
inflating: pyload/module/plugins/hoster/RedtubeCom.py
inflating: pyload/module/plugins/hoster/HotfileCom.py
inflating: pyload/module/plugins/hoster/OneFichierCom.py
inflating: pyload/module/plugins/hoster/NetloadIn.py
extracting: pyload/module/plugins/hoster/__init__.py
inflating: pyload/module/plugins/hoster/PornhubCom.py
inflating: pyload/module/plugins/hoster/ZShareNet.py
inflating: pyload/module/plugins/hoster/FreakshareCom.py
creating: pyload/module/plugins/accounts/
inflating: pyload/module/plugins/accounts/FilesMailRu.py
inflating: pyload/module/plugins/accounts/UploadingCom.py
inflating: pyload/module/plugins/accounts/ShareCx.py
inflating: pyload/module/plugins/accounts/WuploadCom.py
inflating: pyload/module/plugins/accounts/RealdebridCom.py
inflating: pyload/module/plugins/accounts/FileserveCom.py
inflating: pyload/module/plugins/accounts/RehostTo.py
inflating: pyload/module/plugins/accounts/X7To.py
inflating: pyload/module/plugins/accounts/BitshareCom.py
inflating: pyload/module/plugins/accounts/MegauploadCom.py
inflating: pyload/module/plugins/accounts/FilesonicCom.py
inflating: pyload/module/plugins/accounts/UploadedTo.py
inflating: pyload/module/plugins/accounts/RapidshareCom.py
inflating: pyload/module/plugins/accounts/DepositfilesCom.py
inflating: pyload/module/plugins/accounts/ShareonlineBiz.py
inflating: pyload/module/plugins/accounts/HotfileCom.py
inflating: pyload/module/plugins/accounts/NetloadIn.py
extracting: pyload/module/plugins/accounts/__init__.py
inflating: pyload/module/plugins/accounts/FreakshareCom.py
creating: pyload/module/plugins/container/
inflating: pyload/module/plugins/container/RSDF.py
inflating: pyload/module/plugins/container/DLC_27.pyc
inflating: pyload/module/plugins/container/CCF.py
inflating: pyload/module/plugins/container/DLC_25.pyc
inflating: pyload/module/plugins/container/DLC_26.pyc
inflating: pyload/module/plugins/container/LinkList.py
extracting: pyload/module/plugins/container/__init__.py
inflating: pyload/module/plugins/Crypter.py
inflating: pyload/module/plugins/Hook.py
extracting: pyload/module/plugins/__init__.py
inflating: pyload/module/plugins/Account.py
inflating: pyload/module/plugins/AccountManager.py
creating: pyload/module/config/
inflating: pyload/module/config/gui_default.xml
inflating: pyload/module/config/default.conf
creating: pyload/module/remote/
creating: pyload/module/remote/thriftbackend/
inflating: pyload/module/remote/thriftbackend/generateThrift.sh
inflating: pyload/module/remote/thriftbackend/ThriftClient.py
inflating: pyload/module/remote/thriftbackend/Socket.py
creating: pyload/module/remote/thriftbackend/thriftgen/
creating: pyload/module/remote/thriftbackend/thriftgen/pyload/
inflating: pyload/module/remote/thriftbackend/thriftgen/pyload/constants.py
inflating: pyload/module/remote/thriftbackend/thriftgen/pyload/ttypes.py
inflating: pyload/module/remote/thriftbackend/thriftgen/pyload/Pyload.py
inflating: pyload/module/remote/thriftbackend/thriftgen/pyload/Pyload-remote
inflating: pyload/module/remote/thriftbackend/thriftgen/pyload/__init__.py
extracting: pyload/module/remote/thriftbackend/thriftgen/__init__.py
inflating: pyload/module/remote/thriftbackend/Processor.py
inflating: pyload/module/remote/thriftbackend/ThriftTest.py
inflating: pyload/module/remote/thriftbackend/pyload.thrift
extracting: pyload/module/remote/thriftbackend/__init__.py
inflating: pyload/module/remote/thriftbackend/Protocol.py
inflating: pyload/module/remote/thriftbackend/Transport.py
inflating: pyload/module/remote/thriftbackend/Handler.py
inflating: pyload/module/remote/XMLRPCBackend.py
inflating: pyload/module/remote/ThriftBackend.py
inflating: pyload/module/remote/RemoteManager.py
extracting: pyload/module/remote/__init__.py
creating: pyload/module/database/
inflating: pyload/module/database/UserDatabase.py
inflating: pyload/module/database/DatabaseBackend.py
inflating: pyload/module/database/FileDatabase.py
inflating: pyload/module/database/__init__.py
inflating: pyload/module/database/StorageDatabase.py
creating: pyload/module/web/
inflating: pyload/module/web/pyload_app.py
creating: pyload/module/web/servers/
inflating: pyload/module/web/servers/lighttpd_default.conf
inflating: pyload/module/web/servers/nginx_default.conf
creating: pyload/module/web/media/
creating: pyload/module/web/media/img/
inflating: pyload/module/web/media/img/favicon.ico
creating: pyload/module/web/media/default/
creating: pyload/module/web/media/default/img/
extracting: pyload/module/web/media/default/img/head-menu-development.png
extracting: pyload/module/web/media/default/img/head-search-noshadow.png
extracting: pyload/module/web/media/default/img/control_pause_blue.png
extracting: pyload/module/web/media/default/img/add_folder.png
extracting: pyload/module/web/media/default/img/control_stop.png
inflating: pyload/module/web/media/default/img/tabs-border-bottom.png
extracting: pyload/module/web/media/default/img/status_offline.png
extracting: pyload/module/web/media/default/img/head-menu-index.png
extracting: pyload/module/web/media/default/img/parseUri.png
extracting: pyload/module/web/media/default/img/control_stop_blue.png
extracting: pyload/module/web/media/default/img/arrow_right.png
extracting: pyload/module/web/media/default/img/pencil.png
inflating: pyload/module/web/media/default/img/body.png
extracting: pyload/module/web/media/default/img/control_pause.png
extracting: pyload/module/web/media/default/img/head-menu-config.png
extracting: pyload/module/web/media/default/img/big_button_over.gif
extracting: pyload/module/web/media/default/img/page-tools-backlinks.png
extracting: pyload/module/web/media/default/img/page-tools-edit.png
inflating: pyload/module/web/media/default/img/user-info.png
extracting: pyload/module/web/media/default/img/control_cancel_blue.png
extracting: pyload/module/web/media/default/img/head-menu-news.png
extracting: pyload/module/web/media/default/img/control_add.png
extracting: pyload/module/web/media/default/img/folder.png
extracting: pyload/module/web/media/default/img/head-menu-home.png
extracting: pyload/module/web/media/default/img/head-menu-recent.png
extracting: pyload/module/web/media/default/img/status_downloading.png
extracting: pyload/module/web/media/default/img/cog.png
extracting: pyload/module/web/media/default/img/status_proc.png
extracting: pyload/module/web/media/default/img/user-actions-profile.png
extracting: pyload/module/web/media/default/img/images.png
extracting: pyload/module/web/media/default/img/head-login.png
extracting: pyload/module/web/media/default/img/head-menu-collector.png
extracting: pyload/module/web/media/default/img/head-menu-wiki.png
extracting: pyload/module/web/media/default/img/button.png
extracting: pyload/module/web/media/default/img/head-menu-queue.png
inflating: pyload/module/web/media/default/img/head_bg1.png
extracting: pyload/module/web/media/default/img/arrow_refresh.png
extracting: pyload/module/web/media/default/img/error.png
extracting: pyload/module/web/media/default/img/notice.png
extracting: pyload/module/web/media/default/img/control_play.png
inflating: pyload/module/web/media/default/img/status_None.png
inflating: pyload/module/web/media/default/img/status_queue.png
extracting: pyload/module/web/media/default/img/package_go.png
extracting: pyload/module/web/media/default/img/success.png
inflating: pyload/module/web/media/default/img/tab-background.png
extracting: pyload/module/web/media/default/img/reconnect.png
extracting: pyload/module/web/media/default/img/pyload-logo-edited3.5-new-font-small.png
inflating: pyload/module/web/media/default/img/big_button.gif
inflating: pyload/module/web/media/default/img/ajax-loader.gif
extracting: pyload/module/web/media/default/img/closebtn.gif
extracting: pyload/module/web/media/default/img/status_failed.png
extracting: pyload/module/web/media/default/img/control_cancel.png
extracting: pyload/module/web/media/default/img/status_waiting.png
inflating: pyload/module/web/media/default/img/page-tools-revisions.png
extracting: pyload/module/web/media/default/img/drag_corner.gif
extracting: pyload/module/web/media/default/img/control_add_blue.png
extracting: pyload/module/web/media/default/img/status_finished.png
extracting: pyload/module/web/media/default/img/user-actions-logout.png
extracting: pyload/module/web/media/default/img/head-menu-download.png
extracting: pyload/module/web/media/default/img/delete.png
inflating: pyload/module/web/media/default/img/full.png
extracting: pyload/module/web/media/default/img/control_play_blue.png
creating: pyload/module/web/media/default/css/
inflating: pyload/module/web/media/default/css/default.css
inflating: pyload/module/web/media/default/css/pathchooser.css
inflating: pyload/module/web/media/default/css/log.css
inflating: pyload/module/web/media/default/css/window.css
creating: pyload/module/web/media/default/js/
inflating: pyload/module/web/media/default/js/MooDropMenu.js
inflating: pyload/module/web/media/default/js/status.js
inflating: pyload/module/web/media/default/js/mootools-core-1.3.1.js
inflating: pyload/module/web/media/default/js/purr.js
inflating: pyload/module/web/media/default/js/settings_ui.js
inflating: pyload/module/web/media/default/js/funktions.js
inflating: pyload/module/web/media/default/js/tinytab.js
inflating: pyload/module/web/media/default/js/mootools-more-1.3.1.1.js
inflating: pyload/module/web/json_app.py
inflating: pyload/module/web/middlewares.py
creating: pyload/module/web/templates/
inflating: pyload/module/web/templates/500.html
creating: pyload/module/web/templates/default/
inflating: pyload/module/web/templates/default/home.html
inflating: pyload/module/web/templates/default/folder.html
inflating: pyload/module/web/templates/default/package_ui.js
inflating: pyload/module/web/templates/default/settings_item.html
inflating: pyload/module/web/templates/default/queue.html
inflating: pyload/module/web/templates/default/pathchooser.html
inflating: pyload/module/web/templates/default/filemanager.html
inflating: pyload/module/web/templates/default/rename_directory.html
inflating: pyload/module/web/templates/default/logs.html
inflating: pyload/module/web/templates/default/settings.html
inflating: pyload/module/web/templates/default/captcha.html
inflating: pyload/module/web/templates/default/downloads.html
inflating: pyload/module/web/templates/default/base.html
inflating: pyload/module/web/templates/default/collector.html
inflating: pyload/module/web/templates/default/filemanager_ui.js
inflating: pyload/module/web/templates/default/setup.html
inflating: pyload/module/web/templates/default/edit_package.html
inflating: pyload/module/web/templates/default/logout.html
inflating: pyload/module/web/templates/default/admin.html
inflating: pyload/module/web/templates/default/info.html
inflating: pyload/module/web/templates/default/login.html
inflating: pyload/module/web/templates/default/window.html
inflating: pyload/module/web/ServerThread.py
inflating: pyload/module/web/cnl_app.py
inflating: pyload/module/web/filters.py
inflating: pyload/module/web/webinterface.py
extracting: pyload/module/web/__init__.py
inflating: pyload/module/web/utils.py
inflating: pyload/module/InitHomeDir.py
creating: pyload/module/gui/
inflating: pyload/module/gui/Connector.py
inflating: pyload/module/gui/Queue.py
inflating: pyload/module/gui/Collector.py
inflating: pyload/module/gui/CNLServer.py
inflating: pyload/module/gui/XMLParser.py
inflating: pyload/module/gui/MainWindow.py
inflating: pyload/module/gui/LinkDock.py
inflating: pyload/module/gui/CoreConfigParser.py
inflating: pyload/module/gui/Accounts.py
inflating: pyload/module/gui/ConnectionManager.py
inflating: pyload/module/gui/AccountEdit.py
inflating: pyload/module/gui/Overview.py
inflating: pyload/module/gui/SettingsWidget.py
inflating: pyload/module/gui/CaptchaDock.py
extracting: pyload/module/gui/__init__.py
inflating: pyload/module/gui/PackageDock.py
inflating: pyload/module/ConfigParser.py
inflating: pyload/module/PyPackage.py
inflating: pyload/module/Progress.py
creating: pyload/module/network/
inflating: pyload/module/network/HTTPChunk.py
inflating: pyload/module/network/FTPBase.py
inflating: pyload/module/network/HTTPDownload.py
inflating: pyload/module/network/HTTPRequest.py
inflating: pyload/module/network/RequestFactory.py
inflating: pyload/module/network/Bucket.py
inflating: pyload/module/network/CookieJar.py
inflating: pyload/module/network/Browser.py
extracting: pyload/module/network/__init__.py
inflating: pyload/module/network/XDCCRequest.py
creating: pyload/module/common/
inflating: pyload/module/common/JsEngine.py
inflating: pyload/module/common/APIExerciser.py
extracting: pyload/module/common/__init__.py
inflating: pyload/module/PluginThread.py
inflating: pyload/module/ThreadManager.py
inflating: pyload/module/Scheduler.py
inflating: pyload/module/forwarder.py
inflating: pyload/module/unescape.py
inflating: pyload/module/PullEvents.py
inflating: pyload/module/PyFile.py
inflating: pyload/module/debug.py
inflating: pyload/module/HookManager.py
creating: pyload/module/cli/
inflating: pyload/module/cli/AddPackage.py
inflating: pyload/module/cli/printer.py
inflating: pyload/module/cli/ManageFiles.py
inflating: pyload/module/cli/__init__.py
inflating: pyload/module/cli/Handler.py
extracting: pyload/module/__init__.py
inflating: pyload/module/utils.py
inflating: pyload/module/setup.py
creating: pyload/module/lib/
creating: pyload/module/lib/jinja2/
inflating: pyload/module/lib/jinja2/ext.py
creating: pyload/module/lib/jinja2/_markupsafe/
inflating: pyload/module/lib/jinja2/_markupsafe/_bundle.py
inflating: pyload/module/lib/jinja2/_markupsafe/_native.py
inflating: pyload/module/lib/jinja2/_markupsafe/_constants.py
inflating: pyload/module/lib/jinja2/_markupsafe/tests.py
inflating: pyload/module/lib/jinja2/_markupsafe/__init__.py
inflating: pyload/module/lib/jinja2/lexer.py
inflating: pyload/module/lib/jinja2/optimizer.py
inflating: pyload/module/lib/jinja2/compiler.py
inflating: pyload/module/lib/jinja2/sandbox.py
inflating: pyload/module/lib/jinja2/meta.py
inflating: pyload/module/lib/jinja2/runtime.py
inflating: pyload/module/lib/jinja2/nodes.py
inflating: pyload/module/lib/jinja2/parser.py
inflating: pyload/module/lib/jinja2/loaders.py
inflating: pyload/module/lib/jinja2/constants.py
inflating: pyload/module/lib/jinja2/tests.py
inflating: pyload/module/lib/jinja2/visitor.py
inflating: pyload/module/lib/jinja2/bccache.py
inflating: pyload/module/lib/jinja2/debug.py
inflating: pyload/module/lib/jinja2/filters.py
inflating: pyload/module/lib/jinja2/defaults.py
inflating: pyload/module/lib/jinja2/exceptions.py
inflating: pyload/module/lib/jinja2/_stringdefs.py
inflating: pyload/module/lib/jinja2/__init__.py
inflating: pyload/module/lib/jinja2/utils.py
inflating: pyload/module/lib/jinja2/environment.py
inflating: pyload/module/lib/pyunrar.py
creating: pyload/module/lib/simplejson/
inflating: pyload/module/lib/simplejson/encoder.py
inflating: pyload/module/lib/simplejson/decoder.py
inflating: pyload/module/lib/simplejson/.___init__.py
inflating: pyload/module/lib/simplejson/._decoder.py
inflating: pyload/module/lib/simplejson/scanner.py
inflating: pyload/module/lib/simplejson/tool.py
inflating: pyload/module/lib/simplejson/._scanner.py
inflating: pyload/module/lib/simplejson/ordered_dict.py
inflating: pyload/module/lib/simplejson/__init__.py
creating: pyload/module/lib/beaker/
inflating: pyload/module/lib/beaker/converters.py
creating: pyload/module/lib/beaker/crypto/
inflating: pyload/module/lib/beaker/crypto/pycrypto.py
inflating: pyload/module/lib/beaker/crypto/util.py
inflating: pyload/module/lib/beaker/crypto/pbkdf2.py
inflating: pyload/module/lib/beaker/crypto/jcecrypto.py
inflating: pyload/module/lib/beaker/crypto/__init__.py
inflating: pyload/module/lib/beaker/util.py
inflating: pyload/module/lib/beaker/container.py
creating: pyload/module/lib/beaker/ext/
inflating: pyload/module/lib/beaker/ext/google.py
inflating: pyload/module/lib/beaker/ext/database.py
inflating: pyload/module/lib/beaker/ext/sqla.py
extracting: pyload/module/lib/beaker/ext/__init__.py
inflating: pyload/module/lib/beaker/ext/memcached.py
inflating: pyload/module/lib/beaker/cache.py
inflating: pyload/module/lib/beaker/middleware.py
inflating: pyload/module/lib/beaker/session.py
inflating: pyload/module/lib/beaker/synchronization.py
inflating: pyload/module/lib/beaker/exceptions.py
extracting: pyload/module/lib/beaker/__init__.py
inflating: pyload/module/lib/BeautifulSoup.py
inflating: pyload/module/lib/Getch.py
inflating: pyload/module/lib/bottle.py
inflating: pyload/module/lib/Unzip.py
inflating: pyload/module/lib/SafeEval.py
creating: pyload/module/lib/wsgiserver/
inflating: pyload/module/lib/wsgiserver/__init__.py
inflating: pyload/module/lib/wsgiserver/LICENSE.txt
inflating: pyload/module/lib/MultipartPostHandler.py
extracting: pyload/module/lib/__init__.py
creating: pyload/module/lib/thrift/
creating: pyload/module/lib/thrift/transport/
inflating: pyload/module/lib/thrift/transport/TTwisted.py
inflating: pyload/module/lib/thrift/transport/THttpClient.py
inflating: pyload/module/lib/thrift/transport/TTransport.py
inflating: pyload/module/lib/thrift/transport/TSocket.py
inflating: pyload/module/lib/thrift/transport/__init__.py
inflating: pyload/module/lib/thrift/Thrift.py
inflating: pyload/module/lib/thrift/TSerialization.py
inflating: pyload/module/lib/thrift/TSCons.py
creating: pyload/module/lib/thrift/protocol/
inflating: pyload/module/lib/thrift/protocol/TBinaryProtocol.py
inflating: pyload/module/lib/thrift/protocol/TCompactProtocol.py
inflating: pyload/module/lib/thrift/protocol/TProtocol.py
inflating: pyload/module/lib/thrift/protocol/__init__.py
creating: pyload/module/lib/thrift/server/
inflating: pyload/module/lib/thrift/server/THttpServer.py
inflating: pyload/module/lib/thrift/server/TNonblockingServer.py
inflating: pyload/module/lib/thrift/server/TServer.py
inflating: pyload/module/lib/thrift/server/__init__.py
inflating: pyload/module/lib/thrift/__init__.py
inflating: pyload/module/lib/feedparser.py
inflating: pyload/module/lib/SecureXMLRPCServer.py

DiskStation> rm pyload-src-v0.4.6.zip

If you did a backup of your configuration folder, restore it to its original location

DiskStation> mv /usr/local/config /usr/local/pyload

Warning: the next command uses a double dash (–). Due to limitations on WordPress, it will replace the dash as a singular one. If you paste it directly to your terminal, check if you are pasting as double dash and not as .- (dot dash)

Set a new configuration directory

DiskStation> python /usr/local/pyload/pyLoadCore.py —-changedir —-configdir=/usr/local/pyload/config
Setting new configpath, current configuration will not be transfered!
Configpath [/usr/local/pyload/config]:
Configpath changed, setup will now close, please restart to go on.
Press Enter to exit.

Create a share called download (all in small caps) going to Control Panel -> Shared Folder. Click on the button Create and on the Name field put download and click on the OK button

Then run the setup

DiskStation> python /usr/local/pyload/pyLoadCore.py -s
Choose your Language / Wähle deine Sprache ([en], de, fr, it, es, ru, pl, cs, pt_BR):

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-OpenSSL: OK

py-imaging: OK
tesseract: OK

PyQt4: missing

jinja2: OK
beaker: 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):

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

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

## Basic Setup ##

The following logindata is valid for CLI, GUI and webinterface.
Username [User]: admin
Password: synology
Password (again): synology

Language ([en], de, fr, it, es, ru, pl, cs, pt_BR):
Downloadfolder [Downloads]: /volume1/download
Max parallel downloads [3]:
Use Reconnect? (y/[n]):

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

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

## Webinterface Setup ##

Activate webinterface? ([y]/n):

Listen address, if you use 127.0.0.1 or localhost, the webinterface will only accessible locally.
Address [0.0.0.0]:
Port [8000]: 5003 (You can set it to default 8000. If you set it to 5003, after you download the file on the next step, edit /usr/syno/synoman/webman/3rdparty/pyload/application.cfg and change port 8000 to 5003)

pyLoad offers several server backends, now following a short explanation.
builtin: Default server, best choice if you dont know which one to choose.
threaded: This server offers SSL and is a good alternative to builtin.
fastcgi: Can be used by apache, lighttpd, requires you to configure them, which is not too easy job.
lightweight: Very fast alternative written in C, requires libev and linux knowlegde.
Get it from here: https://github.com/jonashaag/bjoern, compile it
and copy bjoern.so to module/lib

Attention: In some rare cases the builtin server is not working, if you notice problems with the webinterface
come back here and change the builtin server to the threaded one here.
Server ([builtin], threaded, fastcgi, lightweight):

Setup finished successfully.
Hit enter to exit and restart pyLoad

Run the script pyLoadCore as a daemon

DiskStation> python /usr/local/pyload/pyLoadCore.py —-daemon
Daemon PID 31386

Change to directory /usr/local/etc/rc.d. We will be installing a script to start pyLoad automatically at boot time

DiskStation> cd /usr/local/etc/rc.d/
DiskStation> wget http://dl.dropbox.com/u/3001640/pyLoadCore.sh
–2011-04-10 16:51:54– http://dl.dropbox.com/u/3001640/pyLoadCore.sh
Resolving dl.dropbox.com… 50.17.188.103
Connecting to dl.dropbox.com|50.17.188.103|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 1229 (1.2K) [text/x-sh]
Saving to: `pyLoadCore.sh’

100%[======================================>] 1,229 –.-K/s in 0s

2011-04-10 16:51:55 (30.6 MB/s) – `pyLoadCore.sh’ saved [1229/1229]

DiskStation>chmod 755 pyLoadCore.sh

Now go to the directory /usr/syno/synoman/webman/3rdparty and download and extract some files that will integrate pyLoad into the DSM

DiskStation> cd /usr/syno/synoman/webman/3rdparty

DiskStation> wget http://dl.dropbox.com/u/3001640/webman.pyload.tar.gz
–2011-04-10 17:24:11– http://dl.dropbox.com/u/3001640/webman.pyload.tar.gz
Resolving dl.dropbox.com… 184.72.245.175
Connecting to dl.dropbox.com|184.72.245.175|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 3227 (3.2K) [application/x-tar]
Saving to: `webman.pyload.tar.gz’

100%[======================================>] 3,227 –.-K/s in 0.009s

2011-04-10 17:24:12 (366 KB/s) – `webman.pyload.tar.gz’ saved [3227/3227]

DiskStation> gunzip webman.pyload.tar.gz
DiskStation> tar xvf webman.pyload.tar
pyload/
pyload/images/
pyload/images/icon32.png
pyload/images/icon16.png
pyload/application.cfg
DiskStation> rm webman.pyload.tar

The final result will be like in the picture below

Edit: Replaced port 8000 to 5003 because some Internet providers block port 8000 so that you’ll have less problems connecting remotely. Thanks for the feedback.

Edit: Removed the capital letter on pyload on path /usr/syno/synoman/webman/3rdparty/pyload/application.cfg

52 Responses to “How to install pyLoad on a Synology DiskStation DS211j”

  1. bizzio40 said

    Hi,I write from Italy I read your guide and is very very good,my problem is that when I click on pyload icon on home of dsm 3.1 give me an error the page is unreachable .
    I have open the port 8000 on my firewall and my router.
    please I can help me?
    Thanks regards Fabrizio

  2. gixy001 said

    Hi,
    After some days of good functionning, same problem than Fabrizio here. Tried to re-setup but nothing changes. Seems to have no daemon running: I don’t find the PID in the ps list after running pyLoadCore.py
    Any idea? (I’m not trying to access pyLoad from outside of my home network, but from DSM 3.1, or from Firefox directly to IP@:8000)
    Thanks for your help
    Denis

    • Start pyloadCore.py with – -daemon. Then check with ps | grep -i pyload

      When starting, look for any strange message that appears

      • gixy001 said

        “python pyLOadCore.py –status” returns False. “python pyLoadCore.py” gives this:
        09.05.2011 01:32:38 INFO Using home directory: /usr/local/pyload/config
        Traceback (most recent call last):
        File “/usr/local/pyload/pyLoadCore.py”, line 897, in
        pyload_core.start()
        File “/usr/local/pyload/pyLoadCore.py”, line 289, in start
        self.writePidFile()
        File “/usr/local/pyload/pyLoadCore.py”, line 172, in writePidFile
        f = open(self.pidfile, “wb”)
        IOError: [Errno 13] Permission denied: ‘pyload.pid’

        • Adjust the permissions of directory /usr/local/pyload/config and the file /usr/local/pyload/config/pyload.pid accordingly

          • gixy001 said

            Hi,
            Checked and no change. pyload.pid cause an error as there is no such process running. PIDs are in /var/run, no pyload.pid there.
            What is incredible is that it worked 10 days ago… That makes me crazy!
            Wrote a message to pyload.org: no answer yet.
            Thanks for your help

            • Why your setup creates the PID on /var/run? On my setup it creates the pyload.pid inside /usr/local/pyload/config

              • gixy001 said

                In fact I found PIDs files in /var/run but didn’t find any “pyload.pid” anywhere. The script crashes when opening pyload.pid (I put traces in the script), but I don’t know where it tries to create it. If it is in /usr/local/pyload/config, it should work as this directory has 755 attribute and I’m logged as root.

              • gixy001 said

                Got it! Changed attribute of config dir to 777 and now it works! Don’t know how it worked before but anyway… Thanks for your support Emerson.

  3. hi

    Installed everything interface is up but it seems that it doesnt have a connection to the internet, error log shows>

    DiskStation> python pyLoadCore.py
    12.06.2011 20:43:01 INFO Using home directory: /root/.pyload
    12.06.2011 20:43:05 INFO HotFolder loaded, activated False
    12.06.2011 20:43:05 INFO ExternalScripts loaded, activated True
    12.06.2011 20:43:05 INFO UpdateManager loaded, activated True
    12.06.2011 20:43:05 INFO UnRar loaded, activated False
    12.06.2011 20:43:05 INFO ClickAndLoad loaded, activated True
    12.06.2011 20:43:05 INFO IRCInterface loaded, activated False
    12.06.2011 20:43:05 INFO CaptchaTrader loaded, activated True
    12.06.2011 20:43:05 INFO Downloadtime: True
    12.06.2011 20:43:06 INFO Starting ThriftBackend: 0.0.0.0:7227
    12.06.2011 20:43:15 INFO Free space: 1.47 GiB
    12.06.2011 20:43:15 INFO Starting builtin webserver: 192.168.1.35:8000
    12.06.2011 20:43:17 WARNING Could not login with FilesonicCom account xxx
    xxxxx | (7, ‘Failed to connect to 78.140.163.15: Invalid argument’)
    12.06.2011 20:43:18 WARNING Not able to connect server for updates
    12.06.2011 20:43:18 WARNING Not able to connect server for updates
    12.06.2011 20:43:18 INFO No plugin updates available

    Any ideas

    thanks

  4. no didn’t work… here what I got:

    DiskStation> curl http://www.google.com/
    curl: (7) Failed to connect to 74.125.232.147: Invalid argument
    DiskStation>

  5. No way to make it work from DSM, but works fine from webinterface .Is it possible to uninstall? Just in case…
    THX a lot

  6. I set port 5003, as your recomendation. But I can’t make work the sentence in your red note “… -Port [8000]: 5003 (You can set it to default 8000. If you set it to 5003, after you download the file on the next step, edit /usr/syno/synoman/webman/3rdparty/pyLoad/application.cfg and change port 8000 to 5003)”… It doesn’t work at all… Is “edit” a valid argument? Sorry I’m not in touch with this kind of script… When I clic on pyLoad icon in may DSM I get this error “Firefox no puede establecer una conexión con el servidor en 192.168.1.119:8000.” As you can see, It still makes a reference to port 8000. Any idea???
    THX a lot!!!

  7. Emerson: This is what I get -(I am using Putty):
    login as: root
    root@192.168.1.119‘s password:

    BusyBox v1.16.1 (2011-06-07 14:04:58 CST) built-in shell (ash)
    Enter ‘help’ for a list of built-in commands.

    SERVER576> vi /usr/syno/synoman/webman/3rdparty/pyLoad/application.cfg

    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    - /usr/syno/synoman/webman/3rdparty/pyLoad/application.cfg 1/1 100%

    What do I have to do next???
    Sorry, but I’m not a programer, just an “avdance user” to be said, so be patient to me…
    Thanks in advance for your great help!!!

    • I know what happened. There is no file in this path you typed. Type vi /usr/syno/synoman/webman/3rdparty/pyload/application.cfg (small capital letter on pyload).

      I corrected the tutorial above with this note. Try again and I’m sure you will succeed

  8. It’s a fact that you’re a genius!!! I changed the port value and everything works great. So you achieve two things, solve the problem itself, but to make me learn vi… (I get the commands from wikipedia and it works fine…).
    Now I have my DS211j working to the top!
    Thanks you a lot for all your help!

  9. bridge42 said

    Hi Emerson,

    first of all: Thanks for your great tutorial!

    I already spent a lot of hours with installing IPKG and subsequently pyload. Yesterday I had it at the point that I could start pyload within the Synology DSM (pyload icon was successfully installed), but it would connect to the Internet (Error: Connection failed). Btw. I changed the port in the pyload application.cfg to 5003 as recommended.
    Now today I restarted the NAS and logged in via SSH in the Terminal (yes, I am a Mac user ;-) ). Now seemingly IPKG and python are not even installed anymore (“not found”)! :(

    Do you have any suggestions what I can do? Help is very much appreciated!

    Thanks, Daniel

    • Check which filesystems do you have mounted after you rebooted.
      DiskStation> df -h
      Filesystem Size Used Available Use% Mounted on
      /dev/md0 2.3G 646.9M 1.6G 28% /
      /tmp 57.9M 580.0K 57.3M 1% /tmp
      /dev/vg1/lv 1.8T 325.8G 1.5T 18% /volume1
      /volume1/@optware 1.8T 325.8G 1.5T 18% /opt

      Go to /volume1/@optware and check if there is any files there
      DiskStation> ls
      bin include ipkg-KkMf0a lib man var
      doc info ipkg-VRQdCD libexec share
      etc ipkg-J71ILc ipkg-fq2h0T local tmp

      • bridge42 said

        Seemingly /volume/@optware is not mounted. This is my output:

        DiskStation> df -h
        Filesystem Size Used Available Use% Mounted on
        /dev/md0 2.3G 477.2M 1.8G 21% /
        /tmp 249.7M 332.0K 249.4M 0% /tmp
        /dev/md2 3.6T 442.6G 3.1T 12% /volume1

        DiskStation> ls
        bin etc lib man tmp
        doc include local share var

        What should I do now? I changed the startup script, maybe it does not work properly?
        How do I actually mount? The following does not work:

        DiskStation> mount @optware
        mount: can’t find @optware in /etc/fstab
        DiskStation> mount /opt
        mount: can’t find /opt in /etc/fstab
        DiskStation> mount /volume1/@optware
        mount: can’t find /volume1/@optware in /etc/fstab

        Thanks again,
        Daniel

        PS. I am anything but an expert for Terminal commands, sorry if my questions are to naive.. :-)

        • Check your DiskStation for the file /etc/rc.local. It has the script that mounts Optware on boot. You can copy the line below the # and execute it.

          DiskStation> cat /etc/rc.local
          #!/bin/sh

          # Optware setup
          [ -x /etc/rc.optware ] && /etc/rc.optware start

          exit 0

          • bridge42 said

            It finally works!!! :-)

            In fact, in my etc/rc.local script looked like this (the most important line was out commented with #!):

            DiskStation> cat /etc/rc.local
            #!/bin/sh

            # Optware setup
            #[ -x /etc/rc.optware ] && /etc/rc.optware start

            exit 0

            Now after starting optware and pyload (DiskStation> python /usr/local/pyload/pyLoadCore.py —-daemon) I could finally use the pyload GUI in my DSM to download files.

            Thanks again and keep up the good work!

            All the best,
            Daniel

          • bridge42 said

            Seems that I have cheered to early! :(

            What I did so far:
            I logged into the DSM as admin, tried to open pyload by clicking the pyload icon, but it would not connect to the Internet (Error: Connection failed).
            Then by SSH root login via Terminal I started the pyload daemon as suggested by you:

            DiskStation> python /usr/local/pyload/pyLoadCore.py —-daemon
            23.07.2011 23:07:47 INFO start pyLoad 0.4.6
            23.07.2011 23:07:47 INFO Use Home directory: /root/.pyload
            23.07.2011 23:07:48 INFO activated Plugins: CaptchaTrader, ClickAndLoad, ExternalScripts, UnRar, UpdateManager
            23.07.2011 23:07:48 INFO Deactivated Plugins: HotFolder, IRCInterface, RealdebridCom
            23.07.2011 23:07:48 INFO Download time: False
            23.07.2011 23:07:49 INFO Start ThriftBackend: 0.0.0.0:7227
            23.07.2011 23:07:49 INFO Free Space: 3.14 TiBGB
            23.07.2011 23:07:49 INFO Activate Accounts…
            23.07.2011 23:07:49 WARNING SSL certificates not found.
            23.07.2011 23:07:49 INFO Starting builtin webserver: 192.168.1.130:5003
            23.07.2011 23:07:54 INFO Activating Plugins…
            23.07.2011 23:07:54 INFO pyLoad is up and running
            23.07.2011 23:07:56 INFO No Updates for pyLoad
            23.07.2011 23:07:58 INFO No plugin updates available

            After that also the pyload GUI works flawlessly in the DSM.
            Unfortunately, once I exit or close the Terminal shell I get the connection failed error again!!!

            What should I do to keep pyload up and running regardless of SSH root login??

            Thanks again,
            Daniel

            • It seems that you’re copying and pasting from the post and it’s copying the long dash (—). When you start pyLoad, it should display only the PID of the process as we see below

              DiskStation> python /usr/local/pyload/pyLoadCore.py –daemon
              Daemon PID 19896
              DiskStation>

              See if it works

              • bridge42 said

                Once again, you found the weak spot!!! By using double dash now, it finally works! :-)

                Now that pyload finally works undisrupted, I have another issue with downloading from OCHs. I think it is more a pyload specific problem, strangely enough I have not found a solution neither in the pyload forum nor elsewhere. Since you have helped me so well thus far, I wanna hear your opinion about it..

                About every second or third file that I download from one-click hosters stops downloading at some point (e.g. at 12%, 64%, 33% finished download – random in my opinion!) and displays a ‘NaN undefined’ error message. After some seconds the file is struck from the download list and replaced by the next file that pyload then tries to download. In my download folder these unfinished files than appear as e.g. testfile.rar.chunk0, testfile.rar.chunk1 etc.!

                What do you think? Why does pyload not try to further download or reload these files?

                • Probably your DiskStation received a connection reset

                  File a bug on pyLoad forum describing the behaviour and try to take a screenshot
                  http://forum.pyload.org/viewforum.php?f=12&start=75

                  Go to the webinterface and click on the logs button (right of Config) and see the message that appears after you see this Nan undefined error.

                  Probably pyLoad doesn`t try to download the file because not all hosts support resuming your download (especially if you don’t have a premium account)

  10. Hi, I tried following your tutorial and i get an error saying “ImportError: no module named pycurl” when executing this command: python /usr/local/pyload/pyLoadCore.py —-changedir —-configdir=/usr/local/pyload/config. I replaced the single dash with a double dash but it still doesn’t work for me. Any Suggestions would help.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

Join 250 other followers