Skip to main content
Glama
alexjiaguo

gopro2cloud

by alexjiaguo

☁️ UniCloud

The Universal Multi-Cloud Transfer Platform & Local-to-Cloud Orchestrator.

Transfer, synchronize, and back up files across Local Storage, 40+ Cloud Providers (Google Drive, OneDrive, Dropbox, AWS S3, Cloudflare R2), and USB Streaming Devices (GoPro HERO 9–13) — with zero local disk footprint, persistent background supervision, interactive web dashboard, and AI Agent MCP tools.

License: MIT Python Version Version Local Disk: 0 MB Free & Open Source

Architecture • Features • Quick Start • CLI Reference • Task Supervisor • Web Dashboard • AI Agent MCP • GoPro Streamer


🏗️ Architecture

┌────────────────────────────────────────────────────────────────────────┐
│                        User & Agent Control Layer                      │
│                                                                        │
│   [ Unified CLI ]          [ FastMCP 2.0 Server ]       [ Web Dashboard]│
│   (cp, sync, ls, jobs)     (Antigravity/Cursor/Claude)  (Local GUI)    │
└───────────────────────────────────┬────────────────────────────────────┘
                                    │
                                    ▼
┌────────────────────────────────────────────────────────────────────────┐
│                     UniCloud Orchestration Core                        │
│                                                                        │
│  ┌───────────────────────┐  ┌──────────────────────┐  ┌──────────────┐  │
│  │ Unified StorageURI    │  │ Persistent Job Queue │  │ Deduplication│  │
│  │ (local/remote/stream) │  │ (Atomic JSON / State)│  │ & Checksums  │  │
│  └───────────────────────┘  └──────────────────────┘  └──────────────┘  │
└───────────────────────────────────┬────────────────────────────────────┘
                                    │
                                    ▼
┌────────────────────────────────────────────────────────────────────────┐
│                        Engine & Connector Matrix                       │
│                                                                        │
│  ┌───────────────────────────────┐   ┌───────────────────────────────┐ │
│  │    Universal Cloud Engine     │   │     Specialized Connectors    │ │
│  │  (Rclone Multi-Cloud Mesh)    │   │  (OpenGoPro USB Socket Stream)│ │
│  │  • Google Drive   • Dropbox   │   │  • GoPro HERO 9-13 USB/Wi-Fi  │ │
│  │  • OneDrive       • AWS S3    │   │  • Auto-chapter date grouping │ │
│  │  • Cloudflare R2  • WebDAV/OSS│   │  • Zero-disk pipe (`copyurl`) │ │
│  └───────────────────────────────┘   └───────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────┘

Related MCP server: so-dsc

✨ Key Features

  • 🌐 Universal Transfer Matrix (StorageURI): Transfer files between any combination of Local directories (/Volumes/Backup), Cloud Remotes (gdrive:, onedrive:, s3:), and live HTTP streams.

  • ☁️ Zero-Disk Cloud-to-Cloud: Pipe data straight from one cloud to another without staging or downloading a single byte to your laptop hard drive.

  • ⚙️ Persistent Background Task Supervisor: Launch asynchronous background backups that survive terminal disconnection. Pause, resume, and track live speed (MB/s), ETA, and percentage progress.

  • 📊 Visual Web Dashboard (unicloud web): Lightweight local GUI with connected cloud storage gauges, live progress tables, and quick-transfer dialogs.

  • 📷 Battle-Tested GoPro Zero-Disk Streamer: Retains full GoPro HERO 9-13 USB offloading with automatic recording date sorting, multi-chapter grouping, and deduplication.

  • 🤖 Built for AI Agents (FastMCP 2.0): Native Model Context Protocol server exposing remote browsing, file transfers, and task supervision to Antigravity, Claude Desktop, Cursor, and Windsurf.

  • 🔄 100% Backwards Compatible: Existing gopro2cloud and cloudsync commands and scripts remain fully functional as aliases.


🚀 Quick Start

1. Prerequisites

  • Python: 3.11 or newer

  • rclone: The universal cloud transfer utility

    # macOS
    brew install rclone
    
    # Linux
    sudo apt install rclone

