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

Overview

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.

Comments
  • Can't start kbfs

    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

    opened by reem 59
  • Keybase GUI shows blank-ish dialogs

    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

    opened by chungy 53
  • Please Support Multiple Identities or Personas

    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?

    opened by cbluth 49
  • Enable Keybase in Finder doesn't work in macOS Big Sur 11.0.1

    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
    
    opened by jburnett 48
  • macOS Sierra became unstable if Keybase.app was installed

    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.

    opened by norio-nomura 46
  • Keybase GUI Mac

    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.

    opened by kylebrowning 45
  • Search for chat history coming any time soon?

    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?

    opened by FlxVctr 44
  • Can't use keybase filesystem. Permission denied.

    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?

    acked 
    opened by d1rewolf 43
  • Issue starting KBFS windows app following registration of mobile device

    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

    opened by jtsmith0101 39
  • Expire local tracks

    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.

    opened by zanderz 38
  • OS X: Force To Provisioned A Device That's Already Been Provisioned On Login

    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

    opened by briandcosta 37
  • Can't login

    Can't login

    I get an error message: ▶ ERROR signing_kid 0101228d1d5fd28df1254f4f7718e5edc779ac09dd8a78a49ed0f9c2bf729589c2550a not found

    Trying to log in using my existing pgp key

    my log id: c33d2776cc79564ba467071c

    opened by Jamstah 0
  • hookify wrapper

    hookify wrapper

    This MR is actually mostly a mechanical change to hookify the message wrapper

    • [x] uses usePopup now
    • [x] defers loading up message types until needed. saves on loading JS on rarer types
    opened by chrisnojima 0
  • Feature request: `Quit` option for system tray

    Feature request: `Quit` option for system tray

    It would be nice if there was a "Quit" option on the system tray icon to easily close the application, so the current process that requires 4 clicks to quit could be avoided.

    While not required, one possible additional part of this button would be a confirmation dialog to ensure that the user did not accidentally click the "Quit" button.

    Ref: https://github.com/keybase/client/issues/3773#issuecomment-863308150

    opened by ajmeese7 0
  • Latest version update do nothing

    Latest version update do nothing

    The latest update popup from time to time. I click in apply and it doesn't update. I download the installation file directly in the site and it opens but do nothing.

    I'm using Windows 11.

    my log id: 24a9827c40bb7ed5e72a481c

    opened by giovannicandido 0
  • Keybase app won't pin to top menu bar on my new Macbook Pro M1

    Keybase app won't pin to top menu bar on my new Macbook Pro M1

    On my old macbook, when I open the Keybase app by clicking on the app in the bottom dock in the apple OS, a small icon of Keybase will also automatically pin to the top menu bar on my apple OS. But now that I have a new Macbook Pro (M1), the app will not open the small pinned icon in the top menu bar. Both Macbooks are running the same latest version of macOS Monterey 12.6.

    Attached is a screenshot of when Keybase opens the small pinned icon on my old Macbook. keybase pinned to menu bar

    Keybase version is 6.0.1

    Please advise on how to get the small icon to show in the top menu bar when I open Keybase. Thanks

    opened by CaliMD 0
Releases(v6.0.2)
Owner
Keybase
Crypto for everyone!
Keybase
Vapor-telemetrydeck - Vapor client for posting signals to TelemetryDeck, a privacy-conscious analytics service for apps and websites

Vapor-telemetrydeck - Vapor client for posting signals to TelemetryDeck, a privacy-conscious analytics service for apps and websites

Sidetrack 7 Jun 16, 2022
Ported scrcpy for mobile platforms, to remotely control Android devices on your iPhone or Android phone.

scrcpy-mobile Ported scrcpy for mobile platforms, to remotely control Android devices on your iPhone or Android phone. Currently only supports control

Ethan 92 Sep 24, 2022
Blazing⚡️Fast BTC and ETH Wallet Generator library for React Native, Android and iOS

