A feature-packed Bitwarden compatible desktop integration
Go to file
Daniele Scasciafratte 873c4fb799
Create __init__.py
Avoid this crash if the python script is executed:
```
Traceback (most recent call last):
  File "/home/mte90/Desktop/kde/goldwarden/gui/goldwarden_ui_main.py", line 2, in <module>
    import src.linux.main as linux_main
ModuleNotFoundError: No module named 'src.linux'
```
2024-02-12 18:34:18 +01:00
.github/workflows Fix arm64 windows release 2024-02-04 10:21:58 +01:00
agent Attempt to fix gui login errors when uri is missing 2024-02-12 18:06:53 +01:00
autotype Fix autotype on kde 2024-01-23 18:09:18 +01:00
browserbiometrics Attempt to fix browserbiometrics 2024-01-19 08:24:26 +01:00
client Remove old config options 2024-02-09 19:37:09 +01:00
cmd Prevent setup as root 2024-02-09 18:05:15 +01:00
gui Create __init__.py 2024-02-12 18:34:18 +01:00
ipc Implement initial pinentry 2024-02-09 00:24:28 +01:00
logging Add more env variables 2023-08-21 18:37:34 +02:00
resources Update polkit policy 2023-09-19 22:29:21 +02:00
.gitignore Add initial authenticated connection work 2024-02-08 16:35:07 +01:00
com.quexten.Goldwarden.yml Fix incorrect binary path 2024-02-09 22:51:37 +01:00
go.mod Update go-libfido2 2024-02-04 09:57:24 +01:00
go.sum Update go-libfido2 2024-02-04 09:57:24 +01:00
LICENSE Initial commit 2023-07-17 03:23:26 +02:00
main.go Remove old config options 2024-02-09 19:37:09 +01:00
PKGBUILD Update PKGBUILD to 0.2.10 2024-01-20 06:11:23 +01:00
Readme.md Update Readme.md 2024-02-04 01:21:12 +01:00

Goldwarden

Goldwarden is a Bitwarden compatible desktop client. It focuses on providing useful desktop features that the official tools do not (yet) have or are not willing to add, and enhanced security measures that other tools do not provide, such as:

  • Support for SSH Agent (Git signing and SSH login)
  • System wide autotype (Linux - Gnome, KDE only for now)
  • Biometric authentication
  • Implements Bitwarden browser-extension biometrics on Linux
  • Support for injecting environment variables into the environment of a cli command
  • Vault content is held encrypted in memory and only briefly decrypted when needed
  • Kernel level memory protection for keys (via the memguard library)
  • Additional measures to protect against memory dumps
  • Passwordless login (Both logging in, and approving logins)
  • Fido2 (Webauthn) support
  • more to come...?

The aim is not to replace the official clients, but to complement by implementing the missing features.

Requirements

Right now, Goldwarden is only tested on Linux. Somewhat feature-stripped builds for Mac and Windows are available too, but untested. Autotype is currently implemented via the remotedesktop portal. This is supported on KDE and Gnome, but not yet on wl-root based environments.

Installation

Flatpak

There is a flatpak that includes a small UI, autotype functionality and autostarting of the daemon.

Download on Flathub

CLI

Arch (AUR)

On Arch linux, or other distributions with access to the AUR, simply:

yay -S goldwarden

should be enough to install goldwarden on your system.

Deb / RPM

For deb/rpm, download the deb/rpm from the latest release on GitHub and install it using your package manager.

NixOS

https://github.com/NixOS/nixpkgs/pull/278362

Github Binary Releases

On other distributions, Mac and Windows, you can download it from the latest release on GitHub and put it into a location you want to have it in, f.e /usr/bin.

Compiling

Alternatively, you can build it yourself.

go install github.com/quexten/goldwarden@latest

Setup and Usage

To get started, follow the instructions provided in the wiki https://github.com/quexten/goldwarden/wiki/Getting-Started. For instructions on specific features, also consult the wiki page for the feature.

Contributing

Interested in contributing a feature or bug-fix? Great! Here is some information on how to set up your development environment:

https://github.com/quexten/goldwarden/wiki/Setting-up-the-Development-Environment

After that, create a PR. If you encounter any issues, feel free to open a discussion thread.