2. Configure Your Cloud Accounts

Connect your cloud storage providers (Google Drive, OneDrive, Dropbox, S3):

rclone config

3. Install UniCloud

git clone https://github.com/alexjiaguo/unicloud.git
cd unicloud
pip install -e .

💻 CLI Reference

1. Quick File & Folder Transfer

# Upload a local file to Google Drive
unicloud cp /Volumes/Backup/presentation.pdf gdrive:Documents/

# Mirror an entire local directory into OneDrive
unicloud sync /Volumes/Backup onedrive:Backup_2026/

# Direct Cloud-to-Cloud copy (Zero Local Disk)
unicloud cp onedrive:Photos/sample.mp4 gdrive:GoPro/
unicloud sync onedrive:Vacation gdrive:Backup/Vacation

# Dry-run preview
unicloud cp /Volumes/Backup gdrive:Backup/ --dry-run

2. Cloud & Storage Exploration

# List all configured cloud providers
unicloud remotes

# Browse directory on cloud or local storage
unicloud ls gdrive:Photos
unicloud ls /Volumes/Backup -R

# Run cloud provider configuration assistant
unicloud config

⚙️ Background Task Manager

Replace brittle shell scripts with UniCloud's native, atomic job supervisor:

# 1. Start background backup job
unicloud jobs start /Volumes/Backup gdrive:graduate_period_files --exclude-from backup_exclude.txt

# 2. List all active and past jobs
unicloud jobs list

# 3. Check live telemetry (progress bar, speed, ETA, recent logs)
unicloud jobs status <job_id>

# 4. Pause an active transfer (SIGSTOP)
unicloud jobs pause <job_id>

# 5. Resume a paused or interrupted transfer (SIGCONT / checkpoint restart)
unicloud jobs resume <job_id>

# 6. Cancel a transfer
unicloud jobs cancel <job_id>

# 7. Tail transfer logs
unicloud jobs log <job_id> -n 50

🖥️ Visual Web Dashboard

Launch the local interactive GUI in your browser:

unicloud web
# Or alias:
unicloud ui
  • Storage Gauges: Live capacity metrics for local disk and cloud accounts.

  • Task Supervisor Table: Real-time transfer progress bars, MB/s speed gauges, and pause/resume buttons.

  • Quick Launcher: Drag-and-drop or select source and destination paths to initiate transfers.


📷 GoPro Zero-Disk Streaming

All battle-tested GoPro USB HTTP streaming capabilities are preserved:

# Check camera USB link and cloud index
unicloud camera status

# List media grouped by recording date
unicloud camera list

# Stream footage directly to cloud (0 MB local disk footprint)
unicloud camera sync --dest gdrive:GoPro
unicloud camera sync --dest gdrive:GoPro --dry-run

Legacy aliases (gopro2cloud status, cloudsync onedrive:folder gdrive:folder) remain 100% operational.


🤖 AI Agent & MCP Server

UniCloud exposes full multi-cloud management to AI coding assistants via FastMCP 2.0.

Add to your MCP configuration (claude_desktop_config.json or mcp_config.json):

{
  "mcpServers": {
    "unicloud": {
      "command": "python3",
      "args": ["-m", "unicloud.mcp_server"]
    }
  }
}

Now you can instruct your agent conversationally:

"Upload /Volumes/Backup to my Google Drive in the background and tell me the job ID."
"Check how fast the current backup job is uploading."
"Copy my vacation photos from OneDrive to Google Drive."
"Probe my GoPro camera and stream new clips into Google Drive."


📄 License

MIT License. Free and open source forever.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Enables MCP-compatible AI agents to browse, search, transfer, organize, pause, resume, and cancel files and folders across O2, Drive, OneDrive, and Google Photos accounts using the same local service and transfer queue as the desktop app.
    24
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables an AI assistant to run cloud live streaming end to end: starting and stopping broadcasts, reordering playback queues, searching and organizing the media library, planning stream schedules, and managing multistream destinations. It connects over a remote Streamable HTTP endpoint secured with OAuth or a personal access token, applying the same validation, ownership rules, and rate limits as the public REST API.
    1
    MIT