Any Chance to Get JDownloader to Work in unRAID?


hernandito

Recommended Posts

So got a little time to work on the guide............hope this works! I've tried to make it as complete and fool proof as possible with some explanation. If(when!) it goes wrong let me know what errors you get and i'll try to fix them.

 

1. Log into your unRAID server, I would recommend you do this remotely using puTTY or similar so you can copy and paste the commands. Logging in locally is fine but you'll have to type the commands ;)

 

2. We need to download 12 packages to get pyload working. The packages are downloaded using wget and saved to the 'packages' folder on your flash drive.

 

wget --directory-prefix=/boot/packages/ http://slackware.cs.utah.edu/pub/slackware/slackware-current/slackware/d/python-2.6.6-i486-1.txz
wget --directory-prefix=/boot/packages/ http://scxd.info/pub/packages/lib/pycurl-7.19.0-i686-2X.tgz
wget --directory-prefix=/boot/packages/ http://connie.slackware.com/~alien/slackbuilds/sqlite/pkg/12.1/sqlite-3.5.9-i486-1alien.tgz
wget --directory-prefix=/boot/packages/ http://get.gnomeslackbuild.org/gsb/gsb-2.30_slackware-13.1/gsb/l/pycrypto-2.0.1-i486-2gsb.txz
wget --directory-prefix=/boot/packages/ http://repository.slacky.eu/slackware-13.1/graphic/tesseract/3.00/tesseract-3.00-i486-1sl.txz
wget --directory-prefix=/boot/packages/ http://mirrors.dotsrc.org/slackware/slackware-current/slackware/n/curl-7.21.4-i486-1.txz
wget --directory-prefix=/boot/packages/ http://distro.ibiblio.org/pub/linux/distributions/zenwalk/i486/snapshot/l/libidn-1.19-i486-1.txz
wget --directory-prefix=/boot/packages/ http://slackware.cs.utah.edu/pub/slackware/slackware-13.1/slackware/n/openldap-client-2.4.21-i486-1.txz
wget --directory-prefix=/boot/packages/ http://ftp.belnet.be/packages/slackware//slackware-13.1/slackware/l/pil-1.1.7-i486-1.txz
wget --directory-prefix=/boot/packages/ http://repository.slacky.eu/slackware-12.1/libraries/spidermonkey/1.7.0/spidermonkey-1.7.0-i486-1ng.tgz
wget --directory-prefix=/boot/packages/ http://slackware.cs.utah.edu/pub/slackware/slackware-12.2/slackware/a/infozip-5.52-i486-2.tgz
wget --directory-prefix=/boot/packages/ http://connie.slackware.com/~alien/slackbuilds/unrar/pkg/13.1/unrar-3.9.10-i486-2alien.tgz

 

3. Once they've downloaded we need to install them. The 'installpkg' command looks in the 'packages' folder and installs the necessary files

 

installpkg /boot/packages/python-2.6.6-i486-1.txz
installpkg /boot/packages/pycurl-7.19.0-i686-2X.tgz
installpkg /boot/packages/sqlite-3.5.9-i486-1alien.tgz
installpkg /boot/packages/pycrypto-2.0.1-i486-2gsb.txz
installpkg /boot/packages/tesseract-3.00-i486-1sl.txz
installpkg /boot/packages/curl-7.21.4-i486-1.txz
installpkg /boot/packages/libidn-1.19-i486-1.txz
installpkg /boot/packages/openldap-client-2.4.21-i486-1.txz
installpkg /boot/packages/pil-1.1.7-i486-1.txz
installpkg /boot/packages/spidermonkey-1.7.0-i486-1ng.tgz
installpkg /boot/packages/infozip-5.52-i486-2.tgz
installpkg /boot/packages/unrar-3.9.10-i486-2alien.tgz

 

If you get any errors at this point please post them.

 

4. Assuming all of the above installed without a problem we can now download pyload. The code below once again uses wget to grab the file and will save it in a folder called 'temp' on your flash drive.

 

wget --directory-prefix=/boot/temp/ http://get.pyload.org/get/src/0.4.5/

 

