EzyShare

Self-hosted, multi-tenant file sharing with a developer-first API.

Flexible Auth

JWT access/refresh tokens plus per-project API keys. bcrypt-hashed passwords and role-based access control built in.

Multi-Tenant Projects

Organize files into projects with members, upload policies, and per-project rate limits. Pluggable storage (local now, S3-ready).

Public & Private Sharing

Expose public projects without auth, or share privately with members. Fine-grained download and listing controls.

MCP Server

Expose file operations to AI assistants via the Model Context Protocol. Automate uploads and downloads from your tools.

Secure by Default

Security headers, CORS, rate limiting, and full audit logging of every privileged action out of the box.

JSON API First

A clean REST API for everything: auth, projects, files, sharing, and admin. Easy to script and integrate.

Quick Example
# Register and get a token
curl -X POST /api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"secret","name":"You"}'

# Upload a file to a project
curl -X POST /api/projects/{id}/files/upload \
  -H "Authorization: Bearer <token>" \
  -F "file=@report.pdf"

Open source · Written in Go · Docker-ready · SQLite/Postgres