Rhea is a status bar utility for the Mac that allows you to quickly and easily upload files and shorten links, similar to CloudApp and Dropshare. It uses Dropbox (powered by TJDropbox) for file storage and the Bitly or the Google URL shortener for shortening links.
You can drag files into the status bar to upload them to Rhea.
Or, if you have a file path or file URL copied to your clipboard you can upload it via Rhea’s dropdown menu.
Dropbox short links (db.tt) are copied to the clipboard while files are being uploaded in the background, so it’s very quick.
- The API one uses to copy a short link while an upload is occurring is deprecated by Dropbox. May have to move to another endpoint at some point.
- A 4-character base 62 suffix is appended to all uploaded files to avoid filename conflicts. This suffix is consistent for a given file's contents, so repeat uploads of the same file with the same filename act as no-ops.
- It is recommended that you use Dropbox’s selective sync feature to disable the Rhea directory from being synched to your Mac.
You can drag links into the status bar to shorten them.
Or, if you have a URL copied to your clipboard you can shorten it via Rhea’s dropdown menu.
- I initially chose to use the Google URL shortener because it doesn’t require authentication, whereas Bitly does. I now support Bitly shortening optionally, but when the Google URL shortener is deprecated in 2019 this'll become the default.
- Rhea is open source, however Dropbox, Bitly, and Google API keys aren’t present in the open source repo. In order to develop Rhea you’ll need to provide these keys by doing the following:
- Fill in
_dropboxAppKey
and add a URL scheme with the formatdb-yourDropboxAppKey
to your info.plist's entry forCFBundleURLTypes
for Dropbox auth. - Fill in
_bitlyClientIdentifier
,_bitlyClientSecret
, and addrhea-bitly-auth://bitlyauth
as a whitelisted redirect URI in your Bitly app's OAuth app settings for Bitly auth. - Fill in
kRHEAGoogleKey
to use the Google URL shortener.
- Fill in
- Rhea uses git submodules, so run
git submodule update --init
when cloning.