5. We're now going to use the unzip package installed earlier to decompress the zip file. Here's where you need to know a little about your setup. If you have a cache drive and would like to install pyload there use the first line of code. If you don't have a cache drive you can still install pyload on a hard drive (to avoid excessive writes to your flash drive) you'll have to use the code in the second box........or beter still modify it to your liking. The code I've posted will install pyload to 'disk1' but there's no reason why you couldn't change that to 'disk2' 'disk3' (for example I use /mnt/disk2/ for all programs I don't want on my flash drive).

 

CACHE DRIVE

unzip /boot/temp/pyload-src-v0.4.5.zip -d /mnt/cache/

 

NON-CACHE DRIVE

unzip /boot/temp/pyload-src-v0.4.5.zip -d /mnt/disk1/

 

6. So the command above unzipped the pyload zip to a folder called 'pyload'. Just to tidy things up a little we're going to make this folder hidden by prefixing it with (fullstop/period). This is standard linux command line stuff :) I've kept the non-cache drive example as 'disk1' but remember to change it to 'disk2', 'disk3' etc if you installed to a different drive.

 

CACHE DRIVE

mv /mnt/cache/pyload /mnt/cache/.pyload

 

NON-CACHE DRIVE

mv /mnt/disk1/pyload /mnt/disk1/.pyload

 

7. Almost there now! So we've got all the required packages installed and downloaded and unzipped the pyload installation to the server. All that's left is to set up pyload and away we go (hopefully!). The command below will start pyload. Pyload will detect that its not been run before and launch the configuration tool. If you've not installed on disk1.....you know what to do  :P

 

CACHE DRIVE

python /mnt/cache/.pyload/pyLoadCore.py

 

NON-CACHE DRIVE

python /mnt/disk1/.pyload/pyLoadCore.py

 

8. Some tips on the setup.

 

a. After selecting your language (english is default) pyload will run a system check. It should return a result like this

 

## System Check ##

Python Version: OK

pycurl: OK

sqlite3: OK

 

pycrypto: OK

OpenSSL: OK

 

py-imaging: missing

tesseract: OK

 

PyQt4: missing

 

jinja2: OK

beaker: OK

JS engine: OK

 

b. py-imaging is required for captcha. The package installs fine but for some reason pyload isn't happy. Its a work in progress at this stage. Now working. Don't worry about pyQT4, its for the gui and not required for the web-interface.

 

c. Change the config path if its incorrect (it should be fine).

 

d. Create a basic login, something like 'root' or 'admin' with a strong password. Once the webinterface is up and running you can tweak things from there.

 

e. The downloads folder is fairly user specific. If you have a user share called 'downloads' the path will be /mnt/user/downloads but you'll have to modify this to suit your exact system.

 

f. The number of parallel downloads is fine as the default 3 but again this can be changed in the web-interface.

 

g. Reconnect tries to get a new IP after each download completes to avoid limits on free accounts. I'd recommend you leave it off.

 

h. If you want to configure SSL you're on your own for now. I will set it up at some stage but right now its off.

 

i. Web-interface config - Add the network IP address of your server ie. 192.168.1.101 rather than the default 0.0.0.0. Chose a port greater than 8000, it can be anything just remember it. I'd go for 8083 (since sickbeard and sabnzbd use 8081 and 8082 respectively).

 

Once you've done that the config is complete and you'll be asked to restart pyload. Just run the code in step 7 again

 

9. If everything went to plan pyload will fetch the latest plugins and install them automatically. You'll have to restart pyload once more. Kill it with ctrl+c then run the code in step 7.

 

10. If by some complete fluke everything has worked up to this point you should have a line in the output which says

 

Starting builtin webserver: 192.168.1.101:8083

 

.....or whatever IP address and port you used. All that's left is to point your favorite web browser at http://<your ip address>:<your port> and log in.

 

11. If you log out of unraid or close your ssh session, pyload will quit so once you've verified it runs and you can log in to the webinterface, kill it with ctrl+c then run the code below.

 

CACHE DRIVE

