Keybase Go Library, Client, Service, OS X, iOS, Android, Electron

Last update: Jun 26, 2022

Keybase Build Status Build status

Hi, and welcome to the Keybase client repo. All our client apps (macOS, Windows, Linux, iOS, and Android) are being actively developed in this repository. Please, dig around.

Warnings

We'd love you to read our source code.

But - some of the things in this repo are explorations, and the app you build from source just might not do what it says it's doing. So, if you just want to install Keybase on your computer, you should monitor our releases for macOS, Linux, or Windows.

If you're interested in our Docker image releases, please check out the Docker README.

Sharing

Code Layout

  • go: Core crypto libraries; the Keybase service; the command line client. Learn More
  • shared/{android,ios}: Android and iOS apps developed with React Native.
  • shared/desktop: Desktop application for macOS, Linux, and Windows, made with the Electron framework, sharing React code with react-native.
  • packaging: Scripts for releasing packages across the various platforms.
  • protocol: Defines the protocol for communication for clients to the Keybase services. Uses Avro. Learn More
  • media: Icons, graphics, media for Keybase apps.
  • osx: The macOS Keybase.app, development parallel to an Electron-based application above. Learn More

Problems?

Report any issues with client software on this GitHub issue tracker. Internally, we track our progress using Jira, but all PRs come through GitHub for your review!

If you're having problems with the command line keybase client, take a look at the troubleshooting doc.

If you're having problems with our Website, try the keybase-issues issue tracker.

We check and update both frequently.

License

Most code is released under the New BSD (3 Clause) License. If subdirectories include a different license, that license applies instead.

Development Guidelines

We check all git commits with pre-commit hooks generated via pre-commit.com pre-commit hooks. To enable use of these pre-commit hooks:

  • Install the pre-commit utility. For some common cases:
    • pip install pre-commit
    • brew install pre-commit
  • Remove any existing pre-commit hooks via rm .git/hooks/pre-commit
  • Configure via pre-commit install

Then proceed as normal.

External Contributors

If you forked this repository on GitHub and made a PR, then it'll show up as having failed Jenkins CI. We do not build external PRs because it's a security risk to do so without a review first. If your PR is successfully reviewed by a member of the Keybase team, then we will merge your commits to a branch on our primary fork and build from there.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

GitHub

