A browser-based video subtitle workstation that edits, styles and burns subtitles into local MP4 files, with optional on-device Whisper transcription.
vikiboss/r2-web
A lightweight, pure-browser file manager for Cloudflare R2 buckets, with chunked uploads, previews, and image-hosting helpers.
Open-source alternative to:Cyberduck
- Stars
- 484
- Forks
- 97
- Open issues
- 0
- Last commit
- last month
What is it?
R2 Web is a web-based file manager for Cloudflare R2 object storage. It runs entirely in the browser: the page calls the R2 S3 API directly, so files and credentials do not pass through a third-party backend. Credentials are kept in browser localStorage.
The interface covers directory browsing with pagination and lazy-loaded thumbnails, sorting, batch copy, move and delete, and renaming. Large files are split into chunks and uploaded concurrently, with pause and resume, live speed and progress, and a per-file limit of 1 TiB. Drag-and-drop and paste uploads are supported, along with filename templates and local WebAssembly image compression for JPEG, PNG, WebP and AVIF.
The project is a static site with no build step, so the src directory can be deployed to Vercel, Netlify, Cloudflare Pages, or served locally. It also offers PWA support, dark mode, and several interface languages.
Key features
- 01Browser-direct access to the R2 S3 API with no intermediate server
- 02Chunked concurrent uploads with pause, resume and progress display
- 03Batch copy, move, rename and recursive delete
- 04Filename templates with hash, date, timestamp and UUID placeholders
- 05Local WebAssembly image compression, with optional Tinify
- 06Preview and share links as direct URL, QR code, Markdown or HTML
Use cases
- Managing large numbers of files in an R2 bucket without installing a desktop client
- Using R2 as a personal image host with automatic compression and Markdown links
- Deploying a private, self-hosted file manager for a single R2 bucket
Quick start
- 1
Configure the R2 bucket CORS policy in the Cloudflare dashboard
- 2
Create an R2 API Token scoped to the target bucket and enter credentials at r2.viki.moe
- 3
Clone the repository
git clone https://github.com/vikiboss/r2-web.git - 4
Install dependencies and serve the src directory locally
pnpm install && npx serve src
Things to know
- Requires configuring R2 bucket CORS and creating an R2 API token before it works.
- Image compression via Tinify sends images to a third-party service.
- Single files are limited to 1 TiB, and older browsers such as IE are not supported.
Topics
FAQ
- What is r2-web?
- A lightweight, pure-browser file manager for Cloudflare R2 buckets, with chunked uploads, previews, and image-hosting helpers. R2 Web is a web-based file manager for Cloudflare R2 object storage. It runs entirely in the browser: the page calls the R2 S3 API directly, so files and credentials do not pass through a third-party backend. Credentials are kept in browser localStorage.
- Is r2-web free to use? What license does it have?
- r2-web is open source under the MIT license. Check the license terms before using it in commercial products.
- Is r2-web still maintained?
- Updated within 6 months. The last commit to r2-web was on Sep 15, 2026.
- What can I use r2-web for?
- Managing large numbers of files in an R2 bucket without installing a desktop client Using R2 as a personal image host with automatic compression and Markdown links Deploying a private, self-hosted file manager for a single R2 bucket
- How do I install r2-web?
- Configure the R2 bucket CORS policy in the Cloudflare dashboard Create an R2 API Token scoped to the target bucket and enter credentials at r2.viki.moe Clone the repository: git clone https://github.com/vikiboss/r2-web.git Install dependencies and serve the src directory locally: pnpm install && npx serve src
- Where can I get r2-web?
- The source code and installation instructions are on GitHub: https://github.com/vikiboss/r2-web
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A stateless, Kafka-compatible streaming system that stores data on S3 or S3-compatible object storage instead of local disks.
A high-performance, S3-compatible object storage system written in Swift, positioned as an open alternative to MinIO and RustFS.
A self-hosted gym and body-weight tracker for planning routines, logging sets, and keeping workout data on your own server.
A TypeScript music player focused on full-screen animated lyrics, supporting NetEase, QQ, Kugou, Navidrome and local libraries.
A web app for creating customizable, styled QR codes and scanning QR codes from camera or image uploads.