nohup python /mnt/cache/.pyload/pyLoadCore.py &

 

NON-CACHE DRIVE

nohup python /mnt/disk1/.pyload/pyLoadCore.py &

 

'nohup' writes all the outputs to a file (in case you need to troubleshoot) and the '&' (ampersand) runs pyload in the background so you can log out and it will still run.

 

****One final thing to note****

If you reboot you will probably have to install all the 'packages' again. The pyload folder and setup will be fine. Once we've got a guide that works I'll post up a modification for your 'go' script that will make the installation permanent.

 

Thanks to Choque for the updated packages

Link to comment
  • Replies 136
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

I got this error at step 7...

 

Help?

root@tower:~# python /mnt/cache/.pyload/pyLoadCore.py
Traceback (most recent call last):
  File "/mnt/cache/.pyload/pyLoadCore.py", line 46, in <module>
    from module.HookManager import HookManager
  File "/mnt/cache/.pyload/module/HookManager.py", line 23, in <module>
    from module.PluginThread import HookThread
  File "/mnt/cache/.pyload/module/PluginThread.py", line 32, in <module>
    from pycurl import error
ImportError: libcurl.so.4: cannot open shared object file: No such file or directory
root@tow

Link to comment
root@tower:~# python /mnt/cache/.pyload/systemCheck.py
#####   System Information   #####

('Platform:', 'linux2')
('Operating System:', 'posix')
('Python:', '2.6.6 (r266:84292, Nov 27 2010, 19:47:39) [GCC 4.5.1]\n')
('pycurl:', 'missing')
('py-crypto:', '2.0.1')
('OpenSSL:', '0.10')
('image libary:', 'missing')
('pyqt:', 'missing')


#####   System Status   #####

##  pyLoadCore  ##
The system check has detected some errors:

Please install py-curl to use pyLoad.
Your py-curl version is to old, please upgrade!
Please install py-imaging/pil to use Hoster, which uses captchas.

##  pyLoadGui  ##
The system check has detected some errors:

GUI won't work without pyqt4 !!

##  Webinterface  ##
No Problems detected, Webinterface should work fine.

Possible improvements for webinterface:

Install Flup to use FastCGI or optional webservers.
Press Enter to Exit.

Link to comment

pycurl is missing. Its vital to running pyload. Looks as if my package didn't install properly. Are you running unRAID 4.7 or 5.xx beta?

 

Could you run each of the commands below and post the output.

 

wget --directory-prefix=/boot/packages/ http://dl.dropbox.com/u/48364/unMENU/pycurl-7.19.0-i486-1_SBo.tgz

 

installpkg /boot/packages/pycurl-7.19.0-i486-1_SBo.tgz

 

Thanks for your help fixing these bugs  :)

Link to comment

I will run them soon.  No problem with helping. It'd be sweet to get this working.

 

Sent from my captivate using tapatalk

 

 

Here they are...

root@tower:~# wget --directory-prefix=/boot/packages/ http://dl.dropbox.com/u/48364/unMENU/pycurl-7.19.0-i486-1_SBo.tgz
--2011-05-08 09:06:12--  http://dl.dropbox.com/u/48364/unMENU/pycurl-7.19.0-i486-1_SBo.tgz
Resolving dl.dropbox.com (dl.dropbox.com)... 50.17.217.121
Connecting to dl.dropbox.com (dl.dropbox.com)|50.17.217.121|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 117810 (115K) [application/x-tar]
Saving to: `/boot/packages/pycurl-7.19.0-i486-1_SBo.tgz.1'

100%[======================================>] 117,810      432K/s   in 0.3s    

2011-05-08 09:06:12 (432 KB/s) - `/boot/packages/pycurl-7.19.0-i486-1_SBo.tgz.1' saved [117810/117810]

