agentbbs/internal
Anthony Ettinger ad76e7fa16
feat(gopher): serve BBS content over Gopher + SSH-authenticated "hedgehog" (#83)
Add Gopher (RFC 1436) as a co-located protocol service, following the
internal/news pattern. Two surfaces share one read-only Resolve engine:

  - Public Gopher on :70 (RFC 1436) for any gopher client (lynx, Lagrange).
    Classic gopher is stateless with no auth verb, so this surface serves
    only public content.
  - `ssh gopher@` = "hedgehog": the same gopher wire semantics carried over
    the authenticated SSH channel (the member's key is the credential), so it
    additionally reaches members-only selectors. Gopher where gopher can,
    our own gopher-like thing over SSH where it can't.

Menus surface the member directory + homepages (public_html), an About page
(brand + MOTD), public newsgroups (allowlisted on :70, all groups on
hedgehog), and members' public files. Selectors are confined to each member's
area (path-traversal guarded). New AGENTBBS_GOPHER* env vars; docs/gopher.md
and README updated (incl. the setcap note for binding privileged :70).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 05:39:35 -07:00
..
admin members: show joined date in admin + public lists; 'last active: X ago' 2026-07-01 02:40:24 +00:00
ascii Video calls (PairUX→ASCII), agent@ chat, and finger routes 2026-06-11 11:43:38 +00:00
auth feat(gopher): serve BBS content over Gopher + SSH-authenticated "hedgehog" (#83) 2026-07-07 05:39:35 -07:00
brand Use the Profullstack </> ASCII logo as the BBS banner 2026-06-14 16:46:59 +00:00
calls Video calls (PairUX→ASCII), agent@ chat, and finger routes 2026-06-11 11:43:38 +00:00
chat Video calls (PairUX→ASCII), agent@ chat, and finger routes 2026-06-11 11:43:38 +00:00
files ci(deploy): preempt self-update timer so it can't starve the deploy lock (#72) 2026-07-01 01:32:10 -07:00
forgejo feat(passwd): self-service password reset across git, mail & chat (#59) 2026-06-27 03:46:23 -07:00
forwardemail Autonomous deploy + free-pod/Premium-email membership 2026-06-14 07:58:51 +00:00
games M3: AgentGames — agent-vs-agent games, ELO ladder, replays (#7) 2026-06-14 03:30:12 -07:00
gopher feat(gopher): serve BBS content over Gopher + SSH-authenticated "hedgehog" (#83) 2026-07-07 05:39:35 -07:00
hub Fix/pod public html bind mount (#30) 2026-06-15 08:06:32 -07:00
ircpass fix(passwd): also reset The Lounge web-login password (#61) 2026-06-27 09:40:28 -07:00
mail bbs.profullstack.com launch kit: provisioner, custom domains, email verify, ascii-live 2026-06-11 15:53:19 +00:00
mailbox fix(mailbox): validate bot list limits (#77) 2026-07-04 17:39:31 -07:00
mailu Feat/mail all members (#55) 2026-06-23 03:38:31 -07:00
motd Wire shared MOTD into BBS hub and IRC 2026-06-25 11:51:06 +00:00
news fix(nntp): handle open-ended OVER range like '5-' (#75) 2026-07-02 17:20:39 -07:00
payments Rebrand paid tier to $99 Founding Lifetime Member 2026-06-14 12:46:23 +00:00
plugin fix(arcade): give ncurses games a TERM so they launch 2026-06-18 12:01:26 +00:00
pods feat(pods): SSH agent forwarding → git push from the pod with your key 2026-06-23 09:16:29 +00:00
qryptinvite Fix flaky TestTamperedTokenFails in qryptinvite 2026-06-14 17:05:30 +00:00
sandbox AgentBBS: M0 core hub, M1 arcade, pods with CoinPay membership 2026-06-11 11:08:17 +00:00
sites Free per-user homepages at <name>.<host> (wildcard subdomains) 2026-06-14 09:20:34 +00:00
source fix: block shared/reserved IP ranges in SSRF guard (#47) 2026-06-22 05:23:15 -07:00
store feat(messaging): group & broadcast messages + email-all 2026-06-27 12:18:41 +00:00
tor tor: premium tor-url / tor-irc / tor routes over Tor 2026-06-14 10:54:21 +00:00
ui Fix/pod public html bind mount (#30) 2026-06-15 08:06:32 -07:00