Skip to main content
Glama
alexjiaguo

gopro2cloud

by alexjiaguo

πŸ“· gopro2cloud

The Free, Zero-Disk, Open-Source Alternative to GoPro Cloud Subscription.

Stream and sync 100+ GB of 4K/5.3K footage from your GoPro directly to Google Drive, Dropbox, OneDrive, or AWS S3 over high-speed USB β€” with zero laptop disk space and no monthly fees.

License: MIT Python Version Storage: 0 MB Local Free Alternative PRs Welcome

Features β€’ Comparison β€’ Quick Start β€’ CLI Usage β€’ AI Agent & MCP β€’ Contributing


πŸ’‘ Why gopro2cloud?

If you own a GoPro, you already know the frustration:

  • GoPro Subscription costs $49.99 – $99.99/year, just to back up footage you already have other cloud storage for (Google One, Microsoft 365, Dropbox, or AWS S3).

  • Camera Wi-Fi Auto-Upload is painfully slow, drains your battery, and notoriously causes the camera to overheat while uploading 4K/5.3K video.

  • Plugging into your Mac/PC to transfer files manually is broken: macOS Image Capture and MTP drivers frequently freeze or corrupt on single files larger than 4 GB.

  • Laptop SSDs run out of space: Offloading a 128 GB or 256 GB microSD card onto a modern MacBook with only 30 GB of free SSD space is physically impossible without tedious manual chunking.

gopro2cloud solves all of this.

When you connect a modern GoPro (HERO 9, 10, 11, 12, 13) via USB-C, it automatically runs an internal high-speed HTTP server over a virtual network interface. gopro2cloud discovers this socket, queries the media catalogue, and streams your master video files directly into your cloud storage at 35–40 MB/s without writing a single byte to your laptop hard drive.


Related MCP server: so-dsc

πŸ₯Š gopro2cloud vs. GoPro Paid Subscription

Feature

GoPro Paid Cloud Subscription

Native Desktop / Quik App

gopro2cloud (This Tool)

Annual Cost

$49.99 – $99.99 / year πŸ’Έ

Free (Requires Desktop)

$0 Forever (Free & Open Source) πŸš€

Cloud Destination

GoPro Cloud only (Vendor Lock-in)

Local Disk Only

Any Cloud (Google Drive, Dropbox, OneDrive, S3, R2, B2)

Local Disk Required

High (downloads cached copies)

Full card size required (100+ GB)

0 MB (Pure In-Memory Stream) ⚑

Transfer Speed

Slow (Wi-Fi ~5–10 MB/s)

Medium (USB MTP crashes on >4GB)

Fast (USB HTTP ~35–40 MB/s) 🏎️

Camera Overheating

High (Wi-Fi upload gets very hot)

Low

Low (Powered & cool over USB)

Data Privacy & Ownership

Stored on GoPro servers

Local

100% Private (Direct to YOUR cloud)

Smart Date Categorization

Cloud timeline

Flat DCIM folder mess

Automated YYYY-MM-DD/ Folders πŸ“

Multi-Chapter Handling

Sometimes split in UI

Scattered GX01, GX02 files

Chapters unified under Chapter 1 Date

Deduplication

Automatic

None (overwrites or duplicates)

Automatic (Skips existing cloud files)

AI Agent / CLI Scriptable

❌ No

❌ No

βœ… Yes (CLI + FastMCP Server + Skills)


✨ Key Features

  • πŸš€ Direct In-Memory Streaming: Uses rclone copyurl to pipe video bytes straight from the camera socket into your cloud bucket. No local scratch files, no SSD wear.

  • ☁️ CloudSync (Cloud-to-Cloud Direct): Transfer single files or synchronize entire folders directly between cloud storage providers (OneDrive, Google Drive, Dropbox, AWS S3) with zero local disk footprint.

  • πŸ“ Smart Date & Chapter Organization: Automatically sorts recordings into <remote>/YYYY-MM-DD/ directories. Long 4K recordings split across multiple chapters (GX010475.MP4, GX020475.MP4) are kept together under Chapter 1's date.

  • πŸ” Intelligent Deduplication: Checks destination folders before transferring. If a video already exists in your cloud with matching name and size, it is automatically skipped.

  • πŸ›‘οΈ 100% Card Safety: gopro2cloud never deletes or modifies media on your microSD card unless you explicitly request a post-sync purge.

  • πŸ€– Built for the AI Era (FastMCP): Ships with a native Model Context Protocol (MCP) server and Agent Skills. You can plug in your GoPro and simply say: "Hey, back up my GoPro to Google Drive".


πŸš€ Quick Start

1. Prerequisites

  • Python: 3.11 or newer

  • rclone: The universal cloud transfer utility (free & open source)

    # macOS
    brew install rclone
    
    # Linux
    sudo apt install rclone   # or curl https://rclone.org/install.sh | sudo bash
    
    # Windows
    winget install Rclone.Rclone

2. Configure Your Cloud (1 Minute)

Connect your favorite cloud provider to rclone (Google Drive, Dropbox, OneDrive, S3):

rclone config

(Just name your remote, e.g. gdrive, choose your provider, and approve in the browser popup).

3. Install gopro2cloud

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

πŸ’» CLI Usage

Plug your GoPro into your computer using a USB-C cable and turn it ON.

1. Check Status

Verify your camera link, local disk space, and cloud connections:

gopro2cloud status
============================================================
      gopro2cloud: Camera & Cloud Status Check
============================================================
1. Probing GoPro over USB...
   [βœ“] Connected to GoPro at 172.28.158.51:80
       Found 24 video files (104.78 GB total)

2. Local host storage: 58.12 GB free

3. Cloud remote index: 'gdrive:GoPro'
   [βœ“] Found 8 existing files already backed up in 'gdrive:GoPro'
============================================================

2. View Categorized Media

Inspect all videos grouped by their real recording date:

gopro2cloud list
Found 24 files (104.78 GB total) across 3 recording dates:

πŸ“ 2026-09-27/ (3 files, 4.85 GB)
   β€’ GX010467.MP4      46.4 MB  -> 2026-09-27/GX010467.MP4
   β€’ GX010468.MP4      4.05 GB  -> 2026-09-27/GX010468.MP4
πŸ“ 2026-09-28/ (18 files, 77.25 GB)
   β€’ GX010475.MP4     11.06 GB  -> 2026-09-28/GX010475.MP4
   β€’ GX020475.MP4      8.94 GB  -> 2026-09-28/GX020475.MP4  [Chapter 2 kept together]

3. Start Streaming Sync

Stream everything directly to your cloud destination:

# Direct zero-disk streaming into Google Drive
gopro2cloud sync --dest gdrive:GoPro

# Dry-run to preview what will be skipped and uploaded
gopro2cloud sync --dest gdrive:GoPro --dry-run

# Upload to Dropbox or AWS S3 instead
gopro2cloud sync --dest dropbox:GoPro_Backups
gopro2cloud sync --dest s3:my-video-bucket/gopro

4. ☁️ CloudSync: Direct Cloud-to-Cloud Transfers (Zero Local Disk)

Transfer single files or folders between any configured cloud remotes (e.g. OneDrive to Google Drive) without downloading to local disk:

# Using the standalone cloudsync command
cloudsync onedrive:Photos/sample.mp4 gdrive:GoPro/
cloudsync onedrive:Brazil_Travel_2026 gdrive:GoPro/Brazil_Travel_2026 --sync
cloudsync onedrive:Brazil_Travel_2026 gdrive:GoPro/Brazil_Travel_2026 --dry-run

# Or using gopro2cloud subcommands
gopro2cloud cloud-copy onedrive:Photos/sample.mp4 gdrive:GoPro/
gopro2cloud cloud-sync onedrive:Brazil_Travel_2026 gdrive:GoPro/Brazil_Travel_2026
gopro2cloud cloudsync onedrive:Brazil_Travel_2026 gdrive:GoPro/Brazil_Travel_2026 --dry-run

πŸ€– AI Agent & MCP Server

gopro2cloud includes a native FastMCP Server that exposes camera discovery and transfer tools directly to AI coding assistants like Antigravity, Claude Desktop, Cursor, and Windsurf.

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

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

Now you can control your camera conversationally:

"Hey, what videos are on my GoPro?"
"Check if my GoPro is connected and sync the newest clips to Google Drive."
"Copy my vacation folder from OneDrive to Google Drive."


πŸ—ΊοΈ Roadmap

  • Zero-disk direct HTTP streaming (rclone copyurl)

  • Direct cloud-to-cloud file & folder transfers (copyto / sync)

  • Resilient socket watchdog & deadlock-safe staging cleanup

  • Intelligent recording date & chapter grouping

  • Recursive deduplication (skips existing files)

  • Multi-cloud support (Google Drive, Dropbox, OneDrive, S3/R2/B2)

  • Standalone CLI + Self-contained integration test suite

  • FastMCP Server & AI Agent Skills

  • Wireless offload over local Wi-Fi station mode

  • Lightweight background menu bar tray icon (macOS / Windows)

  • Automatic camera card cleanup option (with strict safety verification)


🌟 Support & Contributing

If this project saved you $50/year on GoPro subscriptions or saved your laptop hard drive from filling up:

  • ⭐ Star this repository on GitHub!

  • 🍴 Fork it to add support for custom cloud scripts, hooks, or notifications.

  • πŸ› Report issues or submit Pull Requests β€” contributions are warmly welcome!


πŸ“„ License

Distributed under the MIT License. Open source and free for everyone.

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