FFast is a specialized Go-based CLI tool designed to streamline downloads from fuckingfast.co by integrating directly with Free Download Manager (FDM). It automates the extraction of links from PrivateBin-style URLs, manages download states, and configures FDM's internal settings for a seamless experience.
- Automated Link Extraction: Uses
chromedpto scrape and decode links from PrivateBin URLs. - FDM Configuration: Automatically detects FDM's installation, updates its internal SQLite database to set download paths, and restarts the service.
- Smart Caching: Remembers your URLs and download progress (mandatory, optional, and selective parts) to resume where you left off.
- Interactive CLI: Uses
surveyto provide a user-friendly selection process for optional and selective game parts.
- Go: Version
1.25.0or higher. - OS: Windows (Required for registry and FDM database pathing).
- Free Download Manager: Must be installed on your system.
Important
Download FDM: Official Website
To build the executable from the source code, follow these steps:
- Clone the Repository:
git clone https://github.com/Harsh-cyber005/FFast
cd FFast
- Install Dependencies:
go mod tidy
- Build the Project:
go build -o FFast.exe main.go
- Launch: Run the compiled binary:
.\FFast.exe
- Input URL: Enter the PrivateBin/Fucking-Fast URL when prompted.
- Configure Path: If it's your first time, the tool will ask for your preferred FDM download directory. It will then update FDM and restart it in the background.
- Select Parts: Use the arrow keys and spacebar to select Optional or Selective files you wish to download.
- Sit Back: The tool will feed the links to FDM one by one and track completion.
| Directory/File | Description |
|---|---|
ffast/ |
Core package containing downloader logic. |
ffast/cacheCode/ |
Handles SHA-1 hashing and file-based state caching. |
ffast/fdmConfig/ |
Windows Registry and FDM SQLite database configuration. |
main.go |
Entry point for the CLI application. |
cache/ |
(Ignored) Stores session data and download states. |
When contributing to this project, please follow these steps to ensure a clean history:
- Sync your local branch:
git pull origin main
- Stage your changes:
git add .
- Commit with a descriptive message:
- Example:
git commit -m "feat: add support for new link patterns"
- Push to your branch:
git push origin your-branch-name
Note: This tool is intended for personal automation and efficiency. Ensure you have the rights to the content you are downloading.