ランキングに戻る

filips123/PWAsForFirefox

JavaScriptpwasforfirefox.filips.si

A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox

firefoxfirefox-addonfirefox-extensionuserscriptuserchromemozilla-firefoxprogressive-web-apppwahacktoberfest
スター成長
スター
3k
フォーク
69
週間成長
Issue
89
1k2k3k
2023年1月2024年3月2025年5月2026年7月
成果物npmnpm install pwasforfirefox
README

Logo

Progressive Web Apps for Firefox

Release Users Rating License Repositories Packagecloud.io DEB Packagecloud.io RPM

A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox.

Description

Progressive Web Apps (PWAs) are web apps that use web APIs and features along with progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications. Although Firefox supports many of Progressive Web App APIs, it does not support functionality to install them as a standalone system app with an app-like experience.

This project creates a custom modified Firefox runtime to allow websites to be installed as standalone apps and provides a console tool and browser extension to install, manage and use them.

Usage

TLDR: Install the browser extension and follow in-browser installation instructions. You can read the documentation website for usage instructions and other useful resources.

For more details and technical documentation about setting up, using, and developing the project, see the READMEs of the native and extension part:

Features

Available Features

  • Command-line tool to install, manage and run Progressive Web Apps in Firefox.
  • Extension to set up native programs, and install, manage and run PWAs and their profiles directly from the main Firefox browser.
  • Isolated Firefox installation and profile(s) that store the PWAs.
  • Installed PWAs have their own start/app menu entry and taskbar icon, and live in their own window.
  • Installed PWAs have no tabs and address bar for a better app-like feel.
  • Support for installing all websites as Progressive Web Apps.
  • Support for all Firefox addons/extensions and built-in Firefox features.
  • Support for automatic (user-triggered) installation and patching of installation and profile(s).

Planned Features

  • Support for more system-related web app manifest features (once they are standardized).

Not Planned Features

  • Integration into official Firefox code. This project currently modifies the browser chrome (UI) at runtime using JS and CSS. Although this works, it is officially unsupported by Mozilla and can break with Firefox updates. To contribute features back into the official Firefox code, they would need to be implemented properly with the new chrome page and browser services. Unfortunately, this requires an almost complete rewrite of the project, and I currently don't have enough knowledge and time to do that.

  • Using the same installation profile for PWAs and normal browsing. This could make the main browser installation/profile unstable if things break. It would also prevent customizing the PWA profile to work better as a PWA profile, and installing custom addons. If you want to sync data between your main and PWA profile, I recommend using Firefox Account or a third-party sync solution.

  • Running PWAs installed as Windows APPX/MSIX packages or from Microsoft Store. They will always use Chromium-based Edge that is installed on Windows 10/11. I'm not sure if it is possible to override this. If it is not too hard and doesn't cause any problems, I may try this in the future.

  • Support for Chromium-specific APIs (Filesystem, Bluetooth, NFC, USB...). This would require forking and directly modifying the Firefox source. Also, I'm not sure if giving websites the same privileges as native apps is the best idea...

Current Limitations

You can our documentation website for a list of current limitations.

Supporters

Sponsors

Thanks to packagecloud.io for sponsoring this project and providing us a free hosting for our DEB and RPM packages!

Private NPM repository and Maven, RPM, DEB, PyPi and RubyGems repository · packagecloud

 

Thanks to SignPath Foundation for providing us a free code signing certificate for Windows packages and SignPath for providing the code signing infrastructure!

Free Code Signing for Open Source software · SignPath

 

Thanks to all donors for providing financial support for the project!
Please check supported donation services if you want to help the project by donating.

Contributors

Thanks to all contributors to this project for providing help and developing features!

Contributors

Other Mentions

Thanks to all package maintainers making sure the project is up-to-date! Thanks to all translators making the project available in multiple languages! Thanks to all stargazers who starred our repository on GitHub. Finally, thanks to Mozilla and its developers for creating Firefox and making it possible to modify its UI using JavaScript!

Versioning

The project uses SemVer for versioning. For the available versions and the changelog, see the releases on this repository.

The native and extension part of the project at released tags are compatible with each other according to SemVer. The native and extension part at non-tagged commits may not be compatible with each other, because they are development versions that may not be both updated at the same time.

The project aims for compatibility with the latest stable Firefox version. It may not be compatible with the others.

License

The project is licensed under the Mozilla Public License 2.0. By using, redistributing, or modifying it, you must agree to the license, and the additional clauses provided below. See the LICENSE file for the full license text.

The project uses additional third-party assets and code:

Additional open source software will be downloaded and installed at runtime when initiated by the user:

  • Installing the runtime on Windows will install 7-Zip if it is not already installed. The 7-Zip project is made by Igor Pavlov and licensed under the GNU LGPL license and others. This project is not affiliated with the 7-Zip project or its developers in any way.

  • Installing the runtime on any system will download the unmodified Mozilla Firefox browser and locally modify it. By using the runtime you agree to the Firefox Terms of Use and Privacy Notice. Firefox is licensed under the Mozilla Public License 2.0. Firefox and the Firefox logo are trademarks of the Mozilla Foundation in the U.S. and other countries. This project is not affiliated with the Mozilla Foundation in any way.

関連リポジトリ
puppeteer/puppeteer

JavaScript API for Chrome and Firefox

TypeScriptnpmApache License 2.0headless-chrometesting
pptr.dev
95.3k9.5k
microsoft/playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

TypeScriptnpmApache License 2.0playwrighttesting
playwright.dev
93.2k6.1k
gorhill/uBlock

uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

JavaScriptnpmGNU General Public License v3.0ublock-originblocker
66.4k4.2k
FiloSottile/mkcert

A simple zero-config tool to make locally trusted development certificates with any names you'd like.

GoGo ModulesBSD 3-Clause "New" or "Revised" Licensehttpstls
mkcert.dev
59.4k3.1k
zen-browser/desktop

Welcome to a calmer internet

JavaScriptnpmMozilla Public License 2.0firefoxfirefox-based
zen-browser.app
43.5k1.6k
ArchiveBox/ArchiveBox

🗃 Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more...

PythonPyPIMIT Licensepocketwget
archivebox.io
28k1.6k
ovity/octotree

GitHub on steroids

JavaScriptnpmGNU Affero General Public License v3.0githubchrome
octotree.io
23.2k1.8k
gildas-lormeau/SingleFile

Web Extension for saving a faithful copy of a complete web page in a single HTML file

JavaScriptnpmGNU Affero General Public License v3.0browserarchive
getsinglefile.com
21.9k1.4k
xifangczy/cat-catch

猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension

JavaScriptnpmGNU General Public License v3.0chromechrome-extension
cat-catch.94cat.com
20.8k1.8k
amir1376/ab-download-manager

A Download Manager that speeds up your downloads

KotlinApache License 2.0composecompose-multiplatform
abdownloadmanager.com
16.8k867
microsoft/playwright-python

Python version of the Playwright testing and automation library.

PythonPyPIApache License 2.0playwrightchromium
playwright.dev/python/
14.8k1.2k
moonD4rk/HackBrowserData

Extract and decrypt browser data, supporting multiple data types, runnable on various operating systems (macOS, Windows, Linux).

GoGo ModulesMIT Licensechromemacos
14.4k1.8k