Files
ssh-portfolio/README.md
T

1.4 KiB

SSH Portfolio

A public, anonymous Node.js SSH server that turns a terminal into a customizable portfolio. Visitors connect with:

ssh -p 2222 localhost

Quick start

npm install
npm start

The first run creates data/config.json from config.example.json. Edit persona, pages, colors, ports, and admin keys, then use reload as an admin or restart the server.

Authentication model

Anonymous none authentication is intentionally accepted for visitors. Add one or more base64 public-key blobs to adminPublicKeys to enable administrator mode; key authentication is optional and never required. Admins get reload, theme, and announce commands.

Because this is an intentionally open service, run it in a container or restricted account, use a dedicated port, and do not expose private data through configured pages.

Owner notifications

Run npm run notify on the owner machine (or use NOTIFICATION_PORT) to receive chat and announcement notifications over a localhost-only socket. The protocol is newline-delimited JSON, so it is straightforward to replace with a desktop/mobile notification client.

Extending

Pages are data-driven in config.json; commands live in src/server.js and can be split into modules as the portfolio grows. Pong is intentionally left as the next module: it can use the same session registry and owner-online check.