https://github.com/keybase/client
Comments
  • 1. Can't start kbfs

    OS: OS X Keybase Version: keybase version 1.0.15-20160401130013+78dff87

    I can't seem to start kbfs, keybase ctl restart hasn't helped.

    Output of keybase status:

    Username:      jonreem
    Logged in:     yes
    
    Device:
        name:      laptop
        ID:        6fcca53180e3f64881ad6ee5d6f34518
        status:    active
    
    Session:       no session
        is valid:  yes
        keys:      locked
        lksec:     not loaded
    
    KBFS:
        status:    not running
        version:   1.0.2-20160401130057+25510ca
        log:       /Users/reem/Library/Logs/keybase.kbfs.log
    
    Service:
        status:    running
        version:   1.0.15-20160401130013+78dff87
        log:       /Users/reem/Library/Logs/keybase.service.log
    
    Platform Information:
        OS:        darwin
        Runtime:   go1.6
        Arch:      amd64
    
    Client:
        version:   1.0.15-20160401130013+78dff87
    
    Desktop app:
        status:    running
        version:   1.0.15-20160401130013+78dff87
        log:       /Users/reem/Library/Logs/Keybase.app.log
    
    Config path:   /Users/reem/Library/Application Support/Keybase/config.json
    Default user:  jonreem
    Other users:
    
    command-line client:
        keybase status [pid: 15719, version: 1.0.15-20160401130013+78dff87]
    
    desktop:
        /Applications/Keybase.app/Contents/Frameworks/Keybase Helper.app/Contents/MacOS/Keybase Helper --type=renderer --no-sandbox --lang=en-US --node-integration=true --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --content-image-texture-target=3553,3553,3553,3553,3553,34037,3553,3553,3553,3553,34037,3553,34037,34037 --video-image-texture-target=34037 --channel=12348.1.186385196 [pid: 12354, version: 1.0.15-20160401130013+78dff87, description: Menubar]
        /Applications/Keybase.app/Contents/Frameworks/Keybase Helper.app/Contents/MacOS/Keybase Helper --type=renderer --no-sandbox --lang=en-US --node-integration=true --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --content-image-texture-target=3553,3553,3553,3553,3553,34037,3553,3553,3553,3553,34037,3553,34037,34037 --video-image-texture-target=34037 --channel=12348.2.1751919681 [pid: 12355, version: 1.0.15-20160401130013+78dff87, description: Main Renderer]
        /Applications/Keybase.app/Contents/MacOS/Electron -psn_0_25102319 [pid: 12348, version: 1.0.15-20160401130013+78dff87, description: Main Thread]
    

    Output of keybase launchd list:

    keybase.service: Running (pid=14800) [Keybase]
    keybase.kbfs: Not Running exit=2 [KBFS]
    

    keybase log send id: ec6a9aea3bde5eb2c5ef791c

    Reviewed by reem at 2016-04-04 21:24
  • 2. Keybase GUI shows blank-ish dialogs

    On Arch Linux using GNOME 3, the GUI just displays opaque blobs of color. I suspect one of them is key unlocking, but I can't really tell.

    I don't seem to be able to use kbfs either, possibly as a result of this.

    Initial dialog: Initial dialog

    When I click the icon: Grey blob

    my log id: c13df03ad6cf0703c6c69f1c

    Reviewed by chungy at 2016-02-15 06:55
  • 3. Please Support Multiple Identities or Personas

    I have two personas online, my professional persona and my personal/family personas are kept separate online. In this real-life example, I will never associate my facebook with my github via way of keybase (i wont proof facebook and github on the same keybase account, because that then associates them).

    Are my concerns common, is anyone else concerned about the same thing? Can/Will keybase support multiple personas or identities?

    Reviewed by cbluth at 2017-09-21 16:46
  • 4. Enable Keybase in Finder doesn't work in macOS Big Sur 11.0.1

    After upgrading to macOS Big Sur 11.0.1, Keybase client is not working with Finder, and enabling does not work. In main app, select Files tab; "Enable Keybase in Finder?" should show at the top. Click to accept "I understand that closed source...", and push "Yes, enable" button.

    Result: After working for a few seconds, nothing changes and "Yes, enable" button is enabled again. Attempting to navigate to any keybase managed files gives permission denied.

    Keybase client for macOS 5.5.0-20200526170801+139bb348af (installed via brew). kbfuse version is 10.11 with symlinks for higher versions.

    ❯ ll /Library/Filesystems/kbfuse.fs/Contents/Extensions/
    total 0
    [email protected] 3 root  wheel    96B May 26 13:19 10.11/
    lrwxr-xr-x  1 root  wheel     5B May 26 13:19 [email protected] -> 10.11
    lrwxr-xr-x  1 root  wheel     5B May 26 13:19 [email protected] -> 10.11
    lrwxr-xr-x  1 root  wheel     5B May 26 13:19 [email protected] -> 10.11
    lrwxr-xr-x  1 root  wheel     5B May 26 13:19 [email protected] -> 10.11
    
    Reviewed by jburnett at 2020-11-14 16:03
  • 5. macOS Sierra became unstable if Keybase.app was installed

    I experienced various unstableness on macOS Sierra GM Seed (16A319 ) as:

    • Console.app
    • Dropbox hangup
    • iStat Menus hangup
    • OS hangup on shutdown or reboot

    After investigation, I found that keybase uninstall resolved the unstableness. I guess KBFS causing this issue But I can't verify that, so I file an issue here.

    Reviewed by norio-nomura at 2016-09-09 04:43
  • 6. Keybase GUI Mac

    Cannot login to Keybase Gui on the Mac OS El Cap.

    Command line does not work either, and never times out.

    Keybase log send does not work either, never sends.

    Reviewed by kylebrowning at 2016-07-07 19:06
  • 7. Search for chat history coming any time soon?

    Just tested the new team feature with some colleagues, and an important question arose:

    What is the full chat history good for if there's no search?

    Is search going to be implemented any time soon?

    Reviewed by FlxVctr at 2017-09-19 04:20
  • 8. Can't use keybase filesystem. Permission denied.

    I have three devices (linux box, mac, and android) connected to my account. I can't access my /keybase/private directory from any of them. On each, I get: ERROR This device does not yet have read access to directory /keybase/private/d1rewolf, log into Keybase from one of your other devices to grant access: <redacted> is not readable by d1rewolf (uid: <redacted>) github.com/keybase/kbfs/libkbfs.isReadableOrError /Users/build/go/src/github.com/keybase/kbfs/libkbfs/md_util.go:74 github.com/keybase/kbfs/libkbfs.(*KBFSOpsStandard).getMaybeCreateRootNode /Users/build/go/src/github.com/keybase/kbfs/libkbfs/kbfs_ops.go:600 github.com/keybase/kbfs/libkbfs.(*KBFSOpsStandard).GetOrCreateRootNode /Users/build/go/src/github.com/keybase/kbfs/libkbfs/kbfs_ops.go:641 github.com/keybase/kbfs/simplefs.(*SimpleFS).getRemoteRootNode /Users/build/go/src/github.com/keybase/kbfs/simplefs/simplefs.go:737 github.com/keybase/kbfs/simplefs.(*SimpleFS).getRemoteNode /Users/build/go/src/github.com/keybase/kbfs/simplefs/simplefs.go:748 github.com/keybase/kbfs/simplefs.(*SimpleFS).SimpleFSStat /Users/build/go/src/github.com/keybase/kbfs/simplefs/simplefs.go:564 github.com/keybase/kbfs/vendor/github.com/keybase/client/go/protocol/keybase1.SimpleFSProtocol.func26 /Users/build/go/src/github.com/keybase/kbfs/vendor/github.com/keybase/client/go/protocol/keybase1/simple_fs.go:957 github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc.(*callRequest).Serve /Users/build/go/src/github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc/request.go:76 github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc.(*receiveHandler).handleReceiveDispatch.func1 /Users/build/go/src/github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc/receiver.go:121 runtime.goexit /usr/local/Cellar/go/1.9/libexec/src/runtime/asm_amd64.s:2337

    What can I do to fix this?

    Reviewed by d1rewolf at 2017-12-18 14:15
  • 9. Issue starting KBFS windows app following registration of mobile device

    my workflow:

    • saw Marco set me up on Google Play
    • Installed Keybase app onto phone
    • logged into my account via keybase login (PGP)
    • named my device Galaxy_S8
    • device appeared to freeze; set it down for a bit in case it was syncing
    • looked at my conversations, I had a new one from user marcopolo; unable to read
    • viewed my folders; noticed a "rekey" tag on almost all of them.
    • clicked a folder; greeted with message I needed to log in from windows application or risk losing files.
    • Stopped work from the phone; started up laptop
    • Keybase unable to login on Laptop

    my log id: ef91f102cfe877cd9b1ea11c

    Reviewed by jtsmith0101 at 2017-04-26 22:56
  • 10. Expire local tracks

    @maxtaco, This mainly makes sure locally stored tracks get aged out instead of lasting forever, but I'm unsure whether this covers the intent of 2447. Would appreciate at least a first look at this draft.

    Reviewed by zanderz at 2016-02-08 04:49
  • 11. OS X: Force To Provisioned A Device That's Already Been Provisioned On Login

    Hey,

    I'm currently trying to login and KB is asking me to provision my current device...trouble is my current device is already provisioned...it's even on the list of devices I can pick from.

    I've sent in a log: 8be1f1c6b2d097bde8fee61c

    --Brian

    Reviewed by briandcosta at 2016-09-12 04:21
  • 12. Desktop client not seeing all messages

    Keybase GUI Version: 6.0.1-20220609162338+0fc9feea3d

    • macOS 12, iOS 15.4 - iOS client gets everything; macOS does not, I have to quit and restart the app for it to "catch up". I'm very certain it isn't network, as both devices are on the same network and can talk to each other while this is going on.
    Reviewed by tsal at 2022-06-26 13:58
  • 13. Keybase Install Error on MacOS Monterey

    I am getting an install error every time that I try to install Keybase on M1 hardware running Monterey. A popup shows

    Install Error There was an error trying to run the install (2). Please run keybase log send to report the error.

    Then the application simply gets stuck on the loading splash screen. Any advice?

    my log id: 05a9813afccef5a8d576c41c

    Reviewed by phizzo at 2022-06-25 21:44
  • 14. Unable to Clear Entire Conversation

    In a specific Keybase team conversation, I am unable to clear the entire conversation for everyone.

    The issue occurs when going to chat info and settings > settings > clear entire conversation > yes, clear for everyone. The conversation does not clear and I get the error message: Error Code 218 - timeout calling chat server in method chat.1.local.postDeleteHistoryByAge .

    I am also unable to clear the conversation on iOS, and receive the message "an error occurred."

    Other team conversations appear able to be cleared without issue.

    This occurs on Keybase Mac version 6.0.1-20220609162338+0fc9feea3d and iOS version 6.01.

    Screen Shot 2022-06-24 at 8 57 53 AM Screen Shot 2022-06-24 at 8 57 17 AM
    Reviewed by mattflint at 2022-06-24 13:17
  • 15. WIP: rn 682

    • [ ] list loading not sticking to bottom
    • [ ] go patch not same on 1.18.3
    • [x] expo image picker patch
    • [ ] android manifest export true on main activity?
    • [ ] android
    Reviewed by chrisnojima at 2022-06-23 16:36
  • 16. Erro Acesso Keybase

    Keybase GUI Version: 6.0.1-20220609140211+0fc9feea3d Não estou conseguindo acessar o keybase, Fica a informação de que está realizando o startup mas não avança

    Reviewed by priscillassilv at 2022-06-22 16:49
