Files
The BBS file library — uploads, downloads, descriptions, areas.
Layout
| Concept | What it is |
|---|---|
| File | A single uploaded file with description + uploader |
| File area | A bucket of files — e.g. "Software", "Music" |
| TIC | A FidoNet-distributed file echo (network-replicated) |
Browsing
- Web:
/files/shows a tree of areas. Click into one to see
the file list with descriptions and download links. - Terminal: main menu F. Terminal downloads happen via Zmodem
if the client supports it; otherwise base64-into-a-pager
fallback. - FTP: if the sysop has turned it on (
FTP_ENABLED, off by
default), any plain FTP client can browse and download from the
same file areas — anonymous access is read-only and limited to
active, non-sysop-only areas; logged-in users can also upload
where an area's upload permission allows it. Default port21.
Daily download quota
Sysops can cap how much a user downloads per day, scaled by access
level, under /admin/file-quotas (Admin > File System > Download
Quotas) — a list of (minimum access level, daily quota in MB) tiers. A
user gets whichever tier has the highest access level they still
qualify for; a level with no tier configured at or below it has
unlimited downloads. Admins always bypass. The quota is enforced
everywhere a file can be downloaded — web, terminal (Zmodem/Ymodem/
Xmodem), PETSCII (Xmodem), and FTP — and resets at Eastern midnight.
If you hit your quota mid-download, the transfer is rejected outright
with a message showing how much you have left.
Uploading
Logged-in users can upload to the Uploads area by default.
Sysops can change which areas accept user uploads, and set a minimum
access level per area (an area can also be sysop-only).
Per-file metadata is just a description — optional, since it can be
auto-extracted (see below). There's no tags/license/"replaces older
file" metadata today.
Two safety checks run automatically on every upload: an archive
integrity test (corrupt zip/tar/7z/rar files are rejected outright)
and a content-hash dedup check (warns if the same file — by
content, not filename — already exists somewhere in the file base).
Virus scanning
The sysop can wire ClamAV via /admin/virus-scan. Uploads are
scanned on arrival; infected files are quarantined to a sysop-only
area.
Descriptions
If you didn't type one, ANetBBS auto-extracts a description from
FILE_ID.DIZ, README.md/README.txt, or DESCRIPT.ION found
inside the upload — supported archive formats are .zip, .rar,
.7z, .lha/.lzh, and .tar.gz/.tar.bz2/.tar.xz. Common
BBS-scene practice, extended to modern archive formats too.
TIC distribution
For files received via TIC Processor, the file lands in the
configured TIC area, its .tic companion is parsed, and the
description is read from the Desc: line.
Every install ships with 9 such areas already configured (though
unsubscribed by default) under ANotherNetwork — tags
ANN.FILES.NODELIST, ANN.FILES.INFOPACK, ANN.FILES.BBSSOFT,
ANN.FILES.DOORS, ANN.FILES.EBOOKS, ANN.FILES.LINUX,
ANN.FILES.RETRO, ANN.FILES.ANSIART, and ANN.FILES.TEST.
This works in both directions: uploading a file into any
network-attached file area (not just ANotherNetwork's) automatically
queues it for outbound distribution to every subscribed peer — no
separate "publish" step. See the Outbound section of
TIC Processor for exactly which upload paths trigger this.