Skip to content

cybercyberz/rcloneios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

SkyBridge - iOS Rclone Browser

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.

Features

  • 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

Architecture

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...) │
└─────────────────┘         └─────────────────┘         └─────────────────┘

Requirements

  • macOS with Docker Desktop installed
  • Xcode 15+ (for building the iOS app)
  • iOS 17+ device or simulator

Setup

1. Clone the Repository

git clone https://github.com/cybercyberz/rcloneios.git
cd rcloneios

2. Configure Rclone

Copy the example config and add your cloud storage credentials:

cp docker/config/rclone.conf.example docker/config/rclone.conf

Edit docker/config/rclone.conf to add your remotes. See rclone documentation for configuration options.

3. Start the Rclone Server

cd docker
docker-compose up -d

This starts rclone with:

  • HTTP API on port 5572
  • Config mounted from docker/config/rclone.conf
  • Data folder mounted at docker/data/

4. Build and Run the iOS App

  1. Open rcloneIos/rcloneIos.xcodeproj in Xcode
  2. Select your target device or simulator
  3. Build and run (Cmd+R)

5. Connect to Server

By default, the app connects to localhost:5572. If running on a physical device:

  1. Find your Mac's local IP address
  2. Update the server address in the app's settings

Project Structure

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

Key Files

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

Supported Cloud Providers

Any backend supported by rclone, including:

  • Google Drive
  • Dropbox
  • OneDrive
  • Amazon S3
  • Backblaze B2
  • SFTP
  • WebDAV
  • And 40+ more

Security Notes

  • The docker/config/rclone.conf file 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

License

MIT License

Contributing

Contributions welcome! Please open an issue or pull request.

About

SkyBridge - iOS Rclone Browser for cloud storage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published