Skip to content
Aum Sahayata edited this page Jul 23, 2025 · 4 revisions

πŸ“¦ CloudBoxIO

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.


πŸš€ Features

  • πŸ” 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

βš™οΈ Tech Stack

  • Language: Go (Golang)
  • Web Framework: Fiber
  • Database: SQLite
  • Auth: JWT
  • Logging: Standard Library log package
  • Environment Handling: godotenv

πŸ“š Documentation


πŸ”§ Installation & Setup

Prerequisites


🧾 Logging Overview

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.


🀝 Contributing

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

πŸ‘¨β€πŸ’» Author

Built with ❀️ by Aum Sahayata


Clone this wiki locally