ssb-viewer v1.0.0
ssb-viewer
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
As a sbot plugin:
mkdir -p ~/.ssb/node_modules
cd ~/.ssb/node_modules
git clone ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 ssb-viewer && cd ssb-viewer
npm install
sbot plugins.enable ssb-viewer
# restart sbotOr standalone:
git clone ssb://%MeCTQrz9uszf9EZoTnKCeFeIedhnKWuB3JHW2l1g9NA=.sha256 ssb-viewer && cd ssb-viewer
npm install
./bin.jsUsage
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.
Routes
- /%msgid: web page showing a message thread
- /%msgid.js: script to embed a message thread
- /%msgid.json: message thread as JSON
- /&feedid: web page showing a complete feed
- /user-feed/&feedid: web page showing messages from followed users and channels of a feed
- /channel/#channel: web page showing messages in a specific channel
Query options
- noroot: don't include the root message in the thread
- base=...: base url for links that ssb-viewer can handle
- msg_base=...: base url for links to messages
- feed_base=...: base url for links to feeds
- blob_base=...: base url for links to blobs
- img_base=...: base url for embedded blobs (images)
- emoji_base=...: base url for emoji images
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.
Config
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.
- viewer.port: port for the server to listen on. default:- 8807
- viewer.host: host address for the server to listen on. default:- ::
- viewer.base: default base url for links that ssb-viewer can handle
- viewer.msg_base: base url for links to ssb messages
- viewer.feed_base: base url for links to ssb feeds
- viewer.blob_base: base url for links to ssb blobs
- viewer.img_base: base url for embedded blobs (images)
- viewer.emoji_base: base url for emoji images
References
- Concept: ssb-porthole
- UI ideas: sdash, patchbay
- Server techniques: ssb-web-server, ssb-ws, git-ssb-web
License
Copyright (c) 2016-2017 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 http://www.gnu.org/licenses/.
8 years ago