- Shell 100%
| fix-flatpak-browser | ||
| README.md | ||
KeePassXC Flatpak browser fix
The problem this script solves:
Browsers installed via Flatpak can't communicate with KeePassXC out of the box because of their containerized nature. This script fixes that problem.
How does it work?
The script adjusts some Flatpak permissions and also configures a custom native-messaging-host as well as a wrapper script that launches the keepassxc-proxy from within the browsers Flatpak container.
Usage:
The easies way to run this script interactively, is this:
$ bash -c "$(curl -fsSL https://codeberg.org/sockenklaus/keepassxc-flatpak-browser-fix/raw/branch/main/fix-flatpak-browser)"
Or just clone this repository and use it non-interactively:
$ ./fix-flatpak-browser -y -k [native | flatpak-user | flatpak-system] -b <browser-app-id>
Use this if you know exactly how KeePassXC is installed on your system and you know your browsers Flatpak app-id. This doesn't ask for any confirmation.
You can output all supported browsers and known ways KeePassXC is installed on your system, which might be useful when using this script in your own scripts.
Help
Usage: $prog [option] [browser app-id]
Checks if and how keepassxc is installed, modify flatpak
permissions for the given browser and creates a wrapper script
so that the browser can spawn a keepassxc-proxy and communicate
with keepassxc.
Options:
-h Print this message and exit.
-b Print all supported browser app ids.
-b <ARG> Provide a browser app id to be patched.
-k List all ways, KeePassXC is installed on your system.
- native Installed directly on host
- flatpak-user Installed via Flatpak for the current user
- flatpak-system Installed via Flatpak system-wide
-k <ARG> Provide a KeePassXC installation your browser should be patched for:
-y Don't ask for confirmation before writing changes to disk.
-v Be slightly more verbose, show debug messages.
Supported browsers:
- org.mozilla.firefox
- io.gitlab.librewolf-community
- io.github.ungoogled_software.ungoogled_chromium
- com.brave.Browser
- com.google.Chrome
ToDo:
- Add support for more browser.
How to contribute?
You could add support for more browsers. For Gecko and Chromium based browsers this should be pretty easy because of their very similar structures but I honestly don't have the motivation or time to do this unsolicited.