# Drive Mediafire Downloader

Una librería de Node.js para descargar archivos desde Google Drive y Mediafire de forma programática.

## Instalación

```bash
npm install drive-mediafire-downloader
```

## Uso

### Descargar un archivo

```javascript
const downloader = require('drive-mediafire-downloader');

// Descargar un archivo (detecta automáticamente si es Google Drive o Mediafire)
async function download() {
  try {
    const result = await downloader.downloadFile('https://drive.google.com/file/d/FILEID/view', './downloads');
    console.log('Descarga completada:', result);
  } catch (error) {
    console.error('Error en la descarga:', error.message);
  }
}

download();
```

### Descargar específicamente desde Google Drive

```javascript
const downloader = require('drive-mediafire-downloader');

async function downloadFromDrive() {
  try {
    const result = await downloader.downloadFromGoogleDrive('https://drive.google.com/file/d/FILEID/view', './downloads');
    console.log('Descarga completada:', result);
  } catch (error) {
    console.error('Error en la descarga:', error.message);
  }
}

downloadFromDrive();
```

### Descargar específicamente desde Mediafire

```javascript
const downloader = require('drive-mediafire-downloader');

async function downloadFromMediafire() {
  try {
    const result = await downloader.downloadFromMediafire('https://www.mediafire.com/file/FILEID/file', './downloads');
    console.log('Descarga completada:', result);
  } catch (error) {
    console.error('Error en la descarga:', error.message);
  }
}

downloadFromMediafire();
```

## API

### downloadFile(downloadLink, downloadPath)

Descarga un archivo desde Google Drive o Mediafire.

- `downloadLink` (string): El enlace de descarga (Google Drive o Mediafire)
- `downloadPath` (string, opcional): La ruta donde se guardará el archivo. Si no se proporciona, se usará la carpeta 'downloads' en el directorio actual.

Retorna una promesa que se resuelve con un objeto que contiene:
- `success` (boolean): Indica si la descarga fue exitosa
- `message` (string): Mensaje descriptivo
- `filePath` (string): Ruta completa donde se guardó el archivo
- `source` (string): Fuente de la descarga ('Google Drive' o 'Mediafire')

### downloadFromGoogleDrive(driveLink, downloadPath)

Descarga un archivo específicamente desde Google Drive.

- `driveLink` (string): El enlace de Google Drive
- `downloadPath` (string, opcional): La ruta donde se guardará el archivo

### downloadFromMediafire(mediafireLink, downloadPath)

Descarga un archivo específicamente desde Mediafire.

- `mediafireLink` (string): El enlace de Mediafire
- `downloadPath` (string, opcional): La ruta donde se guardará el archivo

## Requisitos

- Node.js 14 o superior
- Puppeteer (se instala automáticamente como dependencia)

## Licencia

ISC