README ¶
Keybase
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.
Code in this repository can run against either our production site or our staging server.
Install production client
If you're not building Keybase yourself, follow our usual install instructions.
Building
Here's how to build the command line client on Linux or OSX. You need to
have both Git and Go 1.9 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
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
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
Note that many commands will start the service in the background
automatically if it's not already running. See also keybase ctl --help
.
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
cd $GOPATH/src/github.com/keybase/client/go/test
./run_tests.sh
License
Most code is released under the New BSD (3 Clause) License.
Directories ¶
Path | Synopsis |
---|---|
Code used to support authentication tokens for arbitrary purposes.
|
Code used to support authentication tokens for arbitrary purposes. |
this command is only for testing purposes this is the list of commands for all versions of the client.
|
this command is only for testing purposes this is the list of commands for all versions of the client. |
PaperKeyPrimary creates the initial paper backup key for a user.
|
PaperKeyPrimary creates the initial paper backup key for a user. |
Code used in populating JSON objects to generating Keybase-style signatures.
|
Code used in populating JSON objects to generating Keybase-style signatures. |
Package minterm implements minimal terminal functions.
|
Package minterm implements minimal terminal functions. |
stellarsvc
this file is for the implementation of all the frontend-requested service endpoints for wallets.
|
this file is for the implementation of all the frontend-requested service endpoints for wallets. |
Similar to libkb/kbsigs.go, but for teams sigs.
|
Similar to libkb/kbsigs.go, but for teams sigs. |
tools
|
|