An unofficial Pixiv app client for Android and iOS, built with React Native.
An unofficial Pixiv app client for Android and iOS, built with React Native.

PxView Unofficial Pixiv app client for Android and iOS, built with React Native. Screenshots Features Bottom navigation Ranking Enjoy the latest popul

Jun 22, 2022
A iOS and Android client for YouTrack

YouTrack Mobile YouTrack Mobile app lets you stay on track with your tasks while you're on the go: Easily work with your projects and tasks no matter

Jun 22, 2022
An unofficial NearbyLive app client for Android and iOS, built in React Native
 An unofficial NearbyLive app client for Android and iOS, built in React Native

Basic Overview An iOS and Android client for http://wnmlive.com/ written in React Native with Redux. Screenshots Existing functionalities Authenticati

Apr 10, 2022
A Third-party Hupu App (http://bbs.hupu.com/) client implemented using React Native (Android and iOS).
A Third-party Hupu App (http://bbs.hupu.com/) client implemented using React Native (Android and iOS).

React-Native-HupuJRS 中文文档点此 This is a third-party client for the React Native version of Hupu Forum, which is compatible with Android/iOS platform and

Feb 14, 2022
Bitcoin thin client for iOS & Android. Built with React Native
Bitcoin thin client for iOS & Android. Built with React Native

Bitcoin thin client for iOS & Android. Built with React Native

Jun 17, 2022
iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android).
iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android).

