Skip to main content

Flatpak Google Chrome mit Flatpak KeepassXC verbinden

Gib dem Browser Zugriff auf die KeePassXC-Flatpak-App und KDE-Laufzeitinstallationen sowie auf den KeePassXC-Proxy-Socket:

flatpak override --user \
  --filesystem={/var/lib,xdg-data}/flatpak/{app/org.keepassxc.KeePassXC,runtime/org.kde.Platform}:ro \
  --filesystem=xdg-run/app/org.keepassxc.KeePassXC:create com.google.Chrome

Erstelle ein Wrapper-Script unter ~/.var/app/com.google.Chrome/data/bin/keepassxc-proxy-wrapper.sh und setze Ausführen-Rechte mit chmod +x ~/.var/app/com.google.Chrome/data/bin/keepassxc-proxy-wrapper.sh

#!/bin/bash

APP_REF="org.keepassxc.KeePassXC/x86_64/stable"

for inst in "$HOME/.local/share/flatpak" "/var/lib/flatpak"; do
    if [ -d "$inst/app/$APP_REF" ]; then
        FLATPAK_INST="$inst"
        break
    fi
done
[ -z "$FLATPAK_INST" ] && exit 1

APP_PATH="$FLATPAK_INST/app/$APP_REF/active"

RUNTIME_REF=$(awk -F'=' '$1=="runtime" { print $2 }' < "$APP_PATH/metadata")
RUNTIME_PATH="$FLATPAK_INST/runtime/$RUNTIME_REF/active"

exec flatpak-spawn \
    --env=LD_LIBRARY_PATH=/app/lib \
    --app-path="$APP_PATH/files" \
    --usr-path="$RUNTIME_PATH/files" \
    -- keepassxc-proxy "$@"

Speichere das JSON-Manifest des nativen Messaging-Hosts in einem Pfad, in dem der Flatpak Google-Chrome Browser suchen kann: ~/.var/app/com.google.Chrome/config/google-chrome/NativeMessagingHosts/org.keepassxc.keepassxc_browser.json

{
    "allowed_origins": [
        "chrome-extension://pdffhmdngciaglkoonimfcmckehcpafo/",
        "chrome-extension://oboonakemofpalcgghocfoadofidjkkk/"
    ],
    "description": "KeePassXC integration with native messaging support",
    "name": "org.keepassxc.keepassxc_browser",
    "path": "/home/<username>/.var/app/com.google.Chrome/data/bin/keepassxc-proxy-wrapper.sh",
    "type": "stdio"
}

Jetzt ggf. den Browser neu starten. Im KeepassXC sollte natürlich die Browser-Integration aktiviert sein.