Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/longern/FlareDrive
Free file hosting service using CloudFlare R2
https://github.com/longern/FlareDrive
cloudflare-pages cloudflare-r2 file-hosting serverless typescript vue3
Last synced: 4 days ago
JSON representation
Free file hosting service using CloudFlare R2
- Host: GitHub
- URL: https://github.com/longern/FlareDrive
- Owner: longern
- Created: 2022-08-12T03:28:41.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-20T08:05:00.000Z (3 months ago)
- Last Synced: 2024-08-20T10:07:18.791Z (3 months ago)
- Topics: cloudflare-pages, cloudflare-r2, file-hosting, serverless, typescript, vue3
- Language: TypeScript
- Homepage: https://drive.longern.com
- Size: 429 KB
- Stars: 136
- Watchers: 4
- Forks: 126
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - longern/FlareDrive - Free file hosting service using CloudFlare R2 (TypeScript)
README
# 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](https://developers.cloudflare.com/r2/platform/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](https://dash.cloudflare.com/) account
- your payment method is added
- R2 service is activated and at least one bucket is createdSteps:
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 domainYou can also deploy this project using Wrangler CLI:
```bash
npm run build
npx wrangler pages deploy build
```### WebDAV endpoint
You can use any client (such as [Cx File Explorer](https://play.google.com/store/apps/details?id=com.cxinventor.file.explorer), [BD File Manager](https://play.google.com/store/apps/details?id=com.liuzho.file.explorer))
that supports the WebDAV protocol to access your files.
Fill the endpoint URL as `https:///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](
https://github.com/abersheeran/r2-webdav
) project by [abersheeran](
https://github.com/abersheeran
).