FinanceReactNative iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android). Data is pulled from Yahoo Finance

Jun 14, 2022
Exposure notification client application / Application client de notification d'exposition

La version française suit. COVID Alert Mobile App Available for iOS and Android: Pour iOS et Android: Adapted from https://github.com/CovidShield/mobi

Jun 15, 2022
📲💬 react-native-fontext is a lightweight library to integrate fonts in your React Native application that works seamlessly in android and iOS devices.
📲💬 react-native-fontext is a lightweight library to integrate fonts in your React Native application that works seamlessly in android and iOS devices.

???? react-native-fontext is a lightweight library to integrate fonts in your React Native application that works seamlessly in android and iOS devices.

Dec 3, 2021
PyTorch Live is an easy to use library of tools for creating on-device ML demos on Android and iOS. With Live, you can build a working mobile app ML demo in minutes.
PyTorch Live is an easy to use library of tools for creating on-device ML demos on Android and iOS. With Live, you can build a working mobile app ML demo in minutes.

Build your AI-powered mobile apps in minutes: Get Started · Tutorials · API PyTorch Live is a set of tools to build AI-powered experiences for mobile.

Jun 18, 2022
Android mobile client for Reddit - Made in React Native

Redditech | Reddit client Recreate the Reddit client using the Reddit open API. Following this subject which you can find here ! Contributors Gabriel

