Giter VIP home page Giter VIP logo

firefox-ssb's Introduction

immagine

This Python tool aims to provide a workaround for the lack of PWAs (Progressive Web Apps) management in Firefox browser. There are already other alternatives to bypass this limitation (such as: https://github.com/filips123/PWAsForFirefox). However, the idea of this project is to avoid relying on add-ons and extensions.

Caveat: At the moment, Firefox does not support PWAs like Chromium-based browser. This tool is not intended to provide full support for PWAs but wants to offer the ability to create standalone launchers to open websites as Site-Specific Browser.

How it works

The tool creates a Firefox profile for each web app. Separate profiles are needed to open web apps in separate windows as standalone applications. The tool create a .desktop file for each web app as launcher. Initially, this tool used the Site-Specific Browser (SSB) feature, but Firefox removed it. Now the tool edits some CSS settings in order to avoid unnecessary functionality usually provided by the web browser ( menus, address bar, toolbars, add-ons etc.).

Key Features

  • No Firefox add-on needed
  • Creation of stand-alone launchers for web applications
  • Automatic download of web-page favicon (which will be used as launcher icon)
  • Deep separation of user data between web applications (your default user profiles aren't affected)
  • Simple management of SSB applications (install/edit/uninstall)

Installing

Requirements

  • Python $>=$ 3.11.4 required

Installation

  1. Create a virtual environment (recommended)
$ python3.8 -m venv .venv
  1. Activate the virtual envorinment
$ source activate virt/bin/activate
  1. Clone this repository using git:
$ git clone https://github.com/VincenzoCaputo/firefox-SSB
  1. Install dependencies
$ pip install -i requirements.txt

User Guide

You can use Firefox-SSB through CLI. You can see help information using this command:

$ python firefox-ssb.py --help

This tool currently provides four possibile operations:

  • install: install a SSB application. You must provide the name of the application, the URL of the associated web page and, optionally, the icon for the web app
  • uninstall: remove a web application. Profile folder, icon and launcher will be removed. (WARNING: all the user data used by that application will be removed)
  • list: get the list of installed applications
  • edit: edit the icon of an installed SSB application.

Install a new web app

$ python firefox-ssb.py --name GitHub --url https://github.com/ 

Notice that the tool tries to download automatically the favicon of the web page which will be used as application icon. However, the quality of the image may be low. Therefore I suggest you to specify a custom image.

immagine

Testing

This tool was tested on Fedora Linux 38 (GNOME 44.3) with Firefox 115.0.2

firefox-ssb's People

Contributors

vincenzocaputo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.