The Ultimate Desktop & Web Migration Utility for Google Drive
Seamlessly transfer files, folders, and entire storage infrastructures directly between Google accounts without downloading them to your local disk.
CloudShift is a state-of-the-art data migration utility designed for privacy, speed, and reliability. By utilizing direct cloud-to-cloud passthrough streams, CloudShift bypasses the need for local storage, intermediate databases, or third-party servers. Your data flows securely from the source Google account to the destination.
- Direct Cloud Streaming: Pipes data directly via Node.js PassThrough streams. No large temp files. Flat memory footprint.
- Zero Configuration Architecture: No Docker, no Redis, no PostgreSQL. Pure Node.js and React.
- Visual Drive Explorer: Built-in, high-performance virtualized file browser to select specific payloads.
- Advanced Transfer Engine: Complete control over conflict strategies, checksum verification, and folder structure preservation.
- Resilient Connectivity: Exponential backoff and auto-retry for transient DNS drops, API timeouts, and network interruptions.
Designed with modern engineering practices, CloudShift delivers a premium SaaS-like experience on a local stack.
| Category | Technology |
|---|---|
| Frontend | React 18, Vite, TypeScript, TailwindCSS, lucide-react, @tanstack/react-query, @tanstack/react-virtual |
| Backend | Node.js, Express, TypeScript, googleapis |
| Auth | Secure Local OAuth2.0 Flows |
- Node.js (v18 or v22 LTS)
- A Google Cloud Console project with the Google Drive API enabled.
- OAuth 2.0 Client IDs configured for
http://localhost:3000.
cd backend
npm installCreate a .env file in the backend/ directory:
GOOGLE_CLIENT_ID=your_oauth_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_oauth_client_secret
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/google/callback
FRONTEND_URL=http://localhost:5173Start the API server:
npm run devcd frontend
npm install
npm run devThe stunning UI will be available at http://localhost:5173.
CloudShift strictly adheres to a Clean Architecture model:
- Stateless Backend: Authentication states and tokens are persisted securely in local temporary JSON files (
tokens/), keeping the server stateless. - Modular Frontend: The UI is completely isolated, utilizing Shared TypeScript models (
src/types/) ensuring robust end-to-end type safety. - Transfer Engine (Phase 3): Dynamically scales concurrent upload streams based on active network throughput and API quota limits.
CloudShift runs locally on your machine.
- No telemetry.
- No remote databases.
- No third-party API gateways.
Your Google OAuth tokens never leave your local environment.