Contents

deWeb Sites

What deWeb is

deWeb lets you publish a site onto the peer-to-peer network instead of onto a server. The content is stored by address, and a pointer signed by you points at it.

Whether a site stays reachable depends on some node holding its content. While your own desktop is running, others can visit it — for something sturdier, see the last section of this chapter.

Building a deWeb site from content blocks
Building a deWeb site from content blocks

Create a site

  1. Click New site in DeWeb to open "Choose a site type".
  2. Pick a template from the groups: blank, blog, docs, novel, portfolio, landing page, navigation, tech, resources, comics, film, music.
  3. Type a site title (prefilled from the template) and click Create.

The template is only a starting point — every page and every piece of content can be changed afterwards. "Blank" is an ordinary template, not a separate mode.

Editing content

A site is made of pages and content blocks. The block canvas is in the middle, the page list on the left, and a live preview on the right.

Type `/` at the start of an empty line to open the block menu. Types include headings 1/2, paragraph, image, list, code block, divider, gallery, web embed, button link, P2P resource and comic reader.

  • ⌘Enter inserts a block below the current one.
  • The handle on a block's left edge lets you drag it to reorder, turn into another type, duplicate or delete it.
  • Selecting text brings up a format bar: bold, italic, inline code, link.
  • ⌘Z undoes, ⌘⇧Z redoes.

The left rail adds, renames, reorders and deletes pages (deleting asks for confirmation once), and also holds the site description and SEO fields. Edits save automatically.

Publishing

Click Publish to P2P to open the publish dialog. If you are signed in you can also tick Join global discovery to list the site in the community catalog; that checkbox is disabled while signed out.

On confirm, Poter renders every page into one self-contained HTML file, uploads the content to distributed storage, writes an Ed25519-signed pointer, and records it in the local P2P index.

When it finishes you get two copyable fields:

  • Hash — the content address. It changes on every new publish.
  • Address — a stable identifier of the form p2p/<your Peer ID>/<slug>, frozen at first publish. Subscribers track your site by this.

Publishing needs P2P to be online. If you see "the P2P node seems offline — publishing needs the desktop app", that is the sidebar link dropping; get it back before publishing.

Sharing a site

Inside Poter: click Share to chat, pick a conversation, and the other person gets a site card. Opening it shows your site in the in-app viewer, where they can subscribe.

In an ordinary browser: the current version has no "copy public link" button. You assemble it yourself by joining the gateway address to the Hash you just got:

Open a published site in any browser
https://node.faircup.site/d/<your Hash>

A gateway can only serve content it holds itself. If your desktop is closed and no other node holds the content, that link will not open.

Subscribing and updates

Click the star on a site card to subscribe, and again to unsubscribe. Subscribing does three things: it records the subscription locally (keyed by the Address), announces it to the discovery network (raising the publisher's subscriber count), and follows the publisher's publish record so future updates reach your local index.

Subscribed sites live under the My subscriptions tab of Discover. When a publisher updates, that site shows an Update available badge there — open it or check for updates to pull the new version and clear the badge.

Unsubscribing only removes your local record; the publisher is not notified and their subscriber count does not go down.

Keeping a site online

A Poter site is reachable through nodes that hold its content. With nobody holding it the link will not open — including when the publisher is simply offline.

The most direct answer is to leave the desktop app that published the site running; it is itself a holder.

For something sturdier you can run your own Poter Node. Download a prebuilt binary from the public poter-io/poter-node-releases repo — no source checkout:

Install and run Poter Node on a Linux server (x86_64; for ARM64 use poter-node_linux-aarch64)
curl -fsSL -o poter-node https://github.com/poter-io/poter-node-releases/releases/latest/download/poter-node_linux-x86_64
chmod +x poter-node && sudo install -m 755 poter-node /usr/local/bin/poter-node
sudo poter-node --data-dir /var/lib/poter --mode full

To be clear: installing the binary does not pin any particular site. A node holds only what it fetches from the network, and there is no "pin this site" button anywhere. The in-app node management page is also hidden in this beta.