Skip to content

Latest commit

 

History

History
113 lines (75 loc) · 5.38 KB

README.md

File metadata and controls

113 lines (75 loc) · 5.38 KB

Progressive Web Apps for Firefox - Native

The native part of the PWAsForFirefox project.

Description

The native part is written in Rust and handles the parts that the extension cannot do alone. This includes installing Firefox runtime, patching it with the chrome modifications, installing the sites, and launching them. This can be done via the firefoxpwa console program, or via the browser extension that connects with this program using native messaging protocol for easier use.

The native part also contains browser chrome (UI) modifications written in JS and CSS to make the browser work as a standalone PWA: Hiding tab and address bar, re-arranging widgets, handling the web app scope, and applying system integration.

Read the main README file for more details about the project.

Installation

Supported Operating Systems

  • Windows (pre-built MSI installer)
  • Debian-like Linux (pre-built DEB package)
  • Red Hat-like Linux (pre-built RPM package)
  • Arch-like Linux (source and binary AUR packages)
  • Gentoo-like Linux (GURU ebuild)
  • NixOS Linux (nixpkgs package)
  • Other Linux (source installation only)
  • macOS (bottled Homebrew formula)
  • BSD (source installation only)

Requirements

From Package Repositories

Packagecloud.io

The DEB and RPM packages are hosted on the packagecloud.io repository. You can enable this repository and install packages from there if you prefer to manage PWAsForFirefox updates using your system package manager.

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

Standard Repositories

Expand packaging status

Packaging status

Note

If you want to package PWAsForFirefox for your distribution or package manager, or have already packaged it, please let me know, so I can help with the packaging and list it in the installation instructions. If the packaging platform supports any auto-submission/uploading feature, please also let me know, as I might integrate it directly with GitHub Actions to make sure the packages are always up-to-date.

From Release Binaries

You can download installers/packages and the shell completions from the latest GitHub release.

From Development Binaries

You can download and install the latest build artifact from GitHub Actions builds. Note that these are development versions that may be unstable.

From Source

First, you will need make sure you have the following tools installed:

You can then run the following commands to build and install it using cargo-make:

# Clone the repository and switch into the correct directory
git clone https://github.com/filips123/PWAsForFirefox.git
cd PWAsForFirefox/native

# If building a specific version
# Set the VERSION environment variable
# And run the following commands to set version
git checkout tags/v${VERSION}
makers set-version ${VERSION}

# Build and install the project
makers install

Alternatively, you can:

If you want to modify the installation or runtime directory, please check our FAQ page for more details.

Usage

You can read our documentation website for usage instructions.

Contributing

Please make sure that your Rust code is properly linted and formatted using clippy and rustfmt (nightly version).

There is currently no formatter for UserChrome JS and CSS, but may be added in the future. Please try to keep your code clean...