Download the app, accept the EULA, use the 7-day trial, add a profile, and complete a first bucket smoke check.
- Installer and trial flow
- EULA acceptance and paid-license handoff
- First-launch vault setup
- First profile validation
- First upload and download check
Quickstart
What you need before launch
- A supported desktop OS: Windows, macOS, or Linux.
- A Cloudflare R2 account with an Account ID, Access Key ID, and Secret Access Key.
- Permission to list buckets if you want the app to validate the profile on save. The product validates by calling
ListBuckets, so credentials that cannot list buckets will fail save/test even if they can access specific buckets. - HTTPS URLs only for any public base URL or CDN domain you add to the profile.
Download and install the app
- Download the installer for your platform from the public website download page.
- Install the app for your platform.
- Launch R2 Desk Pro.
If you are building from source instead of using a release installer, use the Build and release guide.
Buy Private Beta access when you want to continue after the trial
- Open the storefront or direct checkout:
- Enter the code
R2CONTROLin the discount-code field at Lemon Squeezy checkout if the launch offer is still active. - Complete checkout and keep the license key you receive.
The 25% discount is limited to the first 100 customers globally across all platform variants. Private Beta is a one-time purchase only. It is not a subscription. All pricing excludes local taxes.
Platform install warnings to expect
Windows SmartScreen
Windows beta installs may show an Unknown publisher SmartScreen warning because the installer is not code-signed yet.
That warning is expected for the current beta path. Use the documented install and troubleshooting guidance before treating it as a broken installer.
macOS Gatekeeper
macOS may warn that the DMG or app is from an unidentified developer during beta.
If that happens, continue with the documented Gatekeeper flow in Troubleshooting.
Accept the EULA and start the 7-day trial
On first launch:
- Review and accept the EULA.
- Finish the onboarding flow.
- Start using the full Pro feature set during the 7-day trial.
Private Beta access is gated behind EULA acceptance. A paid license is only required after the trial ends. One activation is allowed per paid license.
Enter your license key when you want to continue after the trial
When the 7-day trial ends:
- Buy through Lemon Squeezy if you have not already.
- Paste your license key into the app.
- Register the license to continue using R2 Desk Pro.
Unlock the vault after onboarding
On first run the app asks you to create a local vault passphrase.
- The passphrase is not sent anywhere.
- Operational commands stay blocked until the vault is unlocked.
- Auto-lock behavior is configurable later in Settings > Security.
Choose a passphrase you can remember. Recovery is destructive because the app does not store your passphrase for you.
Add your first profile
- Click Add Profile.
- Enter:
- Profile name
- Account ID
- Access Key ID
- Secret Access Key
- Optional temporary session token
- Optional endpoint override
- Optional public base URL
- Optional Cloudflare Zone ID and API token if you plan to use cache purge
- Click Save and Validate.
- Click Use to make the profile active.
By default the endpoint is derived automatically from your Account ID:
https://<ACCOUNT_ID>.r2.cloudflarestorage.com
Only use endpoint override when you intentionally need a non-default endpoint path.
Run a five-minute smoke check
Once the profile is active:
- Select a bucket.
- Browse into a prefix or stay at root.
- Upload one file.
- Download the same file back to disk.
- Open object details and confirm metadata loads.
- Generate a signed URL.
That verifies the basic profile, object, and transfer paths.
What to configure next
After the first successful smoke check:
- Set your preferred theme and table density in Settings.
- Set transfer concurrency and multipart thresholds if you work with larger files.
- Add a public base URL if you want copy-public-URL actions to map to a custom domain.
- Add Cloudflare purge credentials only if you actually need cache purge from inside the app.
- Review bucket admin settings if you need lifecycle, r2.dev access, domains, or notifications.
If profile save fails
The most common first-run failure is an access policy problem, not a broken app build.
Check these first:
- The Account ID is correct.
- The Access Key ID and Secret Access Key belong to the same R2 credential pair.
- The credential can list buckets.
- Any public base URL or CDN domain uses
https://.
If the app reports AccessDenied during save or test, move straight to Profiles and connections and Troubleshooting.