Skip to content

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

License

Notifications You must be signed in to change notification settings

varjolintu/keepassxc-proxy-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 <sami.vanttinen@ahmala.org>
Copyright (C) 2017-2018 Andy Brandt <andy@brandt.tech>

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/>.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages