SeedUp is a very powerful Python based tool that combines torrent downloading with Google Drive uploading capabilities. It's designed to work both as a standalone application and in Google Colab environments, making it perfect for managing downloads without using local resources.
Perfect for users who need to download large files through torrents and automatically store them in cloud storage, especially useful in resource-constrained environments like Google Colab's free tier.
- High-speed torrent downloading using libtorrent
- Automatic Google Drive upload with seamless authentication
- Resume capability for interrupted downloads
- Real-time progress tracking with visual progress bars
- Smart duplicate detection - skip already uploaded files
- Flexible input support - both magnet links and .torrent files
- Google Colab optimized with automatic environment detection
- Secure authentication handling for Google Drive API
- Organized uploads with configurable destination folders
- Command-line interface for advanced users
Simply open the SeedUp Colab Notebook and follow the step-by-step guide. No manual installation required!
-
Clone the repository:
git clone https://github.com/codercyco/SeedUp.git cd SeedUp -
Install dependencies:
pip install -r requirements.txt
-
Install libtorrent:
# Ubuntu/Debian sudo apt-get install python3-libtorrent # macOS brew install libtorrent-rasterbar # Or via pip (may require compilation) pip install libtorrent
- Click here to Open SeedUp Colab Notebook
- Follow the step-by-step cells
- Authentication and setup is handled automatically
python main.py download -t "magnet:?xt=urn:btih:..."
python main.py download -t movie.torrent# Uploads to 'SeedUp Downloads' folder in Drive root (created automatically)
python main.py download -t "magnet:?xt=urn:btih:..." --upload
# Upload to a specific folder (optional)
python main.py download -t "magnet:?xt=urn:btih:..." --upload -f FOLDER_ID# Uploads to 'SeedUp Downloads' folder in Drive root (created automatically)
python main.py upload -p /path/to/folder
# Upload to a specific folder (optional)
python main.py upload -p /path/to/folder -f FOLDER_IDpython main.py statuspython main.py clear--no-resume: Start fresh download (ignore previous session)--no-skip: Force re-upload even if files exist in Drive-d PATH: Custom download destination-f FOLDER_ID: Google Drive folder ID for uploads (optional - defaults to SeedUp Downloads folder in Drive root)
- Auto-creates 'SeedUp Downloads' folder in your Google Drive root directory
- Smart detection - uses existing folder if already present
- Optional custom folders - you can still specify a different folder ID if needed
- All uploads go to SeedUp Downloads folder by default for organized storage
SeedUp/
├── main.py # Main CLI entry point
├── torrent_downloader.py # Torrent downloading logic
├── gdrive_uploader.py # Google Drive upload functionality
├── config.py # Configuration and constants
├── requirements.txt # Python dependencies
├── SeedUp.ipynb # Google Colab notebook
├── LICENSE # Apache License 2.0
└── README.md # This file
No manual setup required! SeedUp automatically:
- Creates a 'SeedUp Downloads' folder in your Google Drive root (or uses existing one)
- Handles authentication in Google Colab automatically
- Uploads all files to the SeedUp Downloads folder by default
Optional: Using a Custom Folder
- Get Folder ID:
- Open Google Drive
- Navigate to your target folder
- Copy the folder ID from the URL:
https://drive.google.com/drive/folders/FOLDER_ID_HERE
- Use with -f flag:
python main.py download -t "magnet..." --upload -f YOUR_FOLDER_ID
Key configuration options in config.py:
TORRENT_DOWNLOAD_PATH = "../SeedUp Downloads" # Default download path
CHUNK_SIZE = 100 * 1024 * 1024 # 100MB upload chunks
MAX_RETRIES = 3 # Upload retry attempts
LARGE_FILE_THRESHOLD = 1024 * 1024 * 1024 # 1GB threshold- Anyone: Who needs cloud storage for torrent downloads
- ✅ Google Colab (Recommended - zero setup)
- ✅ Local Linux/macOS (With proper dependencies)
- ✅ WSL on Windows (Linux subsystem)
- ❌ Native Windows (libtorrent limitations)
- Only download content you have legal rights to access
- Respect copyright and intellectual property laws
- Be aware of your local regulations regarding torrents
- This tool is for legitimate use cases only
- Runtime Limit: ~12 hours maximum session
- Disk Space: Limited to ~100GB temporary storage
- Session Management: May disconnect if idle
I welcome contributions!
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- ✅ Commercial Use - You can use this software commercially
- ✅ Modification - You can modify the source code
- ✅ Distribution - You can distribute the software
- ✅ Private Use - You can use it privately
- ✅ Patent Grant - Contributors provide an express grant of patent rights
⚠️ Trademark Use - You cannot use contributors' names, logos, or trademarks⚠️ Liability - Software is provided "as is" without warranty
- libtorrent team for the excellent torrent library
- Google for Colab platform and Drive API
- Python community for amazing ecosystem
- Open source contributors who make projects like this possible