Jan 27, 2022
:iphone: An iOS client for https://bbs.uestc.edu.cn/ written in react-native, redux and redux-observable.
:iphone: An iOS client for https://bbs.uestc.edu.cn/ written in react-native, redux and redux-observable.

What An iOS client for https://bbs.uestc.edu.cn/ written in react-native, redux and redux-observable, which has been recommended officially as one of

May 11, 2022
Hacker News iOS and Android App - Made with React Native.
Hacker News iOS and Android App - Made with React Native.

DEPRECATED FOR NOW - uses an old version of react native See other react native example apps here: https://expo.io/featured HackerNews-React-Native Ha

Jun 17, 2022
✨🐙 A GPL Licensed Cognitive Behavioral Therapy app for iOS and Android
✨🐙 A GPL Licensed Cognitive Behavioral Therapy app for iOS and Android

?? ?? ?? Quirk is no longer being maintained. Quirk started as a little thing I made for myself as I started doing CBT. As I got better, I needed Quir

Jun 16, 2022
Minimal implement of redux counter example on ReactNative iOS and Android
Minimal implement of redux counter example on ReactNative iOS and Android

react-native-counter-ios-android Minimal implement of redux counter example on ReactNative iOS and Android I don't use any syntax out of React Native'

Feb 14, 2022
A Hacker News Reader built in React Native for iOS and Android
A Hacker News Reader built in React Native for iOS and Android

HackerBuzz-ReactNative Over the past few months, I've been working on a side project to gain an understanding of the React Native workflow. I decided

Jun 11, 2022
🌱 NMF.earth app - Understand and reduce your carbon footprint 🌱 iOS & Android.
🌱 NMF.earth app - Understand and reduce your carbon footprint 🌱 iOS & Android.

?? NMF.earth app Understand and reduce your carbon footprint Repository for the NMF.earth React Native application, built with Expo, Redux Toolkit and

Jun 11, 2022
A simply readable Hacker News app for iOS & Android, built with React Native. V2 now over here https://github.com/cheeaun/hackerweb-native-2
A simply readable Hacker News app for iOS & Android, built with React Native. V2 now over here https://github.com/cheeaun/hackerweb-native-2

HackerWeb A simply readable Hacker News app for iOS and Android. Read about the story here: Building HackerWeb for iOS. Preview iOS Android Developmen

May 30, 2022
:musical_note: [iOS & Android] An open source ambient sound mixer
:musical_note: [iOS & Android] An open source ambient sound mixer

Kakapo native is an ambient sound mixer for relaxation or productivity. Built with React Native it is available in both the Apple App Store and Google

May 30, 2022