A clean MediaFire file and folder downloader with a Rich-powered CLI.
Project description
Mediafire-DL
Mediafire-DL is a small command-line downloader for MediaFire links.
It handles single files and folders, keeps nested folder structure intact, and shows a clean progress display while it downloads. Public links work without any login details. Links that require an account can be tried with an optional local cookies file.
What It Does
- Downloads public MediaFire file links
- Downloads public MediaFire folder links
- Walks nested folders automatically
- Saves folders using the same folder layout MediaFire reports
- Shows a file preview before downloading
- Supports a dry-run mode so you can check what would be saved first
- Defaults to your system
Downloadsfolder - Can read a local
cookies.txtfile for links your own browser account can access
Install
You need Python 3.9 or newer.
From GitHub
This works without cloning the repo first:
python3 -m pip install --user git+https://github.com/worstgirlinamerica/mediafire-dl.git
Then run:
mediafire-dl
On Windows, use py instead of python3:
py -m pip install --user git+https://github.com/worstgirlinamerica/mediafire-dl.git
From PyPI
Once Mediafire-DL is published to PyPI as mfget, it can be installed like this:
python3 -m pip install --user mfget
On Windows:
py -m pip install --user mfget
macOS
If you installed with Python 3:
mediafire-dl
If your terminal says mediafire-dl was not found, use the module form:
python3 -m mediafire_dl
If the command is installed but your shell cannot find it, add Python's user script folder to your PATH. The version number may be different on your machine:
echo 'export PATH="$HOME/Library/Python/3.12/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Windows
Run:
mediafire-dl
If PowerShell says mediafire-dl was not found, use:
py -m mediafire_dl
If you want the mediafire-dl command to work directly, add Python's user Scripts folder to PATH. It usually looks like this, with the Python version adjusted for your install:
%APPDATA%\Python\Python312\Scripts
Linux
Run:
mediafire-dl
If your shell says mediafire-dl was not found, use:
python3 -m mediafire_dl
Or add Python's user script folder to your PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Local Development
If you cloned the repo and want to install from the project folder:
python3 -m pip install --user .
Usage
Run the command and paste a MediaFire link when it asks:
mediafire-dl
Or pass the link directly:
mediafire-dl "https://www.mediafire.com/file/example/file.zip/file"
Choose a save folder:
mediafire-dl "https://www.mediafire.com/folder/example/My+Folder" --output ~/Downloads/MediaFire
Preview a folder without downloading anything:
mediafire-dl --dry-run "https://www.mediafire.com/folder/example/My+Folder"
Show more technical error details:
mediafire-dl --verbose "https://www.mediafire.com/file/example/file.zip/file"
Use a local cookies file for a link that your browser account can already access:
mediafire-dl --cookies ~/Downloads/cookies.txt "https://www.mediafire.com/file/example/file.zip/file"
The cookies file must be in Netscape/Mozilla cookies.txt format. Mediafire-DL only reads the file from your computer for that run.
Supported Links
Supported:
- Public MediaFire file links
- Public MediaFire folder links
- Public folders with nested subfolders
- MediaFire file or folder links that work with a user-provided
cookies.txtfile
Not supported:
- Asking for or storing MediaFire usernames and passwords
- Automatically reading cookies from your browser
- Password-protected downloads that require an extra password prompt
- Captcha-gated or blocked downloads
Privacy And Safety
Mediafire-DL does not ask for MediaFire login details and does not read browser cookies automatically. If you use --cookies, the cookie file stays on your machine and is only read by the current command.
This repo already ignores common private and generated files in .gitignore, including .env, cookies, logs, caches, virtual environments, .DS_Store, partial downloads, and local media/download folders.
Development
For an editable install while working on the code:
python3 -m pip install --user -e .
Run the CLI from source:
python3 -m mediafire_dl
The package entry point is:
mediafire-dl
License
MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mfget-0.1.1.tar.gz.
File metadata
- Download URL: mfget-0.1.1.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94e1c98128b7c7fc11137149ecdc1922a6a4535ff2f213d22eb2b681af14ef72
|
|
| MD5 |
fb736cdb65ad2d1a50f5dd71aa9cbca8
|
|
| BLAKE2b-256 |
0e3e9b0b9bedb6613d12c44a0f4e2d741daef2be2f14d2c3630eb0410ec8f8b6
|
Provenance
The following attestation bundles were made for mfget-0.1.1.tar.gz:
Publisher:
release.yml on worstgirlinamerica/mediafire-dl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mfget-0.1.1.tar.gz -
Subject digest:
94e1c98128b7c7fc11137149ecdc1922a6a4535ff2f213d22eb2b681af14ef72 - Sigstore transparency entry: 1554482708
- Sigstore integration time:
-
Permalink:
worstgirlinamerica/mediafire-dl@a502ac63adaf3142ae0a1a4049776140154414c4 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/worstgirlinamerica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a502ac63adaf3142ae0a1a4049776140154414c4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mfget-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mfget-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e53c739d69fc13b880536b0048178f3cde157e3542e689826e33292c5d2bd47
|
|
| MD5 |
27c9cebdbe8c4994ff94151a096625d9
|
|
| BLAKE2b-256 |
b3a3ecdb692b52bb809925e058e940f0a1983c97914ae620da4b2361ca503633
|
Provenance
The following attestation bundles were made for mfget-0.1.1-py3-none-any.whl:
Publisher:
release.yml on worstgirlinamerica/mediafire-dl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mfget-0.1.1-py3-none-any.whl -
Subject digest:
0e53c739d69fc13b880536b0048178f3cde157e3542e689826e33292c5d2bd47 - Sigstore transparency entry: 1554482757
- Sigstore integration time:
-
Permalink:
worstgirlinamerica/mediafire-dl@a502ac63adaf3142ae0a1a4049776140154414c4 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/worstgirlinamerica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a502ac63adaf3142ae0a1a4049776140154414c4 -
Trigger Event:
release
-
Statement type: