Skip to content

ddmitov/perl-executing-browser-qtwebengine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Perl Executing Browser QtWebEngine

Perl Executing Browser QtWebEngine is a Linux version of the Perl Executing Browser using QtWebEngine.

Perl Executing Browser (PEB) is an HTML user interface for Perl 5 desktop applications.
It is a C++ Qt 5 program running local Perl scripts as child processes without server.

PEB Screenshot

Contents

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL"
in the documentation of this project are to be interpreted as described in RFC 2119.

Design Objectives

  • 1. Easy graphical user interface for Perl 5 desktop applications
  • 2. Secure solution with no server process
  • 3. Maximal reuse of existing web technologies and standards

Features

Requirements

Compile-Time Requirements

  • Qt development bundle versions 5.9 - 5.12

  • QtWebEngine headers and libraries

Run the following commands in the root directory of the PEB project to compile PEB:

cd src
qmake -qt=qt5
make

Runtime Requirements

  • QtWebEngine 5.9 - 5.12 runtime libraries

  • Perl 5 - any Linux relocatable or standard Perl distribution

    PEB will use the first Perl on PATH if a relocatable Perl distribution is not available.

Security

  • PEB does does not implement and does not use a server process.
  • PEB Perl scripts are only local scripts executed with no sandbox.
  • PEB does not access web content.

Limitations

  • No access to web content
  • No Perl scripting inside frames
  • No JavaScript Alert, Confirm and Prompt
  • No pop-up windows
  • Minimal context menu
  • No printing
  • No AppImage support

Ubuntu Package

PEB can be packed as an Ubuntu .deb package using the included makedeb.sh script.
PEB can be installed from an Ubuntu .deb package using the command:

sudo dpkg -i peb-*-x86_64.deb

When PEB is installed system-wide, it can be used as a runtime for PEB-based applications. In this scenario PEB must be started with a PEB Application Directory as its only command-line argument:

peb /full/path/to/application-directory

Logging

PEB has unified logging of all JavaScript and Perl errors in the command-line console.

History

PEB was started in 2013 as a simple user interface for personal database applications.
PEB QtWebEngine became a separate application in 2018.

This program is free software;
you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License,
as published by the Free Software Foundation;
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Author

Dimitar D. Mitov, 2018 - 2019, 2023