git ssb


cel / ssb-viewer

Daan Wynen committed Document my confusion with upgrading.Latest: f21b120 on 10/14/2020, 8:34:11 PM


HTTP server for read-only views of SSB content. Serves content as web pages or as scripts for embedding in other web pages.

Install & Run

Before you install or upgrade ssb-viewer, make sure the plugin is disabled. Otherwise sbot will crash while you install, because it tries to execute half-compiled JS. If you're running the install inside the same docker container as sbot, this will kill your build and leave you in a broken state where sbot doesn't start anymore.

As a sbot plugin:

mkdir -p ~/.ssb/node_modules
cd ~/.ssb/node_modules

# for a new installation:
git clone ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 ssb-viewer && cd ssb-viewer

# for an upgrade:
cd ssb-viewer && git pull

npm install
sbot plugins.enable ssb-viewer
# restart sbot

Or standalone:

git clone ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 ssb-viewer && cd ssb-viewer
npm install


To view a thread as a web page, navigate to a url like http://localhost:8807/%MSGID.

To embed a thread into another web page, load it as follows:

<script src="http://localhost:8807/%MSGID.js"></script>

To add more than the base styles, you can also load http://localhost:8807/static/nicer.css.


Query options

The *_base query options overwrite the defaults set in the config. The base option is a fallback instead of specifying the URLs separately. The base options are mostly useful for embedding, where the script is embedded on a different origin than where ssb-viewer is running. However, you may not need them, as the ssb-viewer embed script will detect the base where it is included from.


To change ssb-viewer's default options, edit your ~/.ssb/config, to have properties like the following:

  "viewer": {
    "port": 8807,
    "host": "::"

You can also pass these as command-line options to ./bin.js or sbot as, e.g. --viewer.port 8807.



Copyright (c) 2016-2020 Secure Scuttlebutt Consortium

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see

Built with git-ssb-web