Difference between revisions of "PyLoad"

From ArchWiki
Jump to: navigation, search
(Daemon)
m (correct PIDFile entry in .service file)
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
{{Lowercase title}}
 
{{Lowercase title}}
[[Category:Internet Applications (English)]]
+
[[Category:Internet Applications]]
 
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more.  
 
[http://pyload.org/ pyLoad] is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links ([http://pyload.org/hoster supported hosts]). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more.  
  
Line 11: Line 11:
 
==Installation==
 
==Installation==
  
Install the [http://aur.archlinux.org/packages.php?ID=34434 pyload] package from the AUR.
+
Install the {{AUR|pyload}} package from the [[AUR]].
 +
 
 +
===Headless Servers===
 +
On headless servers, you will want to use {{AUR|giflib-nox11}} instead of giflib, before you install pyload. Otherwise this package will pull X11 dependencies.
  
 
===Requirements===
 
===Requirements===
Line 19: Line 22:
 
  # pacman -S openssl python2-pyopenssl
 
  # pacman -S openssl python2-pyopenssl
  
*For ClickNLoad support.
+
*For ClickNLoad and at least ZippyShare (maybe other hosters too) support:
 
  # pacman -S js
 
  # pacman -S js
  
Line 28: Line 31:
 
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section.  
 
The Setup Assistant gives you a jump start, by providing a ''basic'' but ''working'' setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section.  
  
{{Tip|Most (if not all) of the options can be changed with {{Codeline|pyLoadGui}} or with the the Web Interface.}}
+
{{Tip|Most (if not all) of the options can be changed with {{ic|pyLoadGui}} or with the the Web Interface.}}
 
===Optional===
 
===Optional===
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{Filename|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':
+
However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{ic|~/.pyload/pyload.conf}. Use your favorite editor to edit, ''ie'':
 
  # nano ~/.pyload/pyload.conf
 
  # nano ~/.pyload/pyload.conf
  
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{Filename|/opt/pyload/module/config/}} files it refers to do not match what's still on that page.
+
You can get aquainted with most of the [http://pyload.org/configuration configuration options] in this page. Do note that it is outdated, in a sense, since the {{ic|/opt/pyload/module/config/}} files it refers to do not match what's still on that page.
  
While also editable with the web interface, you can also change the plugins configuration by editing {{Filename|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':
+
While also editable with the web interface, you can also change the plugins configuration by editing {{ic|~/.pyload/plugins.conf}}. Use your favorite editor to edit, ''ie'':
 
  # nano ~/.pyload/plugins.conf
 
  # nano ~/.pyload/plugins.conf
  
Line 57: Line 60:
 
===Essential===
 
===Essential===
 
  # pyLoadCore  
 
  # pyLoadCore  
{{Tip|You may want to add {{Codeline|pyLoadCore --daemon}} to your {{Filename|rc.local}}}}
+
{{Tip|You may want to add {{ic|pyLoadCore --daemon}} to your {{ic|rc.local}}}}
  
 
===Interfacing with pyLoadCore===
 
===Interfacing with pyLoadCore===
Line 68: Line 71:
  
 
==Daemon==
 
==Daemon==
 
+
===Initscript===
To start pyload as a daemon do the following:
+
To start pyload as a daemon we have to create it first:
  
 
<pre>
 
<pre>
Line 77: Line 80:
 
</pre>
 
</pre>
  
Edit pyload daemon:
+
Now edit the content with:
  
 
<pre>
 
<pre>
Line 83: Line 86:
 
</pre>
 
</pre>
  
TIP: Don't forget to change {{Codeline|USER}} and {{Codeline|PIDFILE}} and/or uncommenting lines after {{Codeline|# after pyload update restart itself}} if required.  
+
{{Tip| Don't forget to change {{ic|USER}} and {{ic|PIDFILE}} and/or uncommenting lines after {{ic|# after pyload update restart itself}} if required.}}
  
 
<pre>#!/bin/bash
 
<pre>#!/bin/bash
Line 129: Line 132:
 
exit 0</pre>
 
exit 0</pre>
  
Start pyload with:
+
Finally start pyload with:
  
 
<pre>
 
<pre>
Line 135: Line 138:
 
</pre>
 
</pre>
  
Add {{Codeline|pyload}} to the daemon array in your {{Filename|/etc/rc.conf}}.
+
To start {{ic|pyload}} automatically add it to the daemon array in {{ic|/etc/rc.conf}}.
 +
 
 +
===systemd===
 +
/etc/systemd/system/pyload.service
 +
{{Tip| Don't forget to change {{ic|$USER}}}}
 +
<pre>
 +
[Unit]
 +
Description=Downloadtool for One-Click-Hoster written in python.
 +
After=network.target
 +
 
 +
[Service]
 +
Type=forking
 +
PIDFile=/home/$USER/.pyload/pyload.pid
 +
ExecStart=/usr/bin/pyLoadCore --daemon
 +
KillSignal=SIGQUIT
 +
User=$USER
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
</pre>
 +
 
 +
To start pyload run:
 +
<pre>
 +
# systemctl start pyload
 +
</pre>
 +
 
 +
To have it started automatically on boot:
 +
<pre>
 +
# systemctl enable pyload
 +
</pre>
  
 
==Alternatives==
 
==Alternatives==

Revision as of 20:55, 10 November 2012

pyLoad is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links (supported hosts). It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router). Despite its strict restriction it is packed full of features just like webinterface, captcha recognition, unrar and much more.

pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are (screenshots):

  • a webinterface;
  • a command line interface;
  • a GUI written in Qt;
  • and an Android client.

Installation

Install the pyloadAUR package from the AUR.

Headless Servers

On headless servers, you will want to use giflib-nox11AUR instead of giflib, before you install pyload. Otherwise this package will pull X11 dependencies.

Requirements

Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies aren't:

  • Ability to establish a secure connection to core or webinterface.
# pacman -S openssl python2-pyopenssl
  • For ClickNLoad and at least ZippyShare (maybe other hosters too) support:
# pacman -S js

Configuration

Run Setup Assistant:

# pyLoadCore -s

The Setup Assistant gives you a jump start, by providing a basic but working setup. Being a basic setup, there are more options and you should at least look at them, since some sections are untouched by the Assistant, like the permissions section.

Tip: Most (if not all) of the options can be changed with pyLoadGui or with the the Web Interface.

Optional

However, if you prefer to edit the pyload.conf yourself and you went with the default conf directory, you can change the settings by editing {{ic|~/.pyload/pyload.conf}. Use your favorite editor to edit, ie:

# nano ~/.pyload/pyload.conf

You can get aquainted with most of the configuration options in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to do not match what's still on that page.

While also editable with the web interface, you can also change the plugins configuration by editing ~/.pyload/plugins.conf. Use your favorite editor to edit, ie:

# nano ~/.pyload/plugins.conf

Extraction passwords are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:

# echo '<password>' >> ~/.pyload/unrar_passwords.txt

You can get aquainted with most of the configuration options in this page. Do note that it is outdated, in a sense, since the /opt/pyload/module/config/ files it refers to do not match what's still on that page.

Scripts

For more info on this,

cat /opt/pyload/scripts/Readme.txt

and visit pyload.org forums.

If you are interested in running userscripts, before running, you need to either

# chmod 777 /opt/pyload/scripts/

or

# chown <user you defined in pyload.conf / permissions settings> /opt/pyload/scripts/

in order for pyLoadCore to create the necessary folders.

Running

Essential

# pyLoadCore 
Tip: You may want to add pyLoadCore --daemon to your rc.local

Interfacing with pyLoadCore

# pyLoadCli
# pyLoadGui

Or, as stated above, with the web interface. If the default settings are true, then:

http://localhost:8000

Daemon

Initscript

To start pyload as a daemon we have to create it first:

su
touch /etc/rc.d/pyload
chmod +x /etc/rc.d/pyload

Now edit the content with:

nano /etc/rc.d/pyload
Tip: Don't forget to change USER and PIDFILE and/or uncommenting lines after # after pyload update restart itself if required.
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

USER=YOUR_USER
PIDFILE=/PATH/TO/.pyload/pyload.pid

case "$1" in
  start)
    stat_busy "Starting pyload"
    su $USER -c '/usr/bin/pyLoadCore --daemon' &> /dev/null
    # after pyload update restart itself
    # sleep 30                                                                    # waiting time for pyload updates
    # su $USER -c "kill -15 $(cat $PIDFILE) && rm -f $PIDFILE" &> /dev/null       # kill pyload
    # su $USER -c '/usr/bin/pyLoadCore --daemon' &> /dev/null                     # restart pyload
    if [ $? -gt 0 ]; then
      stat_fail
    else
      add_daemon pyLoadCored
      stat_done
    fi
    ;;
  stop)
    stat_busy "Stopping pyload"
    # killall -w -s 2 /usr/bin/pyLoadCore &> /dev/null
    su $USER -c "kill -15 $(cat $PIDFILE) && rm -f $PIDFILE" &> /dev/null
    if [ $? -gt 0 ]; then
      stat_fail
    else
      rm_daemon pyLoadCored
      stat_done
    fi
    ;;
  restart)
    $0 stop
    sleep 3
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"
esac
exit 0

Finally start pyload with:

rc.d start pyload

To start pyload automatically add it to the daemon array in /etc/rc.conf.

systemd

/etc/systemd/system/pyload.service

Tip: Don't forget to change $USER
[Unit]
Description=Downloadtool for One-Click-Hoster written in python.
After=network.target

[Service]
Type=forking
PIDFile=/home/$USER/.pyload/pyload.pid
ExecStart=/usr/bin/pyLoadCore --daemon
KillSignal=SIGQUIT
User=$USER

[Install]
WantedBy=multi-user.target

To start pyload run:

# systemctl start pyload

To have it started automatically on boot:

# systemctl enable pyload

Alternatives

JDownloader available in AUR.

Tucan Manager available in community.

plowshare available in AUR (CLI).

uGet available in AUR (GTK).

TuxLoad available in AUR (CLI).