Git Product home page Git Product logo

flaredrive's Introduction

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.

flaredrive's People

Contributors

longern avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

flaredrive's Issues

Deployment failure with Cloudflare

2024-07-11T14:45:10.909843Z Cloning repository...
2024-07-11T14:45:11.630801Z From https://github.com/lirtual/FlareDrive
2024-07-11T14:45:11.631291Z * branch 6003c4a -> FETCH_HEAD
2024-07-11T14:45:11.63141Z
2024-07-11T14:45:11.664952Z HEAD is now at 6003c4a Add logo144
2024-07-11T14:45:11.665315Z
2024-07-11T14:45:11.74809Z
2024-07-11T14:45:11.748748Z Using v2 root directory strategy
2024-07-11T14:45:11.775287Z Success: Finished cloning repository files
2024-07-11T14:45:13.649801Z Checking for configuration in a wrangler.toml configuration file (BETA)
2024-07-11T14:45:13.650428Z
2024-07-11T14:45:13.732311Z No wrangler.toml file found. Continuing.
2024-07-11T14:45:13.809496Z No build command specified. Skipping build step.
2024-07-11T14:45:13.810351Z Found Functions directory at /functions. Uploading.
2024-07-11T14:45:14.820149Z �[31m✘ �[41;31m[�[41;97mERROR�[41;31m]�[0m �[1m1 error(s) and 0 warning(s) when compiling Worker.�[0m
2024-07-11T14:45:14.820962Z
2024-07-11T14:45:14.821088Z
2024-07-11T14:45:14.822999Z
2024-07-11T14:45:14.824452Z �[31m✘ �[41;31m[�[41;97mERROR�[41;31m]�[0m �[1mCould not resolve "p-limit"�[0m
2024-07-11T14:45:14.82457Z
2024-07-11T14:45:14.824671Z webdav/copy.ts:1:19:
2024-07-11T14:45:14.824792Z �[37m 1 │ import pLimit from �[32m"p-limit"�[37m;
2024-07-11T14:45:14.824918Z ╵ �[32m~~~~~~~~~�[0m
2024-07-11T14:45:14.824979Z
2024-07-11T14:45:14.825248Z You can mark the path "p-limit" as external to exclude it from the bundle, which will remove this error.
2024-07-11T14:45:14.825475Z
2024-07-11T14:45:14.825647Z
2024-07-11T14:45:14.826841Z �[31m✘ �[41;31m[�[41;97mERROR�[41;31m]�[0m �[1mBuild failed with 1 error:�[0m
2024-07-11T14:45:14.826964Z
2024-07-11T14:45:14.827076Z webdav/copy.ts:1:19: ERROR: Could not resolve "p-limit"
2024-07-11T14:45:14.827147Z
2024-07-11T14:45:14.827365Z
2024-07-11T14:45:14.829576Z 🪵 Logs were written to "/root/.config/.wrangler/logs/wrangler-2024-07-11_14-45-14_478.log"
2024-07-11T14:45:14.840988Z Failed building Pages Functions.
2024-07-11T14:45:15.948218Z Failed: generating Pages Functions failed. Check the logs above for more information. If this continues for an unknown reason, contact support: https://cfl.re/3WgEyrH

Upload large files

Maximum body size of free plan is 100MB. Is uploading large files possible?

Build settings ?

I don't see any build script in the package.json file ?

What command do I put in the build command ?

Contact:

I would like to contact you regarding this project and we need some update we can fund you. could you possibly give one of your social media contact ? thanks

Move files on web

Thanks for your FlareDrive, which is what I want! But I found that the files cannot be moved from one folder to another on the web.

[Bug]Loss of successfully uploaded mp3 files

I've confirmed that the file was successfully uploaded to the R2 storage bucket, but it doesn't show up in the list of files on the Services page.

Incidentally, the file upload lacks a visual upload progress bar, and it would be nice if the file list could be displayed in a switchable view.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.