Skip to content

Latest commit

 

History

History
102 lines (74 loc) · 3.33 KB

README.md

File metadata and controls

102 lines (74 loc) · 3.33 KB

Keybase Build Status Build status

This repository contains the Keybase core crypto libraries, command-line utility, and local Keybase service. All code is written in the Go Language, making heavy use of Go's OpenPGP and NaCl Library implementation.

Our intended architecture is that keybase runs a local service on Desktop environments, which can be connected to over a local Unix domain sockets on OSX/Linux, and over named pipes on Windows. The persistent service will eventually listen for asynchronous server updates, and will serve several clients, like the command-line utility, the graphical desktop app (see electron), and the Keybase FUSE-mounted file system.

For now, the only client ready for production is the command-line utility.

Status

The Keybase service/client is approaching a release-ready state on OSX and Linux, with Windows shortly behind. Code in this repository is safe to run against either our production site or our staging server.

Install production client

Mac

brew update
brew install keybase

Linux

Download the appropriate package:

Building

Here's how to build the command line client on Linux or OSX. You need to have both Git and Go 1.5 or higher installed. (Run go version to see what version you have.)

# First we need to set up a GOPATH. This is a standard first step for
# building Go programs, so if you've done this already, skip on ahead.
# See also https://golang.org/doc/install.
mkdir ~/gopath
cd ~/gopath
export GOPATH="$HOME/gopath"     # Consider putting this in your ~/.bashrc.
export PATH="$PATH:$GOPATH/bin"  # Ditto.

# Now for the actual clone and build.
go get github.com/keybase/client/go/keybase
GO15VENDOREXPERIMENT=1 go install -tags production github.com/keybase/client/go/keybase

# If you did the PATH bit above, this should just work.
keybase

Run the service

keybase service

Or specify a custom home directory (and use -d for debug):

keybase -H ~/Projects/Keybase/dev -d service

Run the client

keybase login
keybase id max

Or you can run the client in "Standalone" Mode

# No service needed, but you'll be repeatedly prompted for your passphrase
keybase --standalone id max

Run tests

# Skip tests in vendored projects. (This runs non-vendor tests in the
# current directory and below. So at the project root it will run
# everything.)
go test $(go list ./... | grep -v /vendor/)

License

Most code is released under the New BSD (3 Clause) License.