agentbbs/internal/files
Anthony Ettinger a2d4817a8e files: per-user public at ~name/public; home = member directory
Re-model the web file host as a file server (not a website host):

- Drop the misnamed /site area. A member's public files are now their
  /me/public subfolder (unix ~/public), served anonymously at
  ~<name>/public. The rest of /me stays private; only ~name/public is
  ever exposed. Bare /~name redirects to /~name/public/.
- The root / is now a directory of ALL members, each linked to their BBS
  site (https://<bbs-host>/~name via WebConfig.SiteBase) AND their public
  files here (~name/public). No longer hides empty members.
- Sites/homepages stay on the BBS — files.<host> only links to them.
- Usage gauge is just /me again (which includes /me/public).

setup.sh + docs updated; tests cover ~name/public browse/download, the
bare-~name redirect, empty-member empty-listing, /public-only exposure,
and traversal confinement.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 01:21:00 +00:00
..
admin.go feat(files): SFTP member storage — private workspaces + shared public area + mgmt TUI 2026-06-23 09:35:04 +00:00
backend.go files: per-user public at ~name/public; home = member directory 2026-06-26 01:21:00 +00:00
e2e_test.go files: per-user public at ~name/public; home = member directory 2026-06-26 01:21:00 +00:00
files_test.go files: per-user public at ~name/public; home = member directory 2026-06-26 01:21:00 +00:00
fs.go files: per-user public at ~name/public; home = member directory 2026-06-26 01:21:00 +00:00
server.go feat(files): SFTP member storage — private workspaces + shared public area + mgmt TUI 2026-06-23 09:35:04 +00:00
tui.go feat(files): SFTP member storage — private workspaces + shared public area + mgmt TUI 2026-06-23 09:35:04 +00:00
web.go files: per-user public at ~name/public; home = member directory 2026-06-26 01:21:00 +00:00
web_test.go files: per-user public at ~name/public; home = member directory 2026-06-26 01:21:00 +00:00