← Back to Projects

Iceberg.sh

Overview

Iceberg is the copy-paste bridge between machines: pipe any bytes to a topic, grab them anywhere. No auth, no setup.

It started backwards. I backordered the domain iceberg.sh without really knowing what to do with it, then decided to build something worth the name. So I forked Notep4d into a more terminal-first, REST-based version — same idea of grabbing data off one machine and onto another, but built around the CLI and arbitrary bytes (text, code, a PDF, an image, a video) instead of a shared text buffer in the browser.

Architecture

The model is dead-simple topic-based pub/sub over plain HTTP. A topic is just a lowercase name; you POST bytes to it to write and GET to read. Last write wins, bodies are capped at 25 MiB, and topics expire after 10 minutes. There are no accounts and no encryption — privacy comes from picking an unguessable topic name.

The server is a single Go binary listening on port 5555, so the whole thing self-hosts trivially; the CLI just points at iceberg.sh by default.

Stack: Go \cdot HTTP \cdot Vanilla JS