root@tower:~# installpkg /boot/packages/pycurl-7.19.0-i486-1_SBo.tgz
Verifying package pycurl-7.19.0-i486-1_SBo.tgz.
Installing package pycurl-7.19.0-i486-1_SBo.tgz:
PACKAGE DESCRIPTION:
# PycURL (Python interface to libcurl).
#
# libcurl is a free and easy-to-use client-side URL transfer library,
# supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and 
# LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT,
# FTP uploading, kerberos, HTTP form based upload, proxies, cookies,
# user+password authentication, file transfer resume, http proxy
# tunneling and more! 
#
# Homepage:http://pycurl.sourceforge.net/
#
Package pycurl-7.19.0-i486-1_SBo.tgz installed.

 

EDIT: I still get the same error as above when running

python /mnt/cache/.pyload/pyLoadCore.py

Link to comment

Just looking through my setup and there are a few references to curl and libcurl. They were installed with the 'unRAID-Web' package from unmenu. Could you try installing that and see if it fixes the problem.

 

I installed this...

 

Now I get this:

root@tower:~# python /mnt/cache/.pyload/pyLoadCore.py
Fatal Python error: pycurl: libcurl link-time version is older than compile-time version
Aborted

Link to comment

Installing unraid-web screws up my webgui?!

 

So I uninstalled it...I wasn't able to access anything through the GUI with it installed.

You just need to set the option to use the short "php" tags.   

 

http://lime-technology.com/forum/index.php?topic=10840.msg103297#msg103297

 

Thanks Joe,

This works perfect...hadn't gotten the time to search for an answer yet, but you found it first...

 

Now...just to figure out why python is not working properly...

Link to comment

Actually, I just noticed...

 

I've been running speeding_ant's webgui (http://lime-technology.com/forum/index.php?topic=12606.0)

 

But after running this cmd and adding it to my go script, I tried before and after the theme install, the theme doesn't actually show up?

 

Edit: Interesting enough...after STARTING the array, the webgui showed up as the new one, but still not perfectly. so I cleared the cache and cookies, and now it's up

Link to comment

Am I right in thinking you're running unRAID 5 then?

 

The version of pycurl I packaged is for Slackware12/unRAID4.xx. BriT packaged up pycurl on his unRAID5 box. Could do with him hosting it  ;)

 

EDIT: Just re-read his posts and his system is 64-bit  :-\

Link to comment

Alright lets do it...I'm willing to test it, as long as my system is safe!

 

I tried installing the package that I linked right above, but here's what I got...

root@tower:~# root@tower:~# python /mnt/cache/.pyload/pyLoadCore.py
-bash: root@tower:~#: command not found
root@tower:~# Fatal Python error: pycurl: libcurl link-time version is older than compile-time version
-bash: Fatal: command not found
root@tower:~# Aborted
-bash: Aborted: command not found

Link to comment

The 'package' above is just the source code. You need to use the .slackbuild file to build that code into a package.

 

Put the source code and the .slackbuild file in the same folder then start the build by entering 'pycurl.SlackBuild'

 

The build will probably fail. If you post the error I can help you with the missing bits.

Link to comment

The 'package' above is just the source code. You need to use the .slackbuild file to build that code into a package.

 

Put the source code and the .slackbuild file in the same folder then start the build by entering 'pycurl.SlackBuild'

 

The build will probably fail. If you post the error I can help you with the missing bits.

I'm not sure that I completly understand this...can you walk me through a little more?

 

Is the pycurl.tar.gz considered the .slackbuild file you are talking about?

 

Edit...I see it's under individual files, let me try it

Link to comment

Here's what I get...

EDIT: this was with only the two files listed right below this...I will try with the method you just stated...

