Live site · Features · Run it · Keyboard · Host it yourself · Architecture
A searchable table of well-known ports — filter by number, service, or purpose. Styled with the Terminal Workbench design system: calm graphite surfaces, restrained ANSI accents, monospace manifest labels.
No network. No dependencies. No build step. Everything runs in your browser and nothing you enter
ever leaves the page. Open index.html from a USB stick and it works.
- A searchable table of ~180 well-known and commonly-scanned ports.
- Filter by number, service name, protocol, or description; sorted by port.
- Fast, fully client-side search.
- Both themes, six accents — dark by default, light by preference or toggle; inputs, scrollbars and focus rings all follow the theme.
- The ghost — the family site pet, ported from worldclock. It drifts, naps, and flees the cursor. Click it to recolor it.
- Private by construction — no network requests, no analytics, no external fonts. Everything runs in your browser; nothing you enter ever leaves the page.
Open index.html. That's it — it works from file://, a USB stick, or any static file server.
For a local server:
python -m http.server 8000
then visit http://localhost:8000.
Press ? in the app to bring up this list at any time.
| Key | Action |
|---|---|
/ |
focus the first input |
s |
settings |
t |
toggle theme |
? |
this help |
esc |
close / unfocus |
Everything needed to host is in this repository — static files only, no build.
GitHub Pages: fork or push this repo, then Settings → Pages → Deploy from branch → main / / (root).
The included .nojekyll is required (it stops Jekyll from mangling the files).
GitLab Pages: the included .gitlab-ci.yml publishes the site on every push to the
default branch — no configuration. Works on self-hosted / airgapped GitLab too; the job only copies files.
Anything else: copy index.html, css/, and js/ to any web root.
Offline / airgapped: grab the zip from the latest release — it contains everything above; no network is needed to host or run it.
| File | Responsibility |
|---|---|
js/tool.js |
tool logic and UI |
js/settings.js |
preference store (sole localStorage owner), settings panel, theme/accent, keyboard shortcuts, help |
js/content.js |
click-to-copy buttons for code examples |
js/pet.js |
the ghost |
Plain scripts, one shared TW namespace, two window events (tw:prefs, tw:pet) — no framework, no
modules, view-source friendly.
- Design tokens: terminal-workbench-design-system (MIT)
- Pet ghost: ported from worldclock (MIT)