Skip to content

Latest commit

 

History

History
70 lines (49 loc) · 2.52 KB

README.md

File metadata and controls

70 lines (49 loc) · 2.52 KB

keepassxc-proxy-rust

Application that works as a proxy between Native Messaging browser extension and KeePassXC

This is still under development. Installing the proxy needs manual changes to JSON scripts installed for Native Messaging. See this page for further information.

keepassxc-proxy listens stdin from keepassxc-browser extension and transfers the data to Unix domain socket(s):

  • XDG_RUNTIME_DIR/app/org.keepassxc.KeePassXC/ (also supporting old legacy path with plain XDG_RUNTIME_DIR)
  • /tmp/org.keepassxc.KeePassXC.BrowserServer (macOS and Linux fallback)
  • With Windows this is a named pipe under keepassxc\\<username>\\org.keepassxc.KeePassXC.BrowserServer

Installing

Alpine Linux

If you use Alpine Linux, you can install the proxy from the keepassxc-proxy-static package. It's built as a static binary, so it can be used with a browser installed from and running in Flatpak. This package is available in Alpine Linux repositories since (upcoming) v3.17 and in Edge.

apk add keepassxc-proxy-static

You can then install the proxy and associated config into Firefox or Chromium using the keepassxc-proxy-install command. Run keepassxc-proxy-install -h for more information.

Building

The proxy can be built with:

cargo build --release

Static library

To build a binary without dependencies (which is useful for running inside of a flatpak), you'll have to install MUSL libc first:

rustup target add x86_64-unknown-linux-musl

Then build with

RUSTFLAGS='-C link-arg=-s' cargo build --release --target x86_64-unknown-linux-musl

(see Stackoverflow)

Copyright

Copyright (C) 2017-2022 Sami Vänttinen <[email protected]>
Copyright (C) 2017-2018 Andy Brandt <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.