/FlareDrive

Free file hosting service using CloudFlare R2

Primary LanguageTypeScript

FlareDrive

Cloudflare R2 storage manager with Pages and Workers. Free 10 GB storage. Free serverless backend with a limit of 100,000 invocation requests per day. More about pricing

Features

  • Upload large files
  • Create folders
  • Search files
  • Image/video/PDF thumbnails
  • WebDAV endpoint
  • Drag and drop upload

Usage

Installation

Before starting, you should make sure that

  • you have created a Cloudflare account
  • your payment method is added
  • R2 service is activated and at least one bucket is created

Steps:

  1. Fork this project and connect your fork with Cloudflare Pages
    • Select Create React App framework preset
    • Set WEBDAV_USERNAME and WEBDAV_PASSWORD
    • (Optional) Set WEBDAV_PUBLIC_READ to 1 to enable public read
  2. After initial deployment, bind your R2 bucket to BUCKET variable
  3. Retry deployment in Deployments page to apply the changes
  4. (Optional) Add a custom domain

You can also deploy this project using Wrangler CLI:

npm run build
npx wrangler pages deploy build

WebDAV endpoint

You can use any client (such as Cx File Explorer, BD File Manager) that supports the WebDAV protocol to access your files. Fill the endpoint URL as https://<your-domain.com>/webdav and use the username and password you set.

However, the standard WebDAV protocol does not support large file (≥128MB) uploads due to the limitation of Cloudflare Workers. You must upload large files through the web interface which supports chunked uploads.

Acknowledgments

WebDAV related code is based on r2-webdav project by abersheeran.