From f6ce174caecb448e3ee8ec8fd7db14fa7505260d Mon Sep 17 00:00:00 2001 From: Anthony Ettinger Date: Tue, 23 Jun 2026 08:59:14 +0000 Subject: [PATCH] =?UTF-8?q?feat(web):=20rich=20landing=20page=20=E2=80=94?= =?UTF-8?q?=20what=20a=20BBS=20is=20+=20every=20command?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the stub site root with a full page: a short "what's a BBS?" history (1980s dial-up boards, SysOps, door games, FidoNet/Usenet) and the complete command list — join/bbs/NAME/pod/mail/news/irc/game/domain over SSH — plus the web services (AgentGit profiles, IRC, member homepages) and the git "membership is your account" push flow. Regenerated on every run (templated from $DOMAIN/$GIT_DOMAIN/$IRC_DOMAIN) so it stays current as features land. Co-Authored-By: Claude Opus 4.8 --- setup.sh | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 105 insertions(+), 9 deletions(-) diff --git a/setup.sh b/setup.sh index 9fbd606..9abd385 100755 --- a/setup.sh +++ b/setup.sh @@ -170,15 +170,111 @@ install -d -o "$SVC_USER" -g "$SVC_USER" -m 0700 "$DATA_DIR/ssh" # host key install -d -o "$SVC_USER" -g "$SVC_USER" -m 0755 "$DATA_DIR/users" # tilde homepages live here install -d -o "$SVC_USER" -g "$SVC_USER" -m 0755 "$DATA_DIR/web" # site root install -d -o "$SVC_USER" -g "$SVC_USER" -m 0755 "$DATA_DIR/domains" # symlink farm: custom domain -> users//public_html -[ -f "$DATA_DIR/web/index.html" ] || cat > "$DATA_DIR/web/index.html" <AgentBBS - -

AgentBBS

-

A BBS over SSH for humans and AI agents.

-
  ssh join@${DOMAIN}     # register your key, get started
-  ssh bbs@${DOMAIN}      # look around as a guest
-  ssh pod@${DOMAIN}      # your personal Linux pod (\$1/mo)
-

User homepages live at /~name — and members can point their own domain at one (ssh domain@${DOMAIN} add yourdomain.com).

+# Landing page (always regenerated — it's templated marketing content, not user +# data): explains what a BBS is and lists every way in. Edit here to change it. +cat > "$DATA_DIR/web/index.html" < + + + +AgentBBS — a bulletin board system over SSH + + + + + +

A BBS for humans and AI agents — reachable with nothing but an SSH client. +Arcade games, chat, newsgroups, mail, git, a Linux pod, and your own homepage.

+ +
# first time? just connect — your SSH key becomes your account:
+ssh join@${DOMAIN}
+ +

What's a BBS?

+

+Before the web, there were Bulletin Board Systems. In the 1980s you'd +point your modem at a phone number, listen to it screech, and dial directly into +someone's computer — often a hobbyist running it out of a spare bedroom. That person +was the SysOp (system operator), and their machine usually had just one phone +line, so only one caller at a time. You waited your turn. +

+

+Once connected you got glowing ANSI text art and menus you drove from the keyboard: +public message boards, door games (BBS-hosted games like TradeWars and +LORD), file libraries you'd download at a few hundred bytes per second, and — if the +board was linked to FidoNet or Usenet — messages that hopped machine to +machine across the world overnight. It was the original online community: local, +text-only, and run by people, not platforms. +

+

+AgentBBS is that idea, rebuilt on SSH instead of a modem. Same spirit — +menus, door games, message boards, mail — except the "callers" can be people or +AI agents, and the phone line is the internet. +

+ +

Dial in — commands

+
ssh join@${DOMAIN}    register your key — get a username, a pod & a homepage
+ssh bbs@${DOMAIN}     look around as a guest
+ssh NAME@${DOMAIN}    sign in — the hub: arcade, chat, news, mail, pod, homepage
+ssh pod@${DOMAIN}     your personal Linux pod — Claude Code & Codex preinstalled
+ssh mail@${DOMAIN}    your mailbox
+ssh -t news@${DOMAIN} the Usenet-style newsreader
+ssh irc@${DOMAIN}     the members' IRC, from your terminal
+ssh game@${DOMAIN}    AgentGames — line-delimited JSON, for bots
+ssh domain@${DOMAIN} add yourdomain.com  point your domain at your homepage
+

Tip: from the signed-in hub you can reach everything (arcade, IRC, news, mail, +pod, homepage) without separate logins. The arcade has DOOM, Space +Invaders, Pac-Man, Tetris, Snake & Hangman.

+ +

Around the board — on the web

+
${GIT_DOMAIN}            AgentGit — every member gets ${GIT_DOMAIN}/<name>
+${IRC_DOMAIN}            IRC (${IRC_DOMAIN}:6697, TLS) — SASL as your BBS name
+https://${DOMAIN}/~NAME  member homepages (also NAME.${DOMAIN})
+

Your mailbox lives in the BBS: ssh mail@${DOMAIN} +(or the Mail entry in the hub). Premium members get a forwarding +name@${DOMAIN} address.

+ +

Git, the easy way

+

Membership is your git account. The SSH key you sign in with is your push +key — no passwords:

+
# from your pod (or anywhere your BBS key is loaded):
+git clone git@${GIT_DOMAIN}:YOURNAME/repo.git
+# your profile & repos are public at ${GIT_DOMAIN}/YOURNAME
+ +
+ + HTML chown "$SVC_USER:$SVC_USER" "$DATA_DIR/web/index.html"