You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-15Lines changed: 14 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,10 +39,10 @@ Inspired by [NW.js](http://nwjs.io/) and [Electron](http://electron.atom.io/), P
39
39
These are the basic steps for building your first PEB-based application:
40
40
***1.** Write your local HTML file(s) that will serve as a GUI for your application.
41
41
***1.1.** If your users will have to enter data manually, don't forget to make appropriate HTML forms for them.
42
-
***1.2.** If your users will have to open local files or folders, see section *Special URLs for Users* for information on [how to open single file](#select-single-file) or [multiple files](#select-multiple-files), [how to prompt for a new filename](#select-new-file-name) and [how to select an existing folder or create a new one](#select-directory) from PEB. You may also see the ``filesystem.html`` file in the demo package shipped with PEB.
42
+
***1.2.** If your users will have to open local files or folders, see section *Special URLs for Users* for information on [how to open single file](#select-single-file) or [multiple files](#select-multiple-files), [how to prompt for a new filename](#select-new-file-name) and [how to select an existing folder or create a new one](#select-directory) from PEB. You may also see the ``filesystem.html`` file within the PEB demo package.
43
43
***1.3.** Connect your local HTML file(s) to your Perl 5 scripts. See section [Supported Perl Script Types](#supported-perl-script-types).
44
44
***2.** Write your Perl scripts.
45
-
Input from local HTML files is read just like reading POST or GET requests in a Perl CGI script. You may see the ``get-post-test.pl`` file in the demo package.
45
+
Input from local HTML files is read just like reading POST or GET requests in a Perl CGI script. You may see the ``get-post-test.pl`` file within the PEB demo package.
46
46
47
47
Note that PEB is created to work from any folder without installation and all files and directories used by PEB are relational to the directory where the PEB binary is located. All your local HTML files and Perl scripts must be located inside the ``{PEB_binary_directory}/resources/app`` directory - see section [Settings](#settings).
48
48
@@ -91,18 +91,17 @@ Inspired by [NW.js](http://nwjs.io/) and [Electron](http://electron.atom.io/), P
91
91
``QtWebKit`` is deprecated and replaced by the Blink-based ``QtWebEngine`` in all later versions of Qt.
92
92
Compiling ``QtWebKit`` for a recent Qt version is possible, but not trivial or tested with PEB.
93
93
94
-
The implementation of the local pseudo-domain and all requests to local content depend on the ``QNetworkAccessManager`` class, but it is incompatible with ``QtWebEngine``. If you want to render the HTML user interface of your Perl desktop application using the Blink web engine, you may use [Electron](http://electron.atom.io/) or [NW.js](http://nwjs.io/) combined with [camel-harness](https://github.com/ddmitov/camel-harness).
94
+
The implementation of the local pseudo-domain and all requests to local content depend on the ``QNetworkAccessManager`` class, which is incompatible with ``QtWebEngine``. If you want to render the HTML user interface of your Perl desktop application using the Blink web engine, you may use [Electron](http://electron.atom.io/) or [NW.js](http://nwjs.io/) combined with [camel-harness](https://github.com/ddmitov/camel-harness).
95
95
96
96
Compiled and tested successfully using:
97
-
*[Qt Creator 2.8.1 and Qt 5.1.1](http://download.qt.io/official_releases/qt/5.1/5.1.1/) on 32-bit Debian Linux,
98
-
*[Qt Creator 3.0.0 and Qt 5.2.0](http://download.qt.io/official_releases/qt/5.2/5.2.0/) on 32-bit Debian Linux,
99
-
*[Qt Creator 3.0.0 and Qt 5.2.0](http://download.qt.io/official_releases/qt/5.2/5.2.0/) on 32-bit Windows XP,
100
-
*[Qt Creator 3.0.1 and Qt 5.2.1](http://download.qt.io/official_releases/qt/5.2/5.2.1/) on 64-bit OS X 10.9.1, i5,
101
-
*[Qt Creator 3.1.1 and Qt 5.3.0](http://download.qt.io/official_releases/qt/5.3/5.3.0/) on 64-bit Lubuntu 14.10 Linux,
102
-
*[Qt Creator 3.1.1 and Qt 5.4.1](http://download.qt.io/official_releases/qt/5.4/5.4.1/) on 64-bit Lubuntu 15.04 Linux,
103
-
*[Qt Creator 3.5.1 and Qt 5.5.1](http://download.qt.io/official_releases/qt/5.5/5.5.1/) on 64-bit Lubuntu 15.04 Linux,
104
-
*[Qt Creator 3.5.1 and Qt 5.5.1](http://download.qt.io/official_releases/qt/5.5/5.5.1/) on 64-bit Lubuntu 16.04 Linux.
105
-
97
+
*[Qt Creator 2.8.1 and Qt 5.1.1](http://download.qt.io/archive/qt/5.1/5.1.1/) on 32-bit Debian Linux,
98
+
*[Qt Creator 3.0.0 and Qt 5.2.0](http://download.qt.io/archive/qt/5.2/5.2.0/) on 32-bit Debian Linux,
99
+
*[Qt Creator 3.0.0 and Qt 5.2.0](http://download.qt.io/archive/qt/5.2/5.2.0/) on 32-bit Windows XP,
100
+
*[Qt Creator 3.0.1 and Qt 5.2.1](http://download.qt.io/archive/qt/5.2/5.2.1/) on 64-bit OS X 10.9.1, i5,
101
+
*[Qt Creator 3.1.1 and Qt 5.3.0](http://download.qt.io/archive/qt/5.3/5.3.0/) on 64-bit Lubuntu 14.10 Linux,
102
+
*[Qt Creator 3.1.1 and Qt 5.4.1](http://download.qt.io/archive/qt/5.4/5.4.1/) on 64-bit Lubuntu 15.04 Linux,
103
+
*[Qt Creator 3.5.1 and Qt 5.5.1](http://download.qt.io/archive/qt/5.5/5.5.1/) on 64-bit Lubuntu 15.04 Linux,
104
+
*[Qt Creator 3.5.1 and Qt 5.5.1](http://download.qt.io/archive/qt/5.5/5.5.1/) on 64-bit Lubuntu 16.04 Linux.
106
105
107
106
## Compile-time Variables
108
107
Changing the compile-time variables of PEB requires editing its project file - ``peb.pro``.
@@ -374,14 +373,14 @@ They have two functions:
374
373
```
375
374
376
375
## Security
377
-
Being a GUI for Perl 5 desktop applications, PEB executes with normal user privileges only local Perl scripts in its application directory. Reasonable security restrictions are implemented, but they do not constitute a sandbox for Perl scripts.
376
+
Being a desktop GUI, PEB executes with no sandbox local Perl 5 scripts in its application directory.
378
377
379
378
**PEB security principles:**
380
379
* Users have full access to their local data using PEB.
381
380
* PEB does not need administrative privileges, but does not refuse to use them if needed.
382
381
* Trusted and untrusted content are not mixed together in one browser window.
383
-
Trusted content is any content originating from either the local pseudo-domain ``http://local-pseudodomain/`` or from a trusted domain listed in ``{PEB_binary_directory}/resources/app/trusted-domains.json``. This file is read only once at application startup and can not be manipulated remotely. It allows mixing local and remote content for loading of remote content and for developing rich/thick/fat clients. ``trusted-domains.json`` has to be manually created by a developer of a PEB-based application if needed.
384
-
Untrusted content is any content not coming from the local pseudo-domain or from domains listed in the ``trusted-domains.json`` file.
382
+
Trusted content is any content originating from the local pseudo-domain ``http://local-pseudodomain/`` or from a trusted domain listed in ``{PEB_binary_directory}/resources/app/trusted-domains.json``. This file is read only once at application startup and can not be manipulated remotely. It allows mixing local and remote content and has to be manually created by a developer of a PEB-based application if needed.
383
+
Untrusted content is any content not coming from the local pseudo-domain or from a domain listed in the ``trusted-domains.json`` file.
385
384
386
385
**Hard-coded security features:**
387
386
* PEB can not execute Perl scripts from remote locations.
0 commit comments