Hacker News new | ask | show | jobs
by DoubleMalt 2638 days ago
I love Keybase.

Actually I tried to install the app a couple of days ago.

But there is no version on F-Droid and the version on Play Store has Firebase Analytics baked in

Is there a plan for a clean F-Droid version?

1 comments

They also have no (as far as I could find) way of installing Keybase without root permissions on Linux. I tried looking for a way to install keybase without "sudo dpkg -i keybase.deb" but had no luck. In the end, since the people I'm working with use it, I had to spin up a VM to install it in so that keybase wouldn't mess up my Debian installation.
Keybase developer here.

Keybase uses root privileges only for making the magic /keybase directory available, where you can access your KBFS files (the redirector allows different users on the same system to see their own files). Keybase and KBFS run as unprivileged daemons (via the systemd user manager where available).

As giancarlostoro mentioned, you can unpack the .deb file and run the binaries out of there. If you put the binaries in your $PATH, you can even symlink the systemd unit files to your ~/.config/systemd/user and use the systemd user manager to manage your custom Keybase install. Note that the KBFS mount will not be accessible at /keybase, but instead at another location writable by your user (see https://keybase.io/docs/linux-user-guide#configuring-kbfs).

Finally, our build script at https://github.com/keybase/client/blob/master/packaging/linu... builds all components and assets without root and lets you handle the packaging and install after that.

If you have questions or more custom use cases, feel free to join the keybasefriends team to talk about it or make a GitHub issue!

If you don't plan to offer your app on F-droid, could you at least provide an APK for download? Signal does that here:

https://signal.org/android/apk/

With Keybase we currently have to resort to shady APK sites.

I have friends that I know use keybase for work with a specific corporate account. I want to talk to them using their private account which I can't because the app only supports a single logged in user. So, is it easy or possible to have multiple accounts logged in and used at the same time? This includes that support for android also.

Maybe the chat application should be extracted into a separate more native application maybe since another "problem" I see my friends talking about is that it is too slow.

Stay tuned! :)
Thank you. Any plans for f-droid?
Actually there was a discussion about adding Keybase to F-Droid repositories. However, it seem that contributors in that issue failed to build this app. Would be great if there are helps or guides from Keybase.

https://gitlab.com/fdroid/rfp/issues/191

Thank you for your your detailed response! It would be really nice to have this information in the official documentation.
Added: https://keybase.io/docs/linux-user-guide#installing-keybase-....

Let me know (I'm the Keybase user modalduality) if you have anything else to add or any questions. Cheers!

No problem. We'll add a section to keybase.io/docs/linux-user-guide.
Are there many apt packages that don't require root / sudo privileges to install something?
There should be a way to just `make install` it to whatever location you want, IMO.
You can also extract the files from a .deb file and place them wherever you so desire as well though if you really want to be that extreme about it. I see no issue with installing things as root, it's running random software as root that's the real issue. If you verify what the post-install script for a Debian package is doing (ie not running anything not already on the system) you should be fine to install KeyBase and any other package as root.

Packages don't run the software they install unless it installs a daemon or something.

My concern isn't that I don't trust Keybase to not be malicious, it's that I don't trust their packaging to not conflict with other packages. Debian has a very strict packaging process and it effectively guarantees a stable system, but installing packages that don't follow the standards that their packagers have could cause problems on upgrades.

I don't know enough about Linux to verify that the Keybase package does everything right; I delegate that to the Debian packagers and don't install anything as root unless it's from the Debian package repositories. Any software that I need that isn't in the distro is installed to a folder inside my home folder, where it might conflict with other custom installed software, but at least it won't break the entire system.

I believe if you do dpkg --contents keybase.deb (or whatever it's called) it will list out what files are in a debian file. You should be able to see if they're including their own that conflict with the rest of the OS, but also if a package is going to mess with a file the OS installed, my experience has been that the package manager will warn you of this or not allow it, but I can't remember off the top of my head. Sane use of dependencies on Debian means depending on the specific dependency from that specific version of Debian.

I've built my own Debian packages at work, but I'm not a total guru yet. I've never ran into issues with KeyBase yet on Linux, but honestly you could always open up a GitHub issue with your concerns to find out.

Edit:

Best I can tell from their github they install KeyBase to /opt/keybase specifically, or at least the main stuff, which is what third party packages usually do.

Only a small fraction actually require privileges for normal operation. The issue is mostly with using /etc for configuration and so on.