Metadata-Version: 2.4
Name: mfget
Version: 0.1.1
Summary: A clean MediaFire file and folder downloader with a Rich-powered CLI.
License-Expression: MIT
Project-URL: Homepage, https://github.com/worstgirlinamerica/mediafire-dl
Project-URL: Repository, https://github.com/worstgirlinamerica/mediafire-dl
Project-URL: Issues, https://github.com/worstgirlinamerica/mediafire-dl/issues
Keywords: mediafire,downloader,cli,rich
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=13.7.0
Dynamic: license-file

# 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 `Downloads` folder
- Can read a local `cookies.txt` file 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:

```bash
python3 -m pip install --user git+https://github.com/worstgirlinamerica/mediafire-dl.git
```

Then run:

```bash
mediafire-dl
```

On Windows, use `py` instead of `python3`:

```powershell
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:

```bash
python3 -m pip install --user mfget
```

On Windows:

```powershell
py -m pip install --user mfget
```

### macOS

If you installed with Python 3:

```bash
mediafire-dl
```

If your terminal says `mediafire-dl` was not found, use the module form:

```bash
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:

```bash
echo 'export PATH="$HOME/Library/Python/3.12/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
```

### Windows

Run:

```powershell
mediafire-dl
```

If PowerShell says `mediafire-dl` was not found, use:

```powershell
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:

```text
%APPDATA%\Python\Python312\Scripts
```

### Linux

Run:

```bash
mediafire-dl
```

If your shell says `mediafire-dl` was not found, use:

```bash
python3 -m mediafire_dl
```

Or add Python's user script folder to your PATH:

```bash
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:

```bash
python3 -m pip install --user .
```

## Usage

Run the command and paste a MediaFire link when it asks:

```bash
mediafire-dl
```

Or pass the link directly:

```bash
mediafire-dl "https://www.mediafire.com/file/example/file.zip/file"
```

Choose a save folder:

```bash
mediafire-dl "https://www.mediafire.com/folder/example/My+Folder" --output ~/Downloads/MediaFire
```

Preview a folder without downloading anything:

```bash
mediafire-dl --dry-run "https://www.mediafire.com/folder/example/My+Folder"
```

Show more technical error details:

```bash
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:

```bash
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.txt` file

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:

```bash
python3 -m pip install --user -e .
```

Run the CLI from source:

```bash
python3 -m mediafire_dl
```

The package entry point is:

```bash
mediafire-dl
```

## License

MIT License. See [LICENSE](LICENSE).
