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.
Metadata
Release files for cloudhop 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cloudhop-1.0.0.tar.gz | 171.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cloudhop-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 359.0 kB
Release files / cloudhop-1.0.0.tar.gz
| Download URL | cloudhop-1.0.0.tar.gz |
|---|---|
| Size | 171.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0834b4bb1de41375859b33d5ea16b38006d32966bec609f25b822ce2228a0ad1
|
|
BLAKE2b-256 checksum How to use checksums |
96b2fc855f49aa60412134799e5b1bc56b52d0d15982bea804d25df8cc646cfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / cloudhop-1.0.0-py3-none-any.whl
| Download URL | cloudhop-1.0.0-py3-none-any.whl |
|---|---|
| Size | 187.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54b22d71c7e089c3e317e716d585372d2ec8803344dc39e6e615534ce1e49ab7
|
|
BLAKE2b-256 checksum How to use checksums |
33da8aecb3784a9a2827a015bab6864b8c6b89a5f8ba7d0679889663d22314ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|