A native iOS app for browsing and managing files on cloud storage services via rclone. Connect to Google Drive, Dropbox, OneDrive, S3, and 40+ cloud storage providers.
- Browse files and folders on any rclone-supported remote
- Multiple view modes: List, Small Icons, Large Icons
- Thumbnail previews for images and videos
- Upload and download files
- Create, rename, move, copy, and delete files/folders
- Batch operations with multi-select
- Real-time transfer progress tracking
- Search and sort files
The app connects to an rclone server running in Docker on your Mac. The iOS app communicates with rclone via its HTTP API.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ iOS App │ HTTP │ Rclone Server │ │ Cloud Storage │
│ (SkyBridge) │ ◄─────► │ (Docker) │ ◄─────► │ (Drive, S3...) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- macOS with Docker Desktop installed
- Xcode 15+ (for building the iOS app)
- iOS 17+ device or simulator
git clone https://github.com/cybercyberz/rcloneios.git
cd rcloneiosCopy the example config and add your cloud storage credentials:
cp docker/config/rclone.conf.example docker/config/rclone.confEdit docker/config/rclone.conf to add your remotes. See rclone documentation for configuration options.
cd docker
docker-compose up -dThis starts rclone with:
- HTTP API on port 5572
- Config mounted from
docker/config/rclone.conf - Data folder mounted at
docker/data/
- Open
rcloneIos/rcloneIos.xcodeprojin Xcode - Select your target device or simulator
- Build and run (Cmd+R)
By default, the app connects to localhost:5572. If running on a physical device:
- Find your Mac's local IP address
- Update the server address in the app's settings
rcloneios/
├── docker/
│ ├── docker-compose.yml # Docker configuration
│ ├── config/
│ │ └── rclone.conf # Rclone remotes config (gitignored)
│ └── data/ # Transfer staging area
│
└── rcloneIos/
└── rcloneIos/
├── Models/ # Data models (Remote, FileItem, etc.)
├── Views/ # SwiftUI views
├── ViewModels/ # View models with business logic
└── Services/ # RcloneService, ThumbnailService
| File | Description |
|---|---|
RcloneService.swift |
HTTP API client for rclone |
RcloneBridge.swift |
Low-level rclone RPC wrapper |
FilesViewModel.swift |
File browsing state management |
TransfersViewModel.swift |
Upload/download queue management |
ThumbnailService.swift |
Image/video thumbnail generation |
FileListView.swift |
Main file browser UI |
Any backend supported by rclone, including:
- Google Drive
- Dropbox
- OneDrive
- Amazon S3
- Backblaze B2
- SFTP
- WebDAV
- And 40+ more
- The
docker/config/rclone.conffile contains credentials and is gitignored - Never commit API keys or tokens to the repository
- The rclone server runs without authentication by default - use only on trusted networks
MIT License
Contributions welcome! Please open an issue or pull request.