Blazing ⚡️ Fast BTC and ETH Wallet Generator library for React Native, Android and iOS.

Coingrig 3 Feb 21, 2022
React Native utility library around image and video files for getting metadata like MIME type, timestamp, duration, and dimensions. Works on iOS and Android using Java and Obj-C, instead of Node 🚀.

Qeepsake React Native File Utils Extracts information from image and video files including MIME type, duration (video), dimensions, and timestamp. The

Qeepsake 10 Aug 20, 2022
Allows you to emulate an Android native library, and an experimental iOS emulation

unidbg Allows you to emulate an Android native library, and an experimental iOS emulation. This is an educational project to learn more about the ELF/

Banny 2.3k Sep 21, 2022
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

kf 2k Sep 18, 2022
Mi Card App for Android & IOS in Flutter

Mi Card Our Goal Now that you've seen how to create a Flutter app entirely from scratch, we're going to go further and learn more about how to design

Ruksar Ahmed 0 Nov 6, 2021
Magic 8Ball App for Android & IOS in Flutter

Magic 8 Ball ?? Our Goal The objective of this challenge is to solidify what you've learn't in the Dicee tutorial. This app will guide you through the

Ruksar Ahmed 0 Nov 6, 2021
🏀 iOS and Android NBA app created with React Native

Swish An iOS and Android NBA app created with React Native. If you would like to request a feature, find a bug, have a question, or would like to leav

James Kuczmarski 108 Aug 18, 2022
The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, and Xamarin Forms.

Bitwarden Mobile Application The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, and Xamarin Forms. Build/Run Require

Bitwarden 3.9k Sep 24, 2022
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/

Joplin® is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are sea

Laurent 32.2k Sep 27, 2022
An Android Wear style confirmation view for iOS

GoogleWearAlert Objective-C version kindly written by dimohamdy - https://github.com/dimohamdy/GoogleWearAlert An Android Wear style confirmation view

Ash 424 Jun 29, 2022
Respresso is a centralized resource manager for shared Android, iOS and Web frontend projects

Introduction Respresso is a centralized resource manager for shared Android, iOS and Web frontend projects. It allows you to simply import the latest

Respresso 8 Jan 28, 2022
Demo project to sync color changes to an Raspberry Pi Mood Light via iOS/Android

Raspberry Pi Mood Light Demo project to remotely control an Raspberry Pi Mood Light over Bluetooth via iOS and Android. ?? Watch the video Overview In

Ditto 5 Sep 7, 2022
Runtime Mobile Security (RMS) 📱🔥 - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime

Runtime Mobile Security (RMS) ?? ?? by @mobilesecurity_ Runtime Mobile Security (RMS), powered by FRIDA, is a powerful web interface that helps you to

Mobile Security 1.9k Sep 26, 2022
Fridax enables you to read variables and intercept/hook functions in Xamarin/Mono JIT and AOT compiled iOS/Android applications.

Fridax is a Node package for dealing with Xamarin applications while using the Frida API. Goal • Installation • Usage • Examples • Issues • License Bu

Northwave 116 Aug 27, 2022
Kind of tired to need an Android Device on me, just to read manga, so here we are.

Dokusho Kind of tired to need an Android Device on me, just to read manga, so here we are. I am going to prioritize feature based on how I feel and no

Stephan Deumier 11 Jul 13, 2022
Kotlin Multiplatform sample with SwiftUI and Compose (Desktop and Android) clients. Heavily inspired by Wordle game.

WordMasterKMP Kotlin Multiplatform sample heavily inspired by Wordle game and also Word Master and wordle-solver samples. The main game logic/state is

John O'Reilly 55 Sep 27, 2022
Pexels API client library for the Swift programming language.

Pexels-Swift Pexels.com API client library for the Swift programming language. Overview This Swift Package is a wrapper for Pexels API to get access t

Lukas Pistrol 4 Sep 1, 2022