Simple GTK app (Relm4 framework) to interact with Bitwarden/Vaultwarden vaults. Aimed at Linux mobile devices, but works on Desktop too. Maybe it works on other platforms as well, but they are not tested/maintained.
Find a file
Chfkch acb9826924
Some checks failed
Rust / build-arm (push) Has been cancelled
Rust / build (push) Has been cancelled
Update dependencies and use a different flake
Flake must be revisited, since right now we cannot really use the nix build properly.
2024-11-10 13:04:56 +00:00
.forgejo/workflows added aarch64-gcc 2024-03-28 15:00:23 +01:00
migrations Account creation now works with database 2024-04-16 14:12:14 +02:00
src Unclutter the Detail Page 2024-11-10 13:04:56 +00:00
.env renamed Account to Vault; introduction of database 2024-04-16 14:12:14 +02:00
.gitignore better packaging for nix, but lose some LSP stuff 2024-04-28 10:34:50 +02:00
bitritter.desktop add XDG .desktop file for launchers 2024-04-01 16:36:33 -07:00
build.rs Account creation now works with database 2024-04-16 14:12:14 +02:00
Cargo.lock Add About Dialog 2024-11-10 13:04:56 +00:00
Cargo.toml Add About Dialog 2024-11-10 13:04:56 +00:00
credentials-example.toml basic project setup 2024-03-21 10:32:06 +01:00
default.nix better packaging for nix, but lose some LSP stuff 2024-04-28 10:34:50 +02:00
dev.bitritter.BitRitter.metainfo.xml dev.bitritter.BitRitter.metainfo.xml: Suggest rename, add information 2024-10-02 20:13:11 +02:00
flake.lock Update dependencies and use a different flake 2024-11-10 13:04:56 +00:00
flake.nix Update dependencies and use a different flake 2024-11-10 13:04:56 +00:00
icons.toml icons for sorting and saving etc. 2024-11-10 13:04:56 +00:00
LICENSE Initial commit 2024-03-21 09:27:51 +00:00
README.md Updated ReadMe to the new functions 2024-11-10 13:04:56 +00:00
shell.nix better packaging for nix, but lose some LSP stuff 2024-04-28 10:34:50 +02:00

About this app

Motivation

This app started as a hobby project, since i am interested in testing out Linux phones as a daily driver and found it difficult to use, because most of my online accounts are protected by long and complicated passwords stored in my Vaultwarden instance. Since Bitwarden itself as a company has other priorities right now than to provide a mobile Linux client, i tried to build one on my own.

Name

Bitritter is a combination of Bitwarden, which the client aims to be compatilble with and the german word Ritter, which means knight.

Installation

Manual installation

Right now the only way to install is to clone this repository and compile it yourself. Usually it can be done via

  cargo build --release

with cargo installed (usually via rustup). A binary named bitritter should then appear in the target/release/ directory.

Installation via package manager

PostMarketOS

The app is in the testing repositories of Alpine already, so if you have that enabled, just use

  apk add bitritter

usually with root permissions.

NixOS

coming soon

Other

Help appreciated with formats like Mobian, Flatpak etc.

State

This app is still in a very early stage of development, but i wanted to upload my work, because there were several people interested in seeing it and maybe even contributing to it. Release early, release often, eh?

Feature list

  • Add a vault via GUI
  • Persist the vault information and active vault (later needed for switching) information
  • Login to a server (partial)
    • Login with master password only
    • Two Factor Authentication (2FA)
    • Login with client certificate
  • Sync your vault
  • Manual Sync via button (in the List Menu)
  • Unlock the vault
  • Look at Entry details
    • Login
    • Card
    • Identity
    • Note
  • Edit Entry details
  • Save edited details to the vault
  • Delete entries
  • Basic filter and search capabilities on the list
  • Basic sorting on the list

Personal Vault

  • Decrypt values to show on the detail page
  • Copy values from the detail page
  • provide TOTP token
  • decrypt URIs
  • open links/URIs directly from the detail page

Organisation Vault

Not yet supported

Usage

Creating/connecting to a vault

Considering you already have a bitwarden or vaultwarden vault, if not prompted at the first start of the app, use the Menu "Vault" and then "add Vault". In the dialog, fill in the respective fields. Since we use the rbw crate as our backend, the instructions here can be helpful.

Login / Unlock

After configuring a server, you should be prompted to enter your master password. BitRitter will then fetch the data (sync) and try to decrypt the vault items. In case of an error, a message toast should appear, otherwise you will be navigated to the Vault List.

Vault List

From the Vault List you have several options:

  • Display a Vault Item in Detail View.
  • Apply Filters.
  • Apply Sorting configurations. For now we can only sort by name in either Ascending or Descending order.
  • Sync the Vault
  • Add another Vault. Switching between Vaults might be implemented at a later point in time.

Detail View

In this view you have the following options:

  • View field contents
  • Copy field contents
  • Copy TOTP tokens
  • Copy links (URIs) or open them with your systems default action (Browser for websites etc.)

Alternatives

After my first proof of concept, i got informed about Goldwarden, which has similar goals. I think it is more feature complete right now, so maybe it is interesting for you aswell.

Contributing

Please refrain from opening issues about lacking features, since i got many topics on my list already. PRs for improving my coding style are welcome, but please do not rewrite the whole code... If there are bugs right now, you can open an issue, but since the app is quite unstable, i am not sure they get addressed very soon. I hope that can change if i can get the basic features stabilized.