Efficient downloader for GoFile
GoFile Downloader
This script is a utility for downloading files from GoFile, supporting bothpublic and password-protected albums.

Features
- Downloads multiple files from an album concurrently.
- Supports batch downloading via a list of URLs.
- Supports downloading password-protected albums by providing a password.
- Supports custom download location.
- Progress indication during downloads.
- Automatically creates a directory structure for organized storage.
- Logs URLs that encounter errors for troubleshooting.
Dependencies
- Python 3
requests- for HTTP requestsrich- for progress display in the terminal.
Show directory structure
project-root/
โโโ helpers/
โ โโโ managers/
โ โ โโโ live_manager.py # Manages a real-time live display
โ โ โโโ log_manager.py # Manages real-time log updates
โ โ โโโ progress_manager.py # Manages progress bars
โ โโโ config.py # Manages constants and settings used across the project
โ โโโ download_utils.py # Utilities for managing the download process
โ โโโ file_utils.py # Utilities for managing file operations
โ โโโ general_utils.py # Miscellaneous utility functions
โ โโโ gofile_utils.py # Utilities for checking GoFile status and URL validation
โโโ downloader.py # Module for initiating downloads from specified GoFile URLs
โโโ main.py # Main script to run the downloader
โโโ URLs.txt # Text file listing album URLs to be downloaded
โโโ session_log.txt # Log file for recording session details
Installation
- Clone the repository:
git clone https://github.com/Lysagxra/GoFileDownloader.git
- Navigate to the project directory:
cd GoFileDownloader
- Install the required dependencies:
pip install -r requirements.txt
Single Album Download
To download a single album, you can use downloader.py, running the script with a valid album URL.
Usage
python3 downloader.py <gofile_url>
Example
python3 downloader.py https://gofile.io/d/clgeTz
Password-Protected Album Download
To download a password-protected album, you can use downloader.py, running the script with the album password.
Usage
python3 downloader.py <gofile_url> <password>
Example
python3 downloader.py https://gofile.io/d/hXHGR1 TestPassword
Batch Download
To batch download from multiple URLs, you can use the main.py script. This script reads URLs from a file named URLs.txt and downloads each one using the media downloader.
Usage
- Create a file named
URLs.txtin the root of your project, listing each URL on a new line.
- Example of
URLs.txt:
https://gofile.io/d/clgeTz
https://gofile.io/d/FrYeIy
https://gofile.io/d/jLWdTZ
- Ensure that each URL is on its own line without any extra spaces.
- You can add as many URLs as you need, following the same format.
- Run the batch download script:
python3 main.py
File Download Location
If the --custom-path <custompath> argument is used, the downloaded files will be saved in <custompath>/Downloads. Otherwise, the files will be saved in a Downloads folder created within the script's directory
Usage
python3 main.py --custom-path <custom_path>
Example
python3 main.py --custom-path /path/to/external/drive
Logging
The application logs any issues encountered during the download process in a file named session_log.txt. Check this file for any URLs that may have been blocked or had errors.