Difference between revisions of "PyLoad"

From ArchWiki
Jump to: navigation, search
m (correct PIDFile entry in .service file)
m (add ja link)
 
(33 intermediate revisions by 20 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.  
+
[[ja:PyLoad]]
 +
[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.
* a '''webinterface''';
 
* a '''command line interface''';
 
* a '''GUI''' written in '''Qt''';
 
* and an '''Android''' client.
 
  
==Installation==
+
Available clients ([https://github.com/pyload/pyload/wiki/Screenshots screenshots]):
  
Install the {{AUR|pyload}} package from the [[AUR]].
+
* a web interface
 +
* a command line interface
 +
* a GUI written in Qt
 +
* and an Android client.
  
===Headless Servers===
+
== Installation==
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===
+
[[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.
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.
+
=== Headless servers ===
# pacman -S openssl python2-pyopenssl
 
  
*For ClickNLoad and at least ZippyShare (maybe other hosters too) support:
+
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.
# pacman -S js
+
 
 +
=== Requirements ===
 +
 
 +
Required dependencies are handled by the AUR package's PKGBUILD. Nevertheless, some optional dependencies are not:
 +
 
 +
* 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'':
+
=== Manual ===
# 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 also directly edit {{ic|pyload.conf}} (located in {{ic|~/.pyload/}} by default.
  
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}}.
# echo '<password>' >> ~/.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 read {{ic|/opt/pyload/scripts/Readme.txt}}.
For more info on this,
 
cat /opt/pyload/scripts/Readme.txt
 
and [http://forum.pyload.org/viewtopic.php?f=7&t=7 visit pyload.org forums].
 
  
 
If you are interested in running userscripts, before running, you need to either
 
If you are interested in running userscripts, before running, you need to either
 
  # 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'' /opt/pyload/scripts/
 +
 
 +
(the ''user'' being the one you defined in pyload.conf / permissions settings)
 
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
 
  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:
 
 
 
<pre>
 
rc.d start pyload
 
</pre>
 
  
To start {{ic|pyload}} automatically add it to the daemon array in {{ic|/etc/rc.conf}}.
+
== Daemon ==
  
===systemd===
+
{{Tip|Do not forget to change {{ic|$USER}} and {{ic|$GROUP}}}}
/etc/systemd/system/pyload.service
+
{{hc|/etc/systemd/system/pyload.service|2=
{{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 run:
 
<pre>
 
# systemctl start pyload
 
</pre>
 
 
 
To have it started automatically on boot:
 
<pre>
 
# systemctl enable pyload
 
</pre>
 
 
 
==Alternatives==
 
[[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].
+
To start pyload start ''pyload'' service.
  
[http://code.google.com/p/plowshare/ plowshare] available in [https://aur.archlinux.org/packages.php?ID=24601 AUR] (CLI).
+
To have it started automatically on boot, enable ''pyload'' service.
  
[http://urlget.sourceforge.net/ uGet] available in [https://aur.archlinux.org/packages.php?ID=25887 AUR] (GTK).
+
== See also ==
  
[http://tuxload.wikispaces.com/ TuxLoad] available in [https://aur.archlinux.org/packages.php?ID=42629 AUR] (CLI).
+
[[List of applications/Internet#Web content downloaders]]

Latest revision as of 10:14, 22 July 2017

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.

Available clients (screenshots):

  • a web interface
  • 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.

Manual

You can also directly edit pyload.conf (located in ~/.pyload/ by default.

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.

Scripts

For more info on this read /opt/pyload/scripts/Readme.txt.

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

# chmod 777 /opt/pyload/scripts/

or

# chown user /opt/pyload/scripts/

(the user being the one you defined in pyload.conf / permissions settings) 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.

See also

List of applications/Internet#Web content downloaders