I built Fenestra because I kept opening a terminal just to serve a static build.
Modern builds use ES modules. Under file:// the browser blocks modules by CORS,
absolute paths point at the drive root, and service workers do not exist. The
usual fix is a terminal and a static server. Fenestra removes that step: it is
the static server, attached to the double-click.
Double-click an index.html (or drag a folder onto the executable) and Fenestra
serves that folder on 127.0.0.1, on a stable port, and opens a normal tab in
your browser. No Electron, no Node, no extension, no custom browser window.
What it does:
- Windows: a ~120 KB .exe, .NET Framework only, no installer.
- Linux/macOS: a single static Go binary; Homebrew for the macOS CLI.
- Stable port per folder, so localStorage, cookies and service workers survive.
- SPA fallback for extensionless routes.
- Path confinement: parent paths, drive tricks and hidden files are rejected.
- Browser picker: Edge, Chrome, Firefox, Brave, Vivaldi, Opera, Chromium, Safari.
- Offline manual embedded in the executable, in seven languages.
- No cookies, no analytics, no telemetry.
- A static version.json is checked once a week; if there is an update, it opens one dismissible tab per version.
Status: 1.1.0. It is functional, but I will not pretend it is finished. Honest
rough edges:
- The binaries are not code-signed; SmartScreen/Gatekeeper will ask once.
- macOS has no notarized app; the build kit compiles one locally.
- It serves static files only: no backend, no API proxy, no TLS/auth.
- Some translations are community-made and not yet reviewed by native speakers.
- There are still a few bugs I am fixing as they are reported.
Links:
- Site: https://benedetleandro.github.io/fenestra/
- One-page presentation: https://benedetleandro.github.io/fenestra/presentation.html
- Manual: https://benedetleandro.github.io/fenestra/manual.html
- Source: https://github.com/benedetleandro/fenestra
- Release (binaries, manual, SHA256SUMS): https://github.com/benedetleandro/fenestra/releases/tag/v1.1.0
I would really appreciate feedback on:
- The Windows "set as default" flow – is it clear enough?
- The macOS build kit – does it work for you?
- Anything that broke or confused you in the first five minutes.
If this is useful to even one person, it was worth building. Thanks for reading.
Top comments (0)