npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ssb-browser-client

v1.0.2

Published

A starting point for your ssb browser app

Readme

ssb-browser-client

A starting point for your ssb browser app

Some ssb appllications, like Patchwork, require Electron to run. Others, like Patchfoo implement their own http server, and that http server in turn talks to sbot. If you have an instance of sbot already running, eihter on a pub or locally, there is a more minimal option: Just talk to sbot directy from the browser trhough websockets! (this is sometimes referred to as a "lite" client, because in this scenario the client has no database). This is possible through the magic of multiserver, muxrpc and ssb-ws, a plugin for sbot that exposes the sbot API via websockets.

This module is meant as a starting point for your own browser applications.

Installation

You need git-ssb and an instance of scuttlebot running.

$ git clone ssb://%Jlj4UHbLrIQBAokyzrEllQ3DnK1p1huBa0NjTPhKKGQ=.sha256 ssb-browser-client

Try it out

$ cd ssb-browser-client
$ npm install
# Get your sbots websocket address
$ sbot ws.getAddress
# now paste that string into index.js at sbotAddress=
$ npm start

Navigate your browser to the link you see in the terminal. Your browser will now create a keypair and store it in localstorage. It will then try to call the whoami method on sbot, which will fail, because the browser's public key is not yet authorized to call non-whitelisted methods. Open your browser's console to see the error message.

You have to go to localstorage in your browser, there should be an entry for "mykeys". Copy the public property from there and prefix it with @ and then put it into your ~/.ssb/config under master (it's an array), like so:

{
 "ws": {
    "port": 8989
  },
  "master":[
    "@ok/BE7mwDhFryrDWy9cDhd3DUJO3xkBbu4pN2fZD2S8=.ed25519"
  ]
}

Now restart sbot and reload the page. The call to whoami should now succeed. If everything works, you'll see an ssb feed id.

License

MIT