No‑JS IRC in the browser: cgiirc runs on HTML forms and a persistent HTTP connection

April 7, 2026
Black and white image of a classic Apple II computer on display in Wrocław, Poland.
Photo by Piotr Baranowski on Pexels

What is it?

A new-ish project on GitHub, cgiirc, rethinks in‑browser chat by throwing JavaScript out the window. The repository from dgl implements a web IRC client that reportedly relies only on HTML forms for input and a persistent HTTP connection to ferry messages back and forth. It has been reported that the client works with JavaScript disabled — a neat party trick and a practical win for locked‑down or privacy‑conscious environments.

How it works

Think old‑school CGI meets modern minimalism. User actions are submitted via ordinary forms; the server keeps a long‑lived HTTP connection open to stream updates to the browser, rather than using WebSockets or a heavy single‑page app. It’s creative, low‑dependency engineering. Who needs WebSockets? The answer: maybe fewer people than you’d expect.

Tradeoffs and the big picture

Of course, cleverness comes with caveats. It has been reported that cgiirc is great for simple deployments and environments where you can’t run JS, but scaling those persistent HTTP connections could tax servers more than a WebSocket‑based setup. Allegedly, latency and user experience are acceptable for small groups; for large rooms, you’ll want to test. Still — simplicity has its virtues: easier audits, smaller attack surface, fewer moving parts.

Why this matters

Beyond the tech, this is a tiny rebellion against the modern web’s appetite for JavaScript and client‑side tooling. It’s the digital equivalent of duct‑taping a solution together and watching it run better than you expected. Want to poke at it yourself? The code and README are on GitHub (https://github.com/dgl/cgiirc/). It’s a reminder: constraints breed creativity — and sometimes the old tricks still work great.

Sources: github.com/dgl, Lobsters