forked from pyload/pyload
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
247 lines (218 loc) · 10.9 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
This is a fork of https://github.com/pyload/pyload
with a reworked Qt4/Qt5 GUI on top of the pyLoad stable branch.
README for pyLoad Client v0.4.20 ; Internal version: 2021-02-07
https://github.com/snilt/pyload/tree/forkreadme
The actual source code is in the qt4gui branch.
https://github.com/snilt/pyload/tree/qt4gui
NOTE: If you update from previous pyLoad Client version 0.4.9
then you must delete the userplugins directory from your config folder at first.
Start pyLoad Client, goto the 'Log' tab and write down the value of 'Configuration directory'.
Stop pyLoad Client, navigate to the 'Configuration directory' and delete the 'userplugins' subdirectory.
Some (new) features
===================
- Qt4 and Qt5 support
- Drag'n'Drop
- Sorting of packages and links
- Moving of links to another package (Collector only)
- Quick access to the server's download speed setting
- Built-in ClickNLoad port forwarding
- SSL encryption
- Desktop notifications
- Custom Fonts
- Language Support (only english and german at this time)
- Captcha solving dialog
- File hosting service account management (untested)
- Adding of packages, link and containers
- Clipboard watcher
- Command line argument support
- Internal server (standalone mode)
Download
========
From the GitHub website:
https://github.com/snilt/pyload/releases/latest
Or clone the git repository (Linux Bash):
git clone https://github.com/snilt/pyload.git
cd pyload
git checkout -b stable origin/stable
git checkout -b qt4gui origin/qt4gui
Update an existing clone (Linux Bash):
cd pyload
git checkout forkreadme && git pull
git checkout stable && git pull
git checkout qt4gui && git pull
Dependencies in addition to the dependencies of pyLoad (https://github.com/pyload/pyload/tree/stable)
=====================================================================================================
Python 2.7
PyQt4 or PyQt5
Installation of dependencies
============================
Linux/Unix-like OSs:
--------------------
Ubuntu/Debian/Debian-based:
apt-get install python python-crypto python-pycurl python-imaging python-beaker rhino
PyQt4: apt-get install python-qt4
PyQt5: apt-get install python-pyqt5
Optional:
Desktop notifications:
notify2: apt-get install python-notify2
pynotify: apt-get install python-notify
pyOpenSSL: apt-get install python-openssl
Note: The instructions for the distributions below may be outdated.
openSUSE:
zypper install python python-pycrypto python-pycurl python-Pillow python-Beaker rhino
PyQt4: zypper install python-qt4
PyQt5: zypper install python-qt5
Optional:
Desktop notifications:
notify2: zypper install python-notify2
pynotify: zypper install python-notify # python-gtk
pyOpenSSL: zypper install python-pyOpenSSL
Fedora:
dnf install python python2-crypto python-pycurl python2-pillow python-beaker rhino
PyQt4: dnf install PyQt4
PyQt5: dnf install python2-qt5
Optional:
Desktop notifications:
notify2: dnf install python-notify2
pynotify: dnf install notify-python # pygtk2
pyOpenSSL: dnf install pyOpenSSL
Arch:
pacman -S --needed python2 python2-crypto python2-pycurl python2-pillow python2-beaker python2-funcsigs rhino
PyQt4: pacman -S --needed python2-pyqt4
PyQt5: pacman -S --needed python2-pyqt5
Optional:
Desktop notifications:
notify2: pacman -S --needed python-notify2
pynotify: pacman -S --needed python2-notify
pyOpenSSL: pacman -S --needed python2-pyopenssl
CentOS:
yum install python python2-crypto python-pycurl python-pillow python-beaker rhino
PyQt4: yum install PyQt4
PyQt5: I couldn't find a suitable package.
Optional:
Desktop notifications:
notify2: I couldn't find a suitable package. To install it via pip do:
yum install python2-pip && pip2 install notify2
pynotify: yum install notify-python # pygtk2
pyOpenSSL: yum install pyOpenSSL
FreeBSD:
pkg install python27 py27-pycrypto py27-pycurl py27-pillow py27-beaker py27-sqlite3 rhino
PyQt4: pkg install py27-qt4
PyQt5: pkg install py27-qt5 # Untested, no package? Install from ports?
Optional:
Desktop notifications:
notify2: pkg install py27-notify2
pynotify: pkg install py27-notify
pyOpenSSL: pkg install py27-openssl
Windows 7/10:
-------------
For PyQt4 64-bit:
Download and install Python:
https://www.python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi
Install with default features, unless you know better.
Update Python Package Installer from Command Prompt:
C:\Python27\python -m pip install -U pip setuptools wheel
Download and install PyQt4:
https://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe
Selecting install type 'Minimal' is sufficient for pyLoad Client.
For PyQt4 32-bit:
Download and install Python:
https://www.python.org/ftp/python/2.7.18/python-2.7.18.msi
Install with default features, unless you know better.
Update Python Package Installer from Command Prompt:
C:\Python27\python -m pip install -U pip setuptools wheel
Download and install PyQt4:
https://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe
Selecting install type 'Minimal' is sufficient for pyLoad Client.
For PyQt5 64-bit (only):
Download and install Python:
https://www.python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi
Install with default features, unless you know better.
Update Python Package Installer from Command Prompt:
C:\Python27\python -m pip install -U pip setuptools wheel
Install PyQt5 from Command Prompt:
C:\Python27\python -m pip install https://github.com/pyqt/python-qt5/archive/master.zip
Download and install 'Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019':
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
Install dependencies from Command Prompt:
C:\Python27\python -m pip install pycurl==7.43.0.2 pillow pycryptodome Js2Py
Optional:
Install pyOpenSSL:
C:\Python27\python -m pip install pyOpenSSL
Bundled executable package for Windows 7/10
===========================================
These packages don't require Python, Qt and the other dependencies to be installed.
Download pyLoadQt4ClientWin32Exe or pyLoadQt5ClientWin64Exe from:
https://github.com/snilt/pyload/releases/latest
To start pyLoad Client from a Command Prompt:
pyLoadGui.exe
Note: If you get the error message 'Failed to load PyQt',
download and install 'Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019':
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
To start pyLoad (the server):
pyLoadCore.exe
Note: You must first configure the server before you can use it.
To start the pyLoad Configuration Assistent, run pyLoadCore.exe with the option: -s
For the beginning, you can just accept the default values and set a password.
General Information
===================
pyLoad Client connections to remote pyLoad servers:
If you want to connect to a server that runs the official pyLoad code (https://github.com/pyload/pyload/tree/stable),
you must replace two files on the server side with the ones from this repository, otherwise errors will occur.
module/remote/thriftbackend/pyload.thrift
module/remote/thriftbackend/thriftgen/pyload/ttypes.py
Qt graphical library:
pyLoad Client supports PyQt4 and PyQt5. PyQt provides Python bindings for Qt. PyQt depends on Qt.
On some systems Qt4 and Qt5 can be installed side by side.
Before installing PyQt, you may want to check which, or if any, Qt version is already installed on your system.
Then install the PyQt version which belongs to an existing Qt installation
if you want to avoid the installation of another Qt version.
pyLoad Client detects the installed PyQt version on startup, when PyQt4 and PyQt5
are both installed then PyQt4 will be used.
You can force the PyQt version to use by command line options.
Using PyQt5 on an older Qt4 based Linux/Unix-like desktop might require a bit of extra effort,
see desktop notifications notes below.
Desktop notifications:
pyLoad Client uses the Qt library which has built-in support for desktop notifications, it should work seamless.
However, on Linux/Unix-like OSs, additional packages might provide better desktop integration:
First option (recommended):
notify2 --- Python interface to DBus notifications
This is a replacement for the older pynotify.
If your Linux distribution doesn't have a suitable python 2.7 package,
you may want to install it via pip, see: https://pypi.org/project/notify2
Second option:
pynotify --- Python bindings for libnotify
This doesn't work for pyLoad Client on some (modern) systems,
and can be the reason for pyLoad Client to crash with a segmentation fault on every startup,
or may just work fine for pyLoad Client (even on modern systems).
On some systems you possibly also must install:
'Python bindings for the GTK+ widget set' (python-gtk/pygtk2) to get this working correctly.
Notes:
By default pyLoad Client automatically chooses the method to use for displaying desktop notifications
in the following order: notify2, pynotify, qt_tray
You can force the desktop notification method by command line options.
If you want to use pynotify together with PyQt5,
but pyLoad Client crashes with a segmentation fault on every startup:
Install 'Qt 5 extra widget styles' (on Debian via: apt-get install qt5-style-plugins)
and start pyLoad Client like this: QT_QPA_PLATFORMTHEME=gtk2 ./pyLoadGui.py
If that doesn't help:
Additionally install and setup the 'Qt5 Configuration Utility' (qt5ct)
and start pyLoad Client like this: QT_QPA_PLATFORMTHEME=qt5ct ./pyLoadGui.py
OpenSSL:
pyOpenSSL can be used to encrypt network traffic between the webinterface and a pyLoad server.
And can also be used to encrypt network traffic between the pyLoad Client and a pyLoad server.
How to start the application:
To start pyLoad Client from a terminal on Linux/Unix-like OSs:
Try: python2.7 pyLoadGui.py
Or: python2 pyLoadGui.py
Or: python pyLoadGui.py
Or: ./pyLoadGui.py
To start pyLoad Client from a Command Prompt on Windows:
Try: C:\Python27\python pyLoadGui.py
Or: python pyLoadGui.py
Or: pyLoadGui.py
To start pyLoad (the server):
Do the same as for pyLoad Client but replace pyLoadGui.py with pyLoadCore.py
Note: You must first configure the server before you can use it.
To start the pyLoad Configuration Assistent, run pyLoadCore.py with the option: -s
For the beginning, you can just accept the default values and set a password.