Difference between revisions of "PyLoad"

From ArchWiki
Jump to: navigation, search
m (correct PIDFile entry in .service file)
m (updated URLs to pyload homepage and wiki)
 
(22 intermediate revisions by 17 users not shown)
Line 1: Line 1:
 
{{Lowercase title}}
 
{{Lowercase title}}
[[Category:Internet Applications]]
+
[[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.  
+
[https://pyload.net 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 ([https://github.com/pyload/pyload/wiki/Supported-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.  
  
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([http://pyload.org/screenshots screenshots]):
+
pyLoad is divided into core and clients, to make it easily remote accessible. Currently there are ([https://github.com/pyload/pyload/wiki/Screenshots screenshots]):
 
* a '''webinterface''';
 
* a '''webinterface''';
 
* a '''command line interface''';
 
* a '''command line interface''';
Line 9: Line 9:
 
* and an '''Android''' client.
 
* and an '''Android''' client.
  
==Installation==
+
== Installation==
  
Install the {{AUR|pyload}} package from the [[AUR]].
+
[[Install]] {{AUR|pyload}} from the [[AUR]] for the stable version or {{AUR|pyload-nightly}} for a development build of the new pyload 0.5 version.
  
===Headless Servers===
+
=== 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===
+
On headless servers, you will want to use {{AUR|giflib-nox11}}{{Broken package link|{{aur-mirror|giflib-nox11}}}} instead of giflib, before you install pyload. Otherwise this package will pull X11 dependencies.
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.
+
=== Requirements ===
# pacman -S openssl python2-pyopenssl
+
  
*For ClickNLoad and at least ZippyShare (maybe other hosters too) support:
+
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies are not:
# pacman -S js
+
 
 +
* Ability to establish a secure connection to core or webinterface: {{Pkg|openssl}} {{Pkg|python2-pyopenssl}}.
 +
 
 +
* For ClickNLoad and at least ZippyShare (maybe other hosters too) support: {{Pkg|js}}.
 +
 
 +
{{Note|The current {{Pkg|js}} package does not create {{ic|/usr/bin/js}}, which is required by pyload. You need to create the symlink yourself, i.e. run {{ic|ln -s /usr/bin/js24 /usr/bin/js}} as root if {{ic|/usr/bin/js24}} exists.}}
 +
 
 +
== Configuration ==
  
==Configuration==
 
 
Run Setup Assistant:
 
Run Setup Assistant:
 
  # pyLoadCore -s
 
  # pyLoadCore -s
 +
{{Note|This command must be run as the same user that will run pyload. For example if you run pyload as a daemon using the systemd service, either run this command as user pyload or change {{ic|/etc/systemd/system/pyload.service}} to another user. If you choose to run this command as user pyload you will have to edit {{ic|/etc/passwd}} to modify pyload's shell from {{ic|/bin/false}} to {{ic|/bin/bash}}.}}
  
 
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 {{ic|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===
+
 
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'':
+
=== 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, eg.:
 
  # 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 {{ic|/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] on that 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 is still on that page.
  
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'':
+
While also editable with the web interface, you can change the plugins configuration by editing {{ic|~/.pyload/plugins.conf}}.
# nano ~/.pyload/plugins.conf
+
  
'''Extraction passwords''' are store in ~/.pyload/unrar_passwords.txt. To add passwords either edit the file or:
+
'''Extraction passwords''' are stored in {{ic|~/.pyload/unrar_passwords.txt}}. To add passwords either edit the file or:
  # echo '<password>' >> ~/.pyload/unrar_passwords.txt
+
  # echo &#39;''password''&#39; >> ~/.pyload/unrar_passwords.txt
  
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 /opt/pyload/module/config/ files it refers to do not match what's still on that page.
+
=== Scripts ===
  
===Scripts===
 
 
For more info on this,
 
For more info on this,
 
  cat /opt/pyload/scripts/Readme.txt
 
  cat /opt/pyload/scripts/Readme.txt
Line 54: Line 58:
 
  # chmod 777 /opt/pyload/scripts/
 
  # chmod 777 /opt/pyload/scripts/
 
or  
 
or  
  # chown <user you defined in pyload.conf / permissions settings> /opt/pyload/scripts/
+
  # chown ''user you defined in pyload.conf / permissions settings'' /opt/pyload/scripts/
 
in order for pyLoadCore to create the necessary folders.
 
in order for pyLoadCore to create the necessary folders.
  
==Running==
+
== Running ==
===Essential===
+
# pyLoadCore
+
{{Tip|You may want to add {{ic|pyLoadCore --daemon}} to your {{ic|rc.local}}}}
+
  
===Interfacing with pyLoadCore===
+
=== Essential===
# pyLoadCli
+
  
  # pyLoadGui
+
  # pyLoadCore
  
Or, as stated above, with the web interface. If the default settings are true, then:
+
  to run pyload without having the terminal stay running use
  http://localhost:8000
+
 
 +
  # pyLoadCore --daemon
  
==Daemon==
+
=== Interfacing with pyLoadCore ===
===Initscript===
+
To start pyload as a daemon we have to create it first:
+
  
<pre>
+
# pyLoadCli
su
+
touch /etc/rc.d/pyload
+
chmod +x /etc/rc.d/pyload
+
</pre>
+
  
Now edit the content with:
+
# pyLoadGui
  
<pre>
+
Or, as stated above, with the web interface. If the default settings are true, then:
nano /etc/rc.d/pyload
+
<nowiki>http://localhost:8000</nowiki>
</pre>
+
 
+
{{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
+
 
+
. /etc/rc.conf
+
. /etc/rc.d/functions
+
 
+
USER=YOUR_USER
+
PIDFILE=/PATH/TO/.pyload/pyload.pid
+
  
case "$1" in
+
== Daemon ==
  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</pre>
+
  
Finally start pyload with:
+
{{Tip|Do not forget to change {{ic|$USER}} and {{ic|$GROUP}}}}
 
+
{{hc|/etc/systemd/system/pyload.service|2=
<pre>
+
rc.d start pyload
+
</pre>
+
 
+
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]
 
[Unit]
 
Description=Downloadtool for One-Click-Hoster written in python.
 
Description=Downloadtool for One-Click-Hoster written in python.
Line 149: Line 89:
  
 
[Service]
 
[Service]
Type=forking
+
ExecStart=/usr/bin/pyLoadCore
PIDFile=/home/$USER/.pyload/pyload.pid
+
ExecStart=/usr/bin/pyLoadCore --daemon
+
KillSignal=SIGQUIT
+
 
User=$USER
 
User=$USER
 +
Group=$GROUP
  
 
[Install]
 
[Install]
 
WantedBy=multi-user.target
 
WantedBy=multi-user.target
</pre>
+
}}
 +
 
 +
To start pyload start ''pyload'' service.
 +
 
 +
To have it started automatically on boot, enable ''pyload'' service.
  
To start pyload run:
+
== Alternatives ==
<pre>
+
# systemctl start pyload
+
</pre>
+
  
To have it started automatically on boot:
+
[http://tucaneando.com/index.html Tucan Manager] available in the [[official repositories]] through the {{AUR|tucan}}{{Broken package link|{{aur-mirror|tucan}}}} package.
<pre>
+
# systemctl enable pyload
+
</pre>
+
  
==Alternatives==
+
[http://ugetdm.com/ uGet] available in the [[official repositories]] through the {{Pkg|uget}} package (GTK).
[[JDownloader]] available in [https://aur.archlinux.org/packages.php?ID=29288 AUR].
+
  
[http://tucaneando.com/index.html Tucan Manager] available in [https://www.archlinux.org/packages/community/x86_64/tucan/ community].
+
[[JDownloader]] through {{AUR|jdownloader}}{{Broken package link|{{aur-mirror|jdownloader}}}} package.
  
[http://code.google.com/p/plowshare/ plowshare] available in [https://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).
+
[http://code.google.com/p/plowshare/ plowshare] available in AUR: {{AUR|plowshare-git}} (CLI).
  
[http://urlget.sourceforge.net/ uGet] available in [https://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).
+
[http://tuxload.wikispaces.com/ TuxLoad] available in AUR: {{AUR|tuxload}}{{Broken package link|{{aur-mirror|tuxload}}}} (CLI).
  
[http://tuxload.wikispaces.com/ TuxLoad] available in [https://aur.archlinux.org/packages.php?ID=42629 AUR(CLI).
+
[http://wordrider.net/freerapid/ FreeRapid Downloader] available in AUR: {{AUR|freerapid}} (Java).

Latest revision as of 00:25, 27 September 2016

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 pyloadAUR from the AUR for the stable version or pyload-nightlyAUR for a development build of the new pyload 0.5 version.

Headless servers

On headless servers, you will want to use giflib-nox11AUR[broken link: archived in aur-mirror] 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 are not:

  • For ClickNLoad and at least ZippyShare (maybe other hosters too) support: js.
Note: The current js package does not create /usr/bin/js, which is required by pyload. You need to create the symlink yourself, i.e. run ln -s /usr/bin/js24 /usr/bin/js as root if /usr/bin/js24 exists.

Configuration

Run Setup Assistant:

# pyLoadCore -s
Note: This command must be run as the same user that will run pyload. For example if you run pyload as a daemon using the systemd service, either run this command as user pyload or change /etc/systemd/system/pyload.service to another user. If you choose to run this command as user pyload you will have to edit /etc/passwd to modify pyload's shell from /bin/false to /bin/bash.

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 ~/.pyload/pyload.conf. Use your favorite editor to edit, eg.:

# nano ~/.pyload/pyload.conf

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

While also editable with the web interface, you can change the plugins configuration by editing ~/.pyload/plugins.conf.

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

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

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
  to run pyload without having the terminal stay running use
 
# pyLoadCore --daemon

Interfacing with pyLoadCore

# pyLoadCli
# pyLoadGui

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

http://localhost:8000

Daemon

Tip: Do not forget to change $USER and $GROUP
/etc/systemd/system/pyload.service
[Unit]
Description=Downloadtool for One-Click-Hoster written in python.
After=network.target

[Service]
ExecStart=/usr/bin/pyLoadCore
User=$USER
Group=$GROUP

[Install]
WantedBy=multi-user.target

To start pyload start pyload service.

To have it started automatically on boot, enable pyload service.

Alternatives

Tucan Manager available in the official repositories through the tucanAUR[broken link: archived in aur-mirror] package.

uGet available in the official repositories through the uget package (GTK).

JDownloader through jdownloaderAUR[broken link: archived in aur-mirror] package.

plowshare available in AUR: plowshare-gitAUR (CLI).

TuxLoad available in AUR: tuxloadAUR[broken link: archived in aur-mirror] (CLI).

FreeRapid Downloader available in AUR: freerapidAUR (Java).