A lightweight, self-hosted file storage and sharing server built with Go and Fiber.
CloudBoxIO allows users to securely upload, share, and manage files with JWT-based authentication and an optional minimal UI. Built for simplicity and portability, it runs as a single binary and stores data using SQLite.
- 🔐 User authentication and authorization using JWT
- 📁 Upload, list, and download personal files
- 🌐 Shared file support (public listing)
- 🗑️ File deletion
- 🧠 Filename conflict resolution (e.g., file(1).txt)
- 📊 SQLite-based metadata and user storage
- 📂 Optional file logging and server logs
- 🧠 Auto-generated .env file with required flags and JWT secret
- 🎛️ Admin-only user management
- 🗂️ Upload multiple files
- 🛑 Graceful shutdown
- 📱 Minimal Web UI
- 🔍 Search through uploaded or shared files by filename using query parameters
- 🚧 Rate Limiting
- 🧪 Unit testing
CloudBoxIO includes a clean, responsive UI for file management out of the box.
✅ Requires Go 1.24 or higher (Go is only needed if building from source)
git clone https://github.com/AumSahayata/cloudboxio.git
cd cloudboxio
go mod tidy
go build .
./cloudboxio💡 A
.envfile will be generated automatically on first run. You can edit it to change port, file directories, upload size, rate limiting, and more.
See the Wiki for full documentation:
This project is licensed under the MIT License
- Your feedback, ideas, and contributions are always welcome. Whether it’s fixing a bug, improving the docs, or suggesting a new feature — every bit helps make CloudBoxIO better for everyone.
- Ask questions or share ideas in Discussions
- Report bugs via Issues
- Suggestions welcome! You can contribute:
- 🔄 Docker support
- 💻 Frontend improvements
- 🛠️ CI pipelines or GitHub Actions
- 🧪 Integration testing
- 🆕 Bring your own idea
Made with ❤️ by Aum Sahayata


