Skip to content

Free file hosting service using CloudFlare R2

Notifications You must be signed in to change notification settings

jamescvbn/FlareDrive

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 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.

About

Free file hosting service using CloudFlare R2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.5%
  • HTML 1.1%
  • JavaScript 0.4%