root@tower:/boot/packages/SlackBuild# ls
pycurl-7.19.0.tar.gz*  pycurl.SlackBuild*
root@tower:/boot/packages/SlackBuild# pycurl.SlackBuild
pycurl-7.19.0/
pycurl-7.19.0/doc/
pycurl-7.19.0/doc/callbacks.html
pycurl-7.19.0/doc/curlmultiobject.html
pycurl-7.19.0/doc/curlobject.html
pycurl-7.19.0/doc/curlshareobject.html
pycurl-7.19.0/doc/pycurl.html
pycurl-7.19.0/examples/
pycurl-7.19.0/examples/basicfirst.py
pycurl-7.19.0/examples/file_upload.py
pycurl-7.19.0/examples/linksys.py
pycurl-7.19.0/examples/retriever-multi.py
pycurl-7.19.0/examples/retriever.py
pycurl-7.19.0/examples/sfquery.py
pycurl-7.19.0/examples/xmlrpc_curl.py
pycurl-7.19.0/python/
pycurl-7.19.0/python/curl/
pycurl-7.19.0/python/curl/__init__.py
pycurl-7.19.0/src/
pycurl-7.19.0/src/Makefile
pycurl-7.19.0/src/pycurl.c
pycurl-7.19.0/tests/
pycurl-7.19.0/tests/test.py
pycurl-7.19.0/tests/test_cb.py
pycurl-7.19.0/tests/test_debug.py
pycurl-7.19.0/tests/test_ftp.py
pycurl-7.19.0/tests/test_getinfo.py
pycurl-7.19.0/tests/test_gtk.py
pycurl-7.19.0/tests/test_internals.py
pycurl-7.19.0/tests/test_memleak.py
pycurl-7.19.0/tests/test_multi.py
pycurl-7.19.0/tests/test_multi2.py
pycurl-7.19.0/tests/test_multi3.py
pycurl-7.19.0/tests/test_multi4.py
pycurl-7.19.0/tests/test_multi5.py
pycurl-7.19.0/tests/test_multi6.py
pycurl-7.19.0/tests/test_multi_socket.py
pycurl-7.19.0/tests/test_multi_socket_select.py
pycurl-7.19.0/tests/test_multi_timer.py
pycurl-7.19.0/tests/test_multi_vs_thread.py
pycurl-7.19.0/tests/test_post.py
pycurl-7.19.0/tests/test_post2.py
pycurl-7.19.0/tests/test_post3.py
pycurl-7.19.0/tests/test_share.py
pycurl-7.19.0/tests/test_socketopen.py
pycurl-7.19.0/tests/test_stringio.py
pycurl-7.19.0/tests/test_xmlrpc.py
pycurl-7.19.0/tests/util.py
pycurl-7.19.0/COPYING
pycurl-7.19.0/COPYING2
pycurl-7.19.0/ChangeLog
pycurl-7.19.0/INSTALL
pycurl-7.19.0/MANIFEST.in
pycurl-7.19.0/Makefile
pycurl-7.19.0/README
pycurl-7.19.0/TODO
pycurl-7.19.0/setup.py
pycurl-7.19.0/setup_win32_ssl.py
pycurl-7.19.0/PKG-INFO
Using curl-config (libcurl 7.19.0)
running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/curl
copying python/curl/__init__.py -> build/lib.linux-i686-2.6/curl
running build_ext
building 'pycurl' extension
creating build/temp.linux-i686-2.6
creating build/temp.linux-i686-2.6/src
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/usr/include/python2.6 -c src/pycurl.c -o build/temp.linux-i686-2.6/src/pycurl.o
src/pycurl.c:79:31: error: openssl/crypto.h: No such file or directory
src/pycurl.c: In function 'pycurl_ssl_lock':
src/pycurl.c:393: error: 'CRYPTO_LOCK' undeclared (first use in this function)
src/pycurl.c:393: error: (Each undeclared identifier is reported only once
src/pycurl.c:393: error: for each function it appears in.)
src/pycurl.c: In function 'pycurl_ssl_init':
src/pycurl.c:407: warning: implicit declaration of function 'CRYPTO_num_locks'
src/pycurl.c:415: warning: implicit declaration of function 'CRYPTO_set_id_callback'
src/pycurl.c:416: warning: implicit declaration of function 'CRYPTO_set_locking_callback'
error: command 'gcc' failed with exit status 1

Link to comment

Source Code: pycurl-7.19.0.tar.gz

SlackBuild: pycurl.tar.gz

 

Download the above files. If you untar 'pycurl.tar.gz' you'll find the following inside

 

• README

• pycurl.SlackBuild

• pycurl.info

• slack-desc

 

Put pycurl-7.19.0.tar.gz and the above files in a folder then enter 'pycurl.SlackBuild'

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.