Socket
Socket
Sign inDemoInstall

ssb-client

Package Overview
Dependencies
Maintainers
23
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ssb-client

scuttlebot client


Version published
Weekly downloads
78
decreased by-37.6%
Maintainers
23
Weekly downloads
 
Created
Source

ssb-client v2

Scuttlebot client.

Create an rpc connection to an sbot running locally.

example

var ssbClient = require('ssb-client')
var ssbKeys = require('ssb-keys')

// simplest usage, connect to localhost sbot
// this will cb with an error if an sbot server is not running
ssbClient(function (err, sbot) {
  // ...
})

// configuration:
var keys = ssbKeys.loadOrCreateSync('./app-private.key')
ssbClient(
  keys,                // optional, defaults to ~/.ssb/secret
  {
    host: 'localhost', // optional, defaults to localhost
    port: 8008,        // optional, defaults to 8008
    key: keys.id,      // optional, defaults to keys.id

    caps: {
        // random string for `appKey` in secret-handshake
        shs: ''
    },

    // Optional muxrpc manifest. Defaults to manifest provided by server.
    manifest: {}

  },
  function (err, sbot, config) {
    // ...
  }
)
  • Tutorials using this library to create basic clients: ssb-client-basic
  • A simple command line wrapper around this library: ssb-client-cli

api

require('ssb-client') => createEasyClient

createEasyClient(cb(err, sbot))

Create a connection to the local ssb-server instance, using the default keys. Configuration and keys will be loaded from directory specified by ssb_appname. (by default ~/.ssb)

The manifest will be the manifest provided by that server.

Calling this without arguments is handy for scripts, but applications should use the clearer apis.

there is a legacy api, that makes things as "easy" as possible, by loading configuration and defaults. This is useful for scripts but applications should probably use

createCustomClient({keys, config, manifest, remote}, cb(err, sbot))

Connect to a specific server with fixed settings. All fields are mandatory.

createLegacyClient(keys, opts, cb(err, sbot))

Connect to a client with some custom settings.

opts supports the keys:

  • remote multiserver address to connect to
  • host, port, key (legacy) if remote is not set, assemble address from host, port, key.
  • manifest use a custom manifest.

If you need custom options, it's recommended to use the createCustomClient API instead, but this is still provided for legacy support.

keys

See ssb-keys. The keys look like this:

{
    id: String,
    public: String,
    private: String,
    curve: 'ed25519'
}

caps

caps.shs is a random string passed to secret-handshake. It determines which sbot you are able to connect to. It defaults to a magic string in this repo and also in scuttlebot

var appKey = Buffer.from(opts.caps.shs, 'base64')

License

MIT, Copyright 2015 Paul Frazee and Dominic Tarr

FAQs

Package last updated on 11 Feb 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc