5
30
Fork
You've already forked bitritter
8
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.
  • Rust 91.6%
  • Fluent 2.9%
  • Meson 2.9%
  • Nix 2.2%
  • Shell 0.4%
Chfkch 004938673d
Some checks failed
Rust / build-arm (push) Has been cancelled
Rust / build (push) Has been cancelled
Cleanup warnings
2026年06月03日 19:03:30 +02:00
.forgejo/workflows added aarch64-gcc 2024年03月28日 15:00:23 +01:00
build-aux build: latest libadwaita is not neccessary and 2026年05月28日 07:00:39 -07:00
data fix: incorrect/missing icon 2026年05月28日 07:02:59 -07:00
locales Translated using Weblate (German) 2026年05月26日 12:07:48 +00:00
migrations Account creation now works with database 2024年04月16日 14:12:14 +02:00
po Add flatpak manifest and meson build configuration 2025年10月09日 14:32:13 +01:00
src Cleanup warnings 2026年06月03日 19:03:30 +02:00
.env renamed Account to Vault; introduction of database 2024年04月16日 14:12:14 +02:00
.gitignore Updated rbw and introduced fluent localization 2026年02月19日 20:50:37 +01:00
build.rs Fix database creation #1 2026年05月28日 20:32:11 +02:00
Cargo.lock Merge remote-tracking branch 'flatpak/flatpak_gnome_app' into add-flatpak 2026年05月27日 19:42:56 -07:00
Cargo.toml use XDG specification to store appdata 2026年05月20日 18:22:55 +02: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
flake.lock Updated rbw and introduced fluent localization 2026年02月19日 20:50:37 +01:00
flake.nix Add sqlx in development flake 2026年06月03日 19:03:25 +02:00
i18n.toml Updated rbw and introduced fluent localization 2026年02月19日 20:50:37 +01:00
LICENSE Initial commit 2024年03月21日 09:27:51 +00:00
meson.build fix: incorrect/missing icon 2026年05月28日 07:02:59 -07:00
README.md Add fluent localisation 2026年05月20日 18:22:55 +02: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.

Contributing translations / localisation

Visit the weblate at https://translate.codeberg.org/projects/bitritter/bitritter-fluent/ to see where you can help out. The project uses the Fluent localisation framework. To find out more about Fluent, visit the official documentation.

It may be, that not all strings in the app are translated, feel free to open an issue about this. I have not found a way to make the menu items translatable for now, so ignore them for the moment.