BitSailor

Rating: 
5
Your rating: None Average: 5 (8 votes)

You can translate to your language on Transifex: https://explore.transifex.com/rikudou-sage/bitsailor/.

Support thread on SFOS forum: https://forum.sailfishos.org/t/bitsailor-support-thread/15074

A Bitwarden client for Sailfish OS that uses the official Bitwarden CLI in the background.

All your sensitive data is stored in Sailfish secrets storage. Your password is stored only when you enable other options for unlocking your vault (PIN code, system dialog).

Note that this app is a work in progress and aims to support almost everything the Android app does.

Requires node.js and npm. My repository has a version for aarch64 and i486 so it should be installed automatically for those architectures.

What works:

  • Logging in via api key or email & password
    • email & password not available if you use two factor authentication
  • Unlocking vault via following methods:
    • master password
    • PIN code
    • system dialog / fingerprint
  • Listing of items (logins, credit cards, notes, identities)
    • Searching in the list
  • Adding items (logins, credit cards, notes)
  • Seeing a detail of an item
    • Copying of field values (like username, password, note etc.)
    • Each item type has its own cover page which allows you to copy most used items (like username, password and TOTP for logins) without opening the app
    • Generating TOTP (one time passwords) works
    • Custom fields
  • Listing of Bitwarden Sends
    • Copying URL of Bitwarden Send in list
  • Synchronizing vault
  • Various settings to make loading of the vault faster, some of them experimental
  • Localizations:
    • English
    • Czech
    • French (by 7185)

Source code: https://github.com/RikudouSage/harbour-bitsailor/

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-bitsailor-0.1.0-1.aarch64.rpm76.66 KB27/09/2022 - 00:26
File harbour-bitsailor-0.1.0-1.armv7hl.rpm73.07 KB27/09/2022 - 00:26
File harbour-bitsailor-0.1.0-1.i486.rpm81.98 KB27/09/2022 - 00:26
File harbour-bitsailor-0.1.1-1.i486.rpm85.34 KB27/09/2022 - 14:04
File harbour-bitsailor-0.1.1-1.aarch64.rpm79.99 KB27/09/2022 - 14:04
File harbour-bitsailor-0.1.2-1.i486.rpm130.15 KB27/09/2022 - 19:14
File harbour-bitsailor-0.1.2-1.aarch64.rpm124.81 KB27/09/2022 - 19:14
File harbour-bitsailor-0.1.3-1.i486.rpm130.76 KB27/09/2022 - 20:12
File harbour-bitsailor-0.1.3-1.aarch64.rpm125.36 KB27/09/2022 - 20:12
File harbour-bitsailor-0.1.4-1.i486.rpm141.34 KB28/09/2022 - 00:17
File harbour-bitsailor-0.1.4-1.aarch64.rpm136 KB28/09/2022 - 00:17
File harbour-bitsailor-0.1.5-1.i486.rpm143.27 KB01/10/2022 - 02:20
File harbour-bitsailor-0.1.5-1.aarch64.rpm137.82 KB01/10/2022 - 02:20
File harbour-bitsailor-0.1.6-1.i486.rpm150.36 KB02/10/2022 - 15:05
File harbour-bitsailor-0.1.6-1.aarch64.rpm143.7 KB02/10/2022 - 15:05
File harbour-bitsailor-0.1.6-1.armv7hl.rpm139.83 KB02/10/2022 - 18:39
File harbour-bitsailor-0.1.7-1.aarch64.rpm144.21 KB03/10/2022 - 15:36
File harbour-bitsailor-0.1.7-1.armv7hl.rpm140.04 KB03/10/2022 - 15:36
File harbour-bitsailor-0.1.7-1.i486.rpm150.92 KB03/10/2022 - 15:36
File harbour-bitsailor-0.1.8-1.i486.rpm159.68 KB04/10/2022 - 15:55
File harbour-bitsailor-0.1.8-1.armv7hl.rpm149.14 KB04/10/2022 - 15:55
File harbour-bitsailor-0.1.8-1.aarch64.rpm152.75 KB04/10/2022 - 15:55
File harbour-bitsailor-0.1.9-1.i486.rpm160.83 KB06/10/2022 - 16:03
File harbour-bitsailor-0.1.9-1.armv7hl.rpm150.39 KB06/10/2022 - 16:03
File harbour-bitsailor-0.1.9-1.aarch64.rpm153.96 KB06/10/2022 - 16:03
File harbour-bitsailor-0.2.0-1.i486.rpm162.42 KB06/10/2022 - 18:49
File harbour-bitsailor-0.2.0-1.armv7hl.rpm151.77 KB06/10/2022 - 18:49
File harbour-bitsailor-0.2.0-1.aarch64.rpm155.41 KB06/10/2022 - 18:49
File harbour-bitsailor-0.2.1-1.i486.rpm165.15 KB08/10/2022 - 15:42
File harbour-bitsailor-0.2.1-1.armv7hl.rpm153.94 KB08/10/2022 - 15:42
File harbour-bitsailor-0.2.1-1.aarch64.rpm157.66 KB08/10/2022 - 15:42
File harbour-bitsailor-0.2.2-1.i486.rpm167.4 KB25/10/2022 - 19:48
File harbour-bitsailor-0.2.2-1.armv7hl.rpm156.46 KB25/10/2022 - 19:48
File harbour-bitsailor-0.2.2-1.aarch64.rpm159.97 KB25/10/2022 - 19:48
File harbour-bitsailor-0.2.3-1.i486.rpm167.35 KB06/11/2022 - 04:44
File harbour-bitsailor-0.2.3-1.armv7hl.rpm156.42 KB06/11/2022 - 04:44
File harbour-bitsailor-0.2.3-1.aarch64.rpm159.98 KB06/11/2022 - 04:44
File harbour-bitsailor-0.2.4-1.i486.rpm171.67 KB10/12/2022 - 01:45
File harbour-bitsailor-0.2.4-1.armv7hl.rpm160.51 KB10/12/2022 - 01:45
File harbour-bitsailor-0.2.4-1.aarch64.rpm164.62 KB10/12/2022 - 01:45
File harbour-bitsailor-0.2.5-1.i486.rpm176.52 KB12/12/2022 - 17:51
File harbour-bitsailor-0.2.5-1.armv7hl.rpm165.5 KB12/12/2022 - 17:51
File harbour-bitsailor-0.2.5-1.aarch64.rpm169.25 KB12/12/2022 - 17:51
File harbour-bitsailor-0.2.6-1.i486.rpm196.62 KB06/02/2023 - 03:50
File harbour-bitsailor-0.2.6-1.armv7hl.rpm181.55 KB06/02/2023 - 03:50
File harbour-bitsailor-0.2.6-1.aarch64.rpm186.91 KB06/02/2023 - 03:50
File harbour-bitsailor-0.2.7-1.i486.rpm194.34 KB16/03/2023 - 01:47
File harbour-bitsailor-0.2.7-1.armv7hl.rpm177.99 KB16/03/2023 - 01:47
File harbour-bitsailor-0.2.7-1.aarch64.rpm182.78 KB16/03/2023 - 01:47
Changelog: 

v0.2.7

  • Fix: App crashing when navigating back while loading something from Bitwarden
  • Add option to clean up data on login page

v0.2.6

  • Adding items works now
  • Some under the hood improvements

v0.2.5

  • added option to change the Bitwarden URL on login screen
  • added French localization by 7185, thank you!

v0.2.4

  • moved generator from pull up menu to its own icon
  • added setting to change Bitwarden URL

v0.2.3

  • Fixed various issues with copying items to clipboard
  • Added a message when no sends are created

v0.2.2

  • Added support for listing Bitwarden Sends
  • Added support for copying Bitwarden Send URLs

v0.2.1

  • Added support for identities
  • General improvements

v0.2.0

  • Added option to update Bitwarden CLI in settings
  • Fix app not working when global installation of Bitwarden CLI is present
  • Added notification when Bitwarden CLI hasn't been updated for a while

v0.1.9

  • Added cover page for card detail
  • Smaller logo is displayed on login detail cover

v0.1.8

  • Fixed some bugs
  • Added cards list and card detail

v0.1.7

  • Added support for notes
  • Session id is passed in env variables instead of command arguments

v0.1.6

  • All cached data are stored on disk encrypted (you might need to disable and then enable system auth if it's enabled)

v0.1.5

  • Added more cover types
  • Added password generation

v0.1.4

  • Added support for TOTP
  • Updated cover actions

v0.1.3

  • Added cover actions

v0.1.2

  • Added item detail
  • Added fast unlock

v0.1.1

  • Added option to clean up all app data

v0.1.0

  • initial release

Comments

NettoHikari's picture

Hello there! Thank's for your effort, but unfortunately, bitwarden-cli fails to install. I also tried to install it manually through NPM and it failed.

Is this project still maintained? I'd be thrilled to use a native client on my new install of SailfishOS.

D_Myers's picture

I went to use this but it wont install the Bitwarden-cli.

It just comes up with red writing stating that it failed. I also tried doing the command manually with your version of Nodejs but that failed too.

Is there any other way to install the Bitwarden-cli so i can use this?

ninepine's picture

Thanks for a great App. Good to have a native way to access Bitwarden.

Following the upgrade of my phone (X10iii) to SailfishOS 4.5.0.16 Struven ketju the App won't start properly.

The message to Authorise "/usr/bin/harbour-bitsailor wants to retrieve secret internalPin from collection bitsailor in plugin SQLCipher" appears repeatedly and neither Cancel nor Confirm will clear the message.

BitSailor is really useful so I hope that there is an easy solution.

Many thanks.

Rikudou_Sennin's picture

The same thing happened to me after the update to 4.5.0.16 and sadly the only thing that helped is manually deleting the collection. You will need developer mode enabled and devel-su password set.

Steps:

  1. Connect to your phone via ssh
  2. Become root using devel-su
  3. cd /home/defaultuser/.local/share/system/privileged/Secrets/org.sailfishos.secrets.plugin.encryptedstorage.sqlcipher
  4. rm -rf bitsailor*
  5. Reboot your phone

After reboot, the app should start, but I encountered a problem where it wouldn't load any items in the vault, if that happens to you as well go to settings in the app, scroll all the way down and choose "Clean Up Everything" in the push up menu.

Sadly this means you will have to log in twice to get it working but I found no other way to fix what the update broke.

Sailori's picture

Great app thank you but i have same problem.Can i have step by step intructions explained for non tech people?This is too difficult for me at least.Thanks

 

How do you do this:

  1. Connect to your phone via ssh
Rikudou_Sennin's picture

You can also do all the steps on phone Terminal app if you have developer mode enabled, connecting via ssh just allows you to write those commands using your PC instead of phone.

Anyway, to connect via ssh (I don't have the phone in English so the titles of stuff to tap on might be slighty different):

  1. Go to Settings, then Developer mode, make sure you're on wifi
  2. Enable Developer mode and Remote connect (not sure what this one is named in English, should be something with the word remote)
  3. Choose some password and save it
  4. Note the WLAN IP address
  5. Find out how to use ssh for your operating system (I think in Macbooks it's builtin, on Windows you can install either official package by Microsoft or some 3rd party package like PuTTY)
  6. In your terminal / command line and write one of those, depending on which phone you have:
    1. ssh defaultuser@IP_ADDRESS (for example ssh defaultuser@192.168.1.25)
    2. ssh nemo@IP_ADDRESS (for example ssh nemo@192.168.1.25)
  7. Write the password you created earlier, notice you most likely won't see any typing, it's a security thing
  8. You're connected via ssh to your phone

Some terminology in case you use a different app where you connect using a graphical interface (like PuTTY):

  • Hostname is the IP address
  • User is either defaultuser or nemo depending on your phone
  • Port is 22 but that should be the default
ninepine's picture

Thanks. Will try as you suggest.

explit's picture

Having problem to delete sqlcipher collection bitsailor.
Without deleting the collection bitsailor asks me for permission to access the collection and it keeps asking forever...
Sailfish secrets tells me that the collection bitsailor is owned by another application

Rikudou_Sennin's picture

How did it happen? There is an option in-app to delete all data but I'm affraid it's not possible now that you're locked out of getting to the app. I can try moving the option to delete the collection to the login screen but I'm not sure it can be deleted if it's owned by a different application.

lispy's picture

App installs but then I get the error....Required dependency missing: node

lispy's picture

I just had the same error. Definetly didn't install any node from another repo.

Rikudou_Sennin's picture

Which error are you talking about?

jolla4ever's picture

Thanks for your enlightening response. I suspect that due to an earlier installation problem, I made it worse by installing another Node.js repository. It will take some time to remove traces of all installations. I am not in a position right now, but I will let you know my findings soon.

jolla4ever's picture

When I try to login, I got the error message "The credentials you provided are incorrect. Please try again.". I tested all possibilities: API key, e-mail & password, 2FA activated, 2FA deactivated.

Login Bitwarden with Sailfish browser works. Any suggestion please? Thanks in advance.

 

Rikudou_Sennin's picture

I just tried logging out completely and logging in again (using API key) and it works. Are you sure you're providing the client id and client secret correctly?

Client id looks like this: user.89f95465-da90-415e-8bd9-fe69e36bff4a
Client secret looks like a random string: XLmdJ8KDWSCBcnp7rJA52wNdKZbxSk

It's really easy to make a mistake writing these.

jolla4ever's picture

Thank you for pointing this out to me. But I really tried to log in this way. The data consists of exactly the same number of characters as your example, for which thanks.
To be honest: to log in to Bitwarden via API key, I had no experience with that. But I followed the manual carefully.
I have a question: earlier, while installing BitSailor, it was reported that npm (if I remember correctly) had to be installed first. Time after time, the installation got stuck on that.

Later, I had problems with updating repositories from SailfishOS:Chum GUI. I then chose to have the Package Cache recompiled, via Sailfish Utilities, from Jolla Store. For your information, an additional option then appears in Settings / Info / Utilities. The problem with Chum was fixed and I then tried to install your promising programme: successfully! However, could it be that my repositories are out of order? I started having doubts when I saw that you also offer Node.js via OpenRepos.net, among others. I mean: is this software part of the OS by default? Or not?

Sony Xperia 10 III, Sailfishh OS 4.4.0.72 (Vanha Rauma).

Rikudou_Sennin's picture

That is weird, the app shouldn't install without node.js. Node is not part of OS, could it be that you installed some other Node.js?

And what do you mean by earlier? Did the npm error go away?

nerd7473's picture

Current output: $ harbour-bitsailor
[D] unknown:0 - Using Wayland-EGL
library "libGLESv2_adreno.so" not found
library "eglSubDriverAndroid.so" not found
library "vendor.qti.qspmhal@1.0.so" not found
[W] unknown:14 - file:///usr/share/harbour-bitsailor/qml/harbou
r-bitsailor.qml:14:30: QML SystemCheckerPage: Binding loop dete
cted for property "status"
[W] unknown:0 - QProcess::ProcessError(FailedToStart)

Rikudou_Sennin's picture

Are you using bw on its own? If not, can you try uninstalling it completely and not installing it again, meaning you let BitSailor install bw?

I sadly currently don't have time to do much work on BitSailor so it might be a while until I fix BitSailor working with global installations of bw.

nerd7473's picture

Different versions don't seem to change anything

nerd7473's picture

Installed, uninstalled, bw and BitSailer

explit's picture

Could you please build nodejs for i486? Otherwise its not possible to install bitsailor on Jolla Tablet. Thanks!

Rikudou_Sennin's picture

I just did, could you test it and let me know if everything works?

nerd7473's picture

Node is 18.2.0

nerd7473's picture

I manually installed Bitwarden CLI

Rikudou_Sennin's picture

Try the newest version, there was a bug which prevented the app from working with globally installed CLI.

explit's picture

Great progress! Now the android app can be deleted!

ninepine's picture

Enabled functions seem to work well including fingerprrint login. Looking forward to further functionality. Thanks and well done!

nerd7473's picture

Running from the terminal presents:

~]$ harbour-bitsailor
[D] unknown:0 - Using Wayland-EGL
library "libGLESv2_adreno.so" not found
library "eglSubDriverAndroid.so" not found
library "vendor.qti.qspmhal@1.0.so" not found
[W] unknown:14 - file:///usr/share/harbour-bitsailor/qml/harbou
r-bitsailor.qml:14:30: QML SystemCheckerPage: Binding loop dete
cted for property "status"
[W] unknown:0 - QProcess::ProcessError(FailedToStart)

Rikudou_Sennin's picture

For some reason the Bitwarden CLI binary crashes. Which version of Sailfish OS do you have? Did node install correctly? Did you confirm installation of the Bitwarden CLI in app? Did you perhaps already have Bitwarden CLI installed already?

Pages