Overview

Live status of devtcp.derekethandavis.com — every TCP session, email, print job and label persisted across the Cloudflare suite.

Bindings

loading…

Craft on the wire

13 protocols, by hand, over cloudflare:sockets connect(). Fill the fields or flip to Raw edit and type the bytes yourself — then DIAL opens a real socket at the edge and persists the session. There is no magic.

Protocol

Send

Codegen target — DIAL always runs at the edge (cf)

Request bytes (live)

# the exact bytes that will be written to the socket

Bytes on the wire cf socket

; press DIAL — the Worker dials, not your browser.
⏻ idle0 B tx · 0 B rx— mszone —

Egress firewall (ACL + DLP)

No dial yet. The firewall inspects the exact bytes before they leave.

Persisted

outbox

inbox

.read

Responses persist to R2 + D1 and park on the BusDO.

Codegen — cloudflare:sockets

# pick a protocol + transport

Print & labels

Craft a Zebra ZPL shipping label or a raw print job. It's classified, stored to R2 + D1, and ZPL is rendered to a PNG via Labelary — no physical printer needed (or DIAL one on :9100 from the bench).

ZPL shipping label

Raw print job (PCL/text)

Result

; craft a label or job — it persists to D1 + R2, ZPL renders to PNG.

Records

The indexed rows in D1. Click a row to see its R2 blob; delete removes the row and its blobs.

loading…

Blobs (R2)

Raw bytes in devtcp-blobs — transcripts, .eml, print payloads, ZPL + renders. Click to view, trash to delete.

loading…

Firewall

The egress policy enforced on every dial — default-deny ACL zones + DLP rules.

DLP rules

Bus

The BusDO inspector inbox — responses parked from dials + ingests.

press Drain

Send mail

Real delivery via the Cloudflare Email Sending binding, persisted to emails + R2. (Workers can't open raw :465 — the hand-crafted SMTP-over-TLS dance runs in the CLI/container: devtcp mail.)

; the edge dials smtp.mx.cloudflare.net:465, AUTH LOGIN, MAIL/RCPT/DATA — by hand.
view