The WebApp Manager is a compact GTK/Libadwaita desktop and mobile tool for creating, importing, exporting, and managing Linux web app launchers with dedicated browser profiles.
This project is under active development. Features may change and instability is possible.
- Create and update web app launchers via a central user interface
- Manage dedicated Firefox and Chromium/Chrome profiles per web app
- Import existing launchers and .wapp exports
- Manage icons, user-agent preferences, modes and browser-specific options
flatpak remote-add --if-not-exists webappmanager https://misc-de.github.io/WebApp-Manager/de.cais.webappmanager.flatpakrepo
flatpak install webappmanager de.cais.webappmanager
flatpak run de.cais.webappmanager
Updates then come with flatpak update. The repository is GPG-signed.
The Flatpak shares its data with a source install: web apps, launchers and browser profiles live in the same locations, so you can switch between the two without losing anything.
Because this app manages host state, the package needs broader permissions
than a typical sandboxed app. Notably --talk-name=org.freedesktop.Flatpak,
which lets it detect and start browsers on the host through flatpak-spawn.
Without it the app still edits launchers, but cannot find or launch a browser.
Every permission is commented in
flatpak/de.cais.webappmanager.yml.
Available for x86_64 and aarch64 (phones running Phosh/FuriOS included).
Building the package yourself instead:
flatpak install flathub org.gnome.Platform//49 org.gnome.Sdk//49
make flatpak-build
flatpak install --user repo de.cais.webappmanager
1. System dependencies. The app is built on GTK 4 / Libadwaita and needs their GObject-Introspection bindings. Install them from your distribution rather than from pip — the bindings have to match the system GTK build:
# Debian / Ubuntu
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-4.0 gir1.2-adw-1 python3-pil
# Arch
sudo pacman -S python-gobject gtk4 libadwaita python-pillow
# Fedora
sudo dnf install python3-gobject gtk4 libadwaita python3-pillow
Optional, each gating one feature: python3-cairosvg (SVG icon import) and
gir1.2-gtksource-5 (syntax highlighting in the custom-asset editor).
See requirements.txt and
requirements-optional.txt for the pip equivalents.
2. Get the source.
git clone https://github.com/misc-de/WebApp-Manager.git
After the first launch, a web app launcher is automatically created on the system.
python3 WebApp-Manager/main.py
Web apps can be imported via .wapp files.
Existing launchers can be extended with the value
ManagedBy=WebApp
in the existing .desktop file so that they are imported when the WebApp Manager is started.
This project can work with third-party Firefox extensions. Those extensions are not authored by this project and remain under their upstream licenses and distribution terms.
Current plugin references:
- uBlock Origin
AMO: https://addons.mozilla.org/firefox/addon/ublock-origin/
Project: https://github.com/gorhill/uBlock


