RemoteDock is a native macOS remote file manager for SFTP, WebDAV, object storage, and cloud drives.
It provides a desktop interface for browsing, transferring, previewing, editing, sharing, and synchronizing files across remote storage providers.
Experimental Apple Silicon builds are available from GitHub Releases.
Release artifacts are ad-hoc signed and are not notarized by Apple. Verify the adjacent .sha256 file before installing:
shasum -a 256 -c RemoteDock-*.dmg.sha256Install the app:
- Download the latest
.dmgrelease. - Double-click the disk image to mount it.
- In the DMG Finder window, drag
RemoteDock.apponto theApplicationsshortcut. - Open RemoteDock from Finder or Launchpad.
If macOS reports that RemoteDock.app is damaged or cannot be opened, see First Launch on macOS.
RemoteDock is an early-stage native macOS project. GitHub builds are intended for technically experienced testers and contributors.
APIs, data models, protocol behavior, and packaging may change between early releases.
Create a drag-to-Applications disk image:
Scripts/create-dmg.shThe script builds an arm64-only Release archive, verifies the app's architecture, ad-hoc signature, Hardened Runtime, App Sandbox entitlements, and final mounted DMG contents, then writes a .sha256 checksum beside the DMG.
The current GitHub release path intentionally does not use Developer ID signing or Apple notarization. A future broadly distributed release would require both.
GitHub Actions publishes releases automatically when a version tag is pushed.
Before tagging, update the app version in RemoteDock.xcodeproj so the Release build's MARKETING_VERSION matches the tag version. Pre-release tags such as v0.1.0-beta.1 are allowed; the workflow compares them against the base app version 0.1.0.
Use an annotated tag with a complete release message. The tag message becomes the GitHub Release changelog.
git tag -a v0.1.0-beta.1
git push origin v0.1.0-beta.1The release workflow builds on GitHub's Apple Silicon macOS runner, runs Scripts/create-dmg.sh, verifies the generated checksum, and creates a GitHub Release containing the .dmg and .dmg.sha256 artifacts. Tags containing alpha, beta, or rc are published as GitHub pre-releases.
Release assets are named with the tag and target platform, for example RemoteDock-v0.1.0-beta.1-macos-arm64.dmg.
GitHub builds are ad-hoc signed and not notarized, so Gatekeeper is expected to block a quarantined download. This is not a signing defect and the app is not claiming Apple trust.
After verifying the published SHA-256 checksum and source, technically experienced users can remove quarantine explicitly:
xattr -dr com.apple.quarantine /Applications/RemoteDock.appThen open the app again:
open /Applications/RemoteDock.appThis command removes Gatekeeper quarantine metadata from the app bundle. It does not sign, notarize, or verify the app. Do not run it for an artifact whose checksum and origin you have not verified.
- macOS 26.5 or later on Apple Silicon (
arm64) - A Mac with network access to the remote services you want to connect to
- Your own credentials for each remote server or cloud provider
- Native macOS interface with sidebar navigation, menu commands, toolbar actions, and Quick Look previews
- Bookmark management, connection history, Quick Connect, and path navigation
- Remote directory browsing with list and outline views
- Uploads, downloads, folder transfers, configurable parallel transfers, and transfer history
- Create, rename, move, copy, and delete remote files or folders
- Download files for local editing and upload edited copies back to the remote
- Remote-to-local, local-to-remote, and mirror synchronization workflows
- Recursive search, directory size calculation, file information, and selected custom metadata support
- Google Workspace document export flow for Google Drive downloads
- Temporary download URLs for supported object storage providers
- Provider-managed download URLs and shared links for supported cloud drives
- SFTP integration with an explicitly authorized
~/.sshfolder, including known_hosts lookup, selected~/.ssh/configfields, and single-hop ProxyJump support - RemoteDock bookmark import/export and Cyberduck
.duckbookmark import/export - Passwords, OAuth tokens, access keys, and other secrets stored in the macOS Keychain
| Type | Authentication | Notes |
|---|---|---|
| SFTP | Password, private key | Uses SwiftNIO SSH; grant ~/.ssh access once to use OpenSSH config, known_hosts defaults, referenced keys, and single-hop ProxyJump; encrypted private-key passphrases still have limitations |
| WebDAV / WebDAV HTTPS | Password, anonymous | Nextcloud reuses the WebDAV implementation |
| Nextcloud | Password | Supports Nextcloud URL parsing |
| Amazon S3 | Access key | Supports bucket/prefix paths |
| Google Cloud Storage | Access key | Supports bucket/prefix paths |
| Azure Blob Storage | Access key | Supports container/prefix paths |
| Backblaze B2 | Access key | Supports bucket/prefix paths |
| OneDrive | OAuth | Requires your own OAuth Client ID |
| Google Drive | OAuth | Requires your own OAuth Client ID |
| Dropbox | OAuth | Requires your own OAuth Client ID |
| Box | OAuth | Requires your own OAuth Client ID and Client Secret |
| Local Disk | macOS folder permission | Useful for local browsing and workflow testing |
FTP, FTPS, SMB, OpenStack Swift, DRACOON, and other legacy surfaces are represented in parts of the internal model, but they are not currently available in the New Connection UI.
RemoteDock does not ship with shared OAuth credentials for third-party cloud providers.
For Google Drive, OneDrive, Dropbox, and Box:
-
Create an app in the provider's developer console.
-
Configure the provider-specific native app callback:
- Google Drive: create a Desktop app OAuth client. RemoteDock uses an ephemeral
http://127.0.0.1:<port>loopback redirect. - OneDrive: configure a Mobile and desktop application client that accepts an ephemeral
http://127.0.0.1:<port>loopback redirect. - Dropbox: register
remotedock://oauth/dropbox/callback. - Box: register
remotedock://oauth/box/callback.
- Google Drive: create a Desktop app OAuth client. RemoteDock uses an ephemeral
-
Open RemoteDock.
-
Create a new connection for the provider.
-
Paste your OAuth Client ID or Client Secret into the fields shown in the New Connection UI.
Do not share personal or production OAuth credentials in public issues, screenshots, or support requests.
- RemoteDock bookmark exports do not include passwords, tokens, secrets, or Keychain references.
- Bookmark import rejects RemoteDock/Cyberduck files that contain sensitive fields.
- Local folders, the OpenSSH directory, private keys, and known_hosts files use app-scoped security-scoped bookmarks for permission management.
- Credentials are stored through the macOS Keychain.
- Public issues should not include access keys, OAuth tokens, credential-bearing URLs, or private file paths.
Feedback, bug reports, and compatibility notes are welcome through GitHub Issues.
RemoteDock is licensed under the GNU Affero General Public License v3.0. See LICENSE for the full license text.
Copyright © 2026 Conight.