python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activatepython -m pip install -r requirements.txtexport FASTBOX_ADMIN_PASSWORD='change-this-password'On PowerShell:
$env:FASTBOX_ADMIN_PASSWORD='change-this-password'python fastbox.pyOpen http://127.0.0.1:8000.
/home upload area: drag-and-drop, or double-click / double-tap to pick a file and auto-upload without leaving the home page/filesuploaded file list with a List/Gallery view toggle and media filters/chatreal-time anonymous chat/boardthreaded message board/search?q=termunified search/statsstorage statistics/configportal-protected configuration editor/moderationdelete tools
python -m pytestpython -m pytest --cov=fastbox --cov-report=term-missing
python -m pytest --cov=fastbox --cov-report=htmlOpen htmlcov/index.html after generating the HTML report.
Place screenshots in static/screenshots/ after testing locally.
FastBox includes a retro neon static/favicon.ico served at /favicon.ico for browser tabs, bookmarks, and mobile shortcuts.
FastBox uses the standard vanilla JavaScript drag-and-drop pattern: prevent default drag events on the drop area, highlight the target while dragging, read dropped files from event.dataTransfer.files, and upload with FormData. The same visual pattern is used on the home upload area, board thread attachments, and reply attachments. Double-click / double-tap file picker behavior remains available for mobile and accessibility.
FastBox supports lightweight configuration without a full settings subsystem. After signing in through /admin, open /config to change the maximum general upload size, maximum board attachment size, and accent color. The selected six-digit hex color is stored in SQLite and applied through CSS custom properties across links, borders, focus rings, drop zones, and controls.
You can also set the first-run default with:
export FASTBOX_ACCENT_COLOR="#50dcff"Only six-digit hex colors such as #32cd32, #50dcff, or #ff7850 are accepted.
Open /moderation to view recent uploads, threads, chat messages, and message board attachments with compact previews. Select one or more rows, enter the moderation password once, then click Delete selected items; no separate item type is required.
The admin portal is intentionally unlisted in the public navigation. Visit /admin directly and sign in with the admin password to reach Stats, Config, Moderation, and Health from one page.
export FASTBOX_ADMIN_PASSWORD='change-me'
python fastbox.py