A powerful Python-based command-line tool that simplifies rclone operations with an intuitive interface for managing file transfers, serving files, and navigating both local and remote storage systems.
- 🚀 Interactive File Management: Navigate local and remote directories with an intuitive numbered interface
- 📤 Smart Upload: Upload files and folders to multiple cloud storage providers with overwrite protection
- 📥 Flexible Download: Download files from remote storage with selective file picking
- 🌐 Multi-Protocol Server: Serve files via HTTP, WebDAV, or FTP protocols
- ☁️ Multi-Cloud Support: Works with Google Drive, Mega, Google Photos, and other rclone-supported providers
- 🔄 Batch Operations: Handle multiple files and remotes simultaneously
- ⚡ Optimized Performance: Built-in VFS caching for improved transfer speeds
- 🛡️ Safe Operations: Overwrite protection and confirmation prompts
- Google Drive (including shared drives)
- Mega
- Google Photos
- And any other rclone-supported backend
- Clone the repository:
git clone https://github.com/yourusername/rclone-scripts.git
cd rclone-scripts
- Install dependencies:
uv sync
- Ensure rclone is configured with your cloud storage remotes:
rclone config
Upload local files or folders to remote storage:
uv run python rclone_manager.py upload [--overwrite]
Interactive Process:
- Navigate and select local files/folders
- Choose destination remote
- Select remote destination folder
- Confirm upload
Options:
--overwrite
: Enable overwrite mode (ignores file timestamps)
Download files from remote storage to local system:
uv run python rclone_manager.py download [--overwrite]
Interactive Process:
- Select source remote
- Navigate and select remote files/folders
- Choose local destination folder
- Confirm download
Options:
--overwrite
: Enable overwrite mode (ignores file timestamps)
Share local directories over the network:
uv run python rclone_manager.py serve-local
Interactive Process:
- Navigate and select local directory to serve
- Choose protocol (HTTP, WebDAV, or FTP)
- Server starts on your local IP address
Default Settings:
- IP: Your local network IP (auto-detected)
- Port: 8080 (HTTP/WebDAV), 8080+ (FTP)
- Credentials: Admin/471536 (FTP)
Serve remote storage over the network:
uv run python rclone_manager.py serve-remote
Interactive Process:
- Select one or more remotes to serve
- Choose protocol (HTTP, WebDAV, or FTP)
- Multiple servers start on different ports
Features:
- Multi-remote serving: Serve multiple cloud storages simultaneously
- Automatic port allocation: Each remote gets its own port
- Shared drive support: Optional Google Drive shared folders
- Optimized caching: VFS cache for better performance
Default Ports:
- First remote: 8080
- Additional remotes: 8081, 8082, 8083...
The tool uses optimized VFS caching for better performance:
- Cache Mode:
full
(downloads files completely before serving) - Cache Size: 1-10GB depending on the remote type
- Cache Duration: 24 hours
- Google Photos: Enhanced with
--gphotos-read-size
for better compatibility
- Auto IP Detection: Automatically detects your local network IP
- Default Credentials: Username:
Admin
, Password:471536
- Multiple Protocols: HTTP, WebDAV, FTP support
- Single item:
1
(select item 1) - Multiple items:
1,2,3
(select items 1, 2, and 3) - Range:
1-5
(select items 1 through 5) - Go up:
..
(navigate to parent directory) - Select current:
.
ord
(select current directory/path)
Navigate through both local and remote directories using the numbered interface:
Current Directory: /home/user/Downloads
1. 📁 Folder1/
2. 📁 Folder2/
3. 📄 file1.txt
4. 📄 file2.txt
Navigate by number, '..' (up), or select items (e.g., 1 or 2,3). Press '.' or 'd' to select this directory.:
uv run python rclone_manager.py upload
# Navigate to your folder, select Google Drive remote, choose destination
uv run python rclone_manager.py download --overwrite
# Select Google Photos remote, choose photos, select local destination
uv run python rclone_manager.py serve-remote
# Select multiple remotes (e.g., 1,2,3), choose FTP protocol
# Access via FTP clients on ports 8080, 8081, 8082
uv run python rclone_manager.py serve-local
# Navigate to folder, select HTTP protocol
# Access via browser at http://YOUR_IP:8080
- Remote not found: Ensure rclone is configured with
rclone config
- Permission denied: Check file permissions and rclone remote access
- Network issues: Verify firewall settings for serving functionality
- Cache issues: Clear rclone cache with
rclone cache clear
- Use
--overwrite
flag carefully to avoid unnecessary transfers - For large files, the VFS cache will improve serving performance
- Multiple remotes can be served simultaneously for better organization
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built on top of rclone - the awesome cloud storage sync tool
- Inspired by the need for a more user-friendly rclone interface
Note: This tool is a wrapper around rclone and requires a properly configured rclone installation. Make sure to secure your credentials and use appropriate network security measures when serving files.