How adminbjkai/boxy works
Boxy is a self-hosted file-sharing web app: users manage files in an embedded browser UI, the Rust server handles API requests, and files live in a local upload directory. The main runtime is concentrated in one Rust source file; the UI is embedded from static/index.html. The README documents major file-management, editing, search, ZIP, thumbnail, and live-update capabilities. Handler internals and frontend call sites were not sampled, so those detailed links are omitted.
Main entry points: main.rs File API · index.html File manager UI
Components 14
Browser experience
- File manager UI
static/index.html
Rust application
- HTTP server
src/main.rs - File API
src/main.rs - Path safety
src/main.rs
File operations
- Browse and search
src/main.rs - Upload and organize
src/main.rs - Text editing
src/main.rs - Preview and thumbnails
src/main.rs - ZIP downloads
src/main.rs - Upload directory
- Thumbnail cache
Live updates
- WebSocket channel
src/main.rs - Connected clients
Other components
- User
Connections 18
- User → File manager UI: uses
README.md - File manager UI → HTTP server: requests
- HTTP server → File API: routes
src/main.rs - File API → Browse and search: serves
README.md - File API → Upload and organize: serves
README.md - File API → Text editing: serves
README.md - File API → Preview and thumbnails: serves
README.md - File API → ZIP downloads: serves
README.md - File API → Path safety: validates paths
README.md - Browse and search → Upload directory: reads
README.md - Upload and organize → Upload directory: writes
README.md - Text editing → Upload directory: reads and writes
README.md - Preview and thumbnails → Upload directory: reads
README.md - Preview and thumbnails → Thumbnail cache: caches thumbnails
README.md - ZIP downloads → Upload directory: reads
README.md - HTTP server → WebSocket channel: routes
src/main.rs - WebSocket channel → Connected clients: broadcasts updates
README.md - Upload and organize → WebSocket channel: notifies
src/main.rs