{"id":13728484,"url":"https://github.com/ddmitov/perl-executing-browser","last_synced_at":"2025-04-09T20:05:38.552Z","repository":{"id":12187931,"uuid":"14790609","full_name":"ddmitov/perl-executing-browser","owner":"ddmitov","description":"HTML user interface for Perl 5 desktop applications :dromedary_camel:","archived":false,"fork":false,"pushed_at":"2024-11-09T13:35:39.000Z","size":13733,"stargazers_count":66,"open_issues_count":0,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-09T20:05:33.448Z","etag":null,"topics":["desktop-application-sdk","gui","html","perl5","qt5","qtwebengine"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ddmitov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-11-29T01:47:07.000Z","updated_at":"2024-12-25T23:47:11.000Z","dependencies_parsed_at":"2024-11-09T14:26:50.630Z","dependency_job_id":"e5dfe155-db18-4987-8733-0998ee259309","html_url":"https://github.com/ddmitov/perl-executing-browser","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddmitov%2Fperl-executing-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddmitov%2Fperl-executing-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddmitov%2Fperl-executing-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddmitov%2Fperl-executing-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ddmitov","download_url":"https://codeload.github.com/ddmitov/perl-executing-browser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103872,"owners_count":21048245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-application-sdk","gui","html","perl5","qt5","qtwebengine"],"created_at":"2024-08-03T02:00:43.183Z","updated_at":"2025-04-09T20:05:38.526Z","avatar_url":"https://github.com/ddmitov.png","language":"C++","readme":"# Perl Executing Browser\n\nPerl Executing Browser (PEB) is an HTML user interface for [Perl 5](https://www.perl.org/) desktop applications.  \nIt is a C++ [Qt 5](https://www.qt.io/) program running local Perl scripts as child processes without server.  \n\n![PEB Screenshot](./doc/screenshot.png \"PEB Screenshot\")  \n\n## Contents\n\n* [Design Objectives](#design-objectives)\n* [Features](#features)\n* [Requirements](#requirements)\n* [Security](#security)\n* [Limitations](#limitations)\n* [Application Directory](./doc/application-directory.md)\n* [Perl Scripts API](./doc/perl-scripts-api.md)\n* [Ubuntu Package](#ubuntu-package)\n* [Logging](#logging)\n* [History](#history)\n* [Thanks and Credits](./CREDITS.md)\n* [License](./LICENSE.md)\n* [Authors](#authors)\n\nThe key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\",  \n\"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\" and \"OPTIONAL\"  \nin the documentation of this project are to be interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt).  \n\n## Design Objectives\n\n* **1. Easy graphical user interface for Perl 5 desktop applications**\n* **2. Secure solution with no server process**\n* **3. Maximal reuse of existing web technologies and standards**\n\n## Features\n\n* No limitation on how long a Perl script can run\n* Any version of a [relocatable](https://github.com/skaji/relocatable-perl) or standard Perl 5 distribution can be used.\n* [Output from Perl scripts is seamlessly inserted in a web-like user interface.](./doc/perl-scripts-api.md)\n* [Local full paths can be selected and passed to Perl scripts.](./doc/perl-scripts-api.md)\n* [Optional icon](./doc/application-directory.md)\n\n## Requirements\n\n### Compile-Time Requirements\n\n* Qt development bundle versions 5.9 - 5.15\n* QtWebEngine headers and libraries\n\nRun the following commands in the root directory of the PEB project to compile PEB:\n\n```bash\ncd src\nqmake -qt=qt5\nmake\n```\n\n### Runtime Requirements\n\n* QtWebEngine 5.9 - 5.15 runtime libraries\n* Perl 5 - any Linux Perl distribution  \n  PEB will use the first Perl on PATH if a full path to a Perl interpreter is not set.\n\n## Security\n\n* PEB does does not implement and does not use a server process.\n* PEB Perl scripts are only local scripts executed with no sandbox.\n* PEB does not access web content.\n\n## Limitations\n\n* No access to web content\n* No Perl scripting inside frames\n* No JavaScript Alert, Confirm and Prompt\n* No pop-up windows\n* Minimal context menu\n* No printing\n* No AppImage support\n\n## [Application Directory](./doc/application-directory.md)\n\n## [Perl Scripts API](./doc/perl-scripts-api.md)\n\n## Ubuntu Package\n\nPEB can be packed as an Ubuntu .deb package and installed using the following commands:  \n\n```bash\n./makedeb.sh\nsudo dpkg -i peb-*-x86_64.deb\n```\n\nAfter installation, PEB becomes a runtime for PEB-based applications and must be started with a PEB Application Directory as its only command-line argument:  \n\n```bash\npeb /full/path/to/application-directory\npeb ./relative/path/to/application-directory\n```\n\n## Logging\n\nPEB has unified logging of all JavaScript and Perl errors in the command-line console.\n\n## History\n\nPEB was started in 2013 as a simple user interface for personal database applications.\n\n## [Thanks and Credits](./CREDITS.md)\n\n## [License](./LICENSE.md)\n\nThis program is free software;  \nyou can redistribute it and/or modify it under the terms of the GNU Lesser General Public License,  \nas published by the Free Software Foundation;  \neither version 3 of the License, or (at your option) any later version.  \nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;  \nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n## Authors\n\nDimitar D. Mitov, 2013 - 2024  \nValcho Nedelchev, 2014 - 2016  \n","funding_links":[],"categories":["👓 Alternatives to the [Electron.js](https://electronjs.org) ⚛"],"sub_categories":["Perl"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddmitov%2Fperl-executing-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddmitov%2Fperl-executing-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddmitov%2Fperl-executing-browser/lists"}