filebox
Browse, preview, upload and share files on local disks from a browser, a WebDAV client or the command line. Written in Go with a Svelte front end, and released within a month of the first commit.
View sourceThe problem
Cloud drives keep your files on someone else’s disks, and NAS suites are heavy. I wanted one binary that serves the disks I already have, with previews, sharing, teams and resumable uploads, and nothing else to install.
How it works
- Resumable uploads over tus, downloads with HTTP Range, WebDAV with per-device app passwords, zip and unzip, and a text editor in the browser.
- Previews for images, video, audio, PDF, EPUB, comics, code and Markdown, plus Office documents when LibreOffice is installed next to the binary. Thumbnails and video streaming use ffmpeg when it is available.
- Admins and members with per-volume access (none, read, or read and write), one-time invite links, folders that update live when someone else changes them, comments with @mentions and an admin view of what the team changed.
- Passwords, passkeys and read-only app passwords, with every session listed and revocable, and notifications and webhooks to ntfy, Gotify, Slack or your own endpoint.
- An English and Chinese interface that installs as a phone app, shipped as a Docker image, release builds, a Nix flake and a systemd unit.
Built with
- Go
- Svelte
- TypeScript
- SQLite
- WebDAV
- tus
- Docker
- Nix
