-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Aum Sahayata edited this page Jul 23, 2025
·
4 revisions
CloudBoxIO is a lightweight, self-hosted file storage and sharing service built using Go and Fiber. It supports file uploads, secure JWT-based authentication, shared/public files, and more β all backed by SQLite for simplicity and portability.
- π 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
.envfile 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
- Language: Go (Golang)
- Web Framework: Fiber
- Database: SQLite
- Auth: JWT
- Logging: Standard Library log package
- Environment Handling:
godotenv
- π οΈ Setup Guide
- βοΈ Configuration (.env)
- π User APIs
- π File APIs
- Go 1.24+
- SQLite3 (optional CLI for viewing DB)
- Setup guide
Logs are saved to logs/server.log by default.
Optional file operation logs go to logs/fileops.log when LOG_FILE_OPS=true (Default true).
Console logging for server logs can be toggled using LOG_TO_CONSOLE=true (Default true).
π License
This project is open-source and available under the MIT License.
Have an idea or want to contribute?
- π¬ Join the Discussions for questions or ideas
- π Report bugs via Issues
- π€ Suggestions for enhancement:
- π Docker support
- π₯οΈ Frontend UI
- π§ͺ More tests (unit/integration)
- π οΈ GitHub Actions / CI
Built with β€οΈ by Aum Sahayata