The easiest way to copy files between cloud storage services
Project description
CloudHop
The easiest way to copy files between cloud storage services. Free, open source, runs on your machine.
Download / Install
Mac -- Download CloudHop.dmg from Releases
First launch: right-click > Open > click "Open" (why?)
Windows -- Download CloudHop-windows.zip from Releases
pip
pip install cloudhop && cloudhop
Homebrew
brew tap husamsoboh-cyber/tap && brew install cloudhop
From source
git clone https://github.com/husamsoboh-cyber/cloudhop && cd cloudhop && pip install -e . && cloudhop
Docker
docker run -d -p 8787:8787 \
-v ~/.config/rclone:/root/.config/rclone:ro \
husamsoboh/cloudhop:latest
Then open http://localhost:8787 in your browser.
Note: Configure your cloud accounts with rclone config first, then mount the config into the container.
Why CloudHop?
- Free and open source, no limits, no account needed
- Files transfer directly, never touch our servers
- 70+ cloud providers (Google Drive, OneDrive, Dropbox, iCloud, MEGA, S3, Proton Drive...)
- Visual wizard, no command line needed
- Pause, resume, and schedule transfers across restarts
- Copy, sync, or two-way bisync modes
How it works
- Run CloudHop -- launch the app or run
cloudhopin a terminal - Pick source -- choose where your files are (e.g., OneDrive)
- Pick destination -- choose where to copy them (e.g., Google Drive)
- Configure options -- set parallel transfers, exclude folders, limit bandwidth
- Connect accounts -- authorize each cloud provider in your browser
- Start transfer -- watch progress in the live dashboard with speed charts and ETA
Features
Transfer
- Copy, sync, or two-way bisync modes with safety warnings for destructive operations
- Pause, resume, and cancel active transfers
- Multi-destination transfers -- copy one source to up to 5 destinations via queue
- Transfer presets -- save, manage, and re-run configurations with one click
- Selective copy -- browse and pick specific folders to transfer
- Exclude folder picker -- visually exclude folders before starting
- Server-side copy where the provider supports it (no local disk needed)
- Conflict resolution via checksum verification option
- Dry-run preview showing file count and total size before starting
- Transfer receipt -- downloadable summary after completion
- Post-transfer verification via rclone check
Dashboard
- Real-time progress with live speed and file count charts
- ETA calculation with smoothing
- File type breakdown by extension
- Active transfer list showing files in progress
- Recent files feed
- Error tracking with user-friendly messages
- Progress percentage in browser tab title
- Milestone notifications at 25%, 50%, 75%
- Completion screen with verify and receipt options
- Connection-lost banner when the server is unreachable
Scheduling & Bandwidth
- Schedule windows with start/end times in HH:MM format
- Day-of-week selection for recurring schedules
- Live bandwidth control during transfers
- Bandwidth limit presets in the wizard (10M, 1G, 500K, etc.)
- Auto-pause on battery (macOS)
Notifications
- Desktop notifications on macOS and Linux
- Email notifications on completion and failure via SMTP
- Browser milestone alerts at 25%, 50%, 75%
- Sound alert on completion with mute option
Settings
- Settings page with dark/light theme toggle and system color-scheme detection
- SMTP configuration for email notifications with test email button
Security
- Localhost-only binding -- not accessible from other machines
- CSRF protection with double-submit token pattern and timing-safe comparison
- DNS rebinding protection via Host header validation
- Input validation on all API endpoints
- Path traversal prevention using realpath with os.sep checks
- SSRF prevention -- rejects rclone on-the-fly backend specifiers
- Credential filtering -- masks 18 sensitive flag patterns in logs and UI
AI Integration
- CloudHop MCP connects CloudHop to Claude, letting you control transfers through natural language
- "Copy my OneDrive photos to Google Drive" -- just say what you need
- Preview sizes, start transfers, monitor progress, pause and resume, all from a conversation
- Works with Claude Code and Claude Desktop
CLI Usage
# Interactive wizard
cloudhop
# Direct transfer
cloudhop onedrive: gdrive:backup --transfers=8 --bwlimit=10M
# Subcommands
cloudhop status
cloudhop pause
cloudhop resume
cloudhop history
Supported Providers
Google Drive, OneDrive, Dropbox, iCloud Drive, MEGA, Amazon S3, Proton Drive, Local Folder + 70 more via rclone
How is this different from...
rclone? CloudHop uses rclone as its engine. If you're comfortable with CLI, you don't need this. CloudHop adds a visual wizard and live dashboard.
MultCloud / CloudFuze? Those are paid SaaS that route files through their servers. CloudHop is free and your files transfer directly between providers.
Download and re-upload? That requires local disk space and 2x transfer time. CloudHop uses server-side copy where supported.
The story
I needed to move 500GB of files from OneDrive to Google Drive. Every tool I found was either paid, required uploading my files to someone else's server, or needed a PhD in command-line tools. So I built CloudHop -- a simple, visual way to move files between any cloud service, running entirely on your own computer. No accounts, no subscriptions, no middleman.
Screenshots
| Wizard Welcome | Source Selection | Dashboard |
|---|---|---|
Support
CloudHop is free and open source. If it saves you time, consider supporting development:
Sponsor on GitHub | Buy Me a Coffee
Sponsors
Become the first sponsor! Your logo will appear here.
Backers
Become a backer! Your name will appear here.
Supporters
Support CloudHop and see your name here.
Links
Security | Privacy | Contributing | Changelog
License
MIT License -- see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloudhop-1.0.0.tar.gz.
File metadata
- Download URL: cloudhop-1.0.0.tar.gz
- Upload date:
- Size: 171.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0834b4bb1de41375859b33d5ea16b38006d32966bec609f25b822ce2228a0ad1
|
|
| MD5 |
c504aa954255b31238f8c571400262db
|
|
| BLAKE2b-256 |
96b2fc855f49aa60412134799e5b1bc56b52d0d15982bea804d25df8cc646cfc
|
File details
Details for the file cloudhop-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cloudhop-1.0.0-py3-none-any.whl
- Upload date:
- Size: 187.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54b22d71c7e089c3e317e716d585372d2ec8803344dc39e6e615534ce1e49ab7
|
|
| MD5 |
3755cf75d5edb7979bd18ac07d9a3502
|
|
| BLAKE2b-256 |
33da8aecb3784a9a2827a015bab6864b8c6b89a5f8ba7d0679889663d22314ef
|