# ftp-bucket

> A FTP storage bucket implementation for NodeJS

Latest version **0.0.2** (published 2018-04-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install ftp-bucket
pnpm add ftp-bucket
yarn add ftp-bucket
bun add ftp-bucket
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.2 |
| Published | 2018-04-06 |
| First published | 2018-04-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 19 KB |
| Known vulnerabilities | 0 (+2 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Benjamin Comeau |
| Maintainers | bcomeau |
| Keywords | FTP, storage, bucker, file |

## Links

- npm: https://www.npmjs.com/package/ftp-bucket
- Repository: https://github.com/bcomeau/node-ftp-bucket
- Homepage: https://github.com/bcomeau/node-ftp-bucket#readme
- Issues: https://github.com/bcomeau/node-ftp-bucket/issues
- npm.io page: https://npm.io/package/ftp-bucket

## Dependencies (8)

- [url](https://npm.io/package/url.md) 0.11.0
- [path](https://npm.io/package/path.md) 0.12.7
- [uuid](https://npm.io/package/uuid.md) 3.2.1
- [async](https://npm.io/package/async.md) 2.6.0
- [bluebird](https://npm.io/package/bluebird.md) 3.5.1
- [mime-type](https://npm.io/package/mime-type.md) 3.0.5
- [promise-ftp](https://npm.io/package/promise-ftp.md) 1.3.5
- [ssh2-sftp-client](https://npm.io/package/ssh2-sftp-client.md) 2.1.1

## Alternatives

- [unionfs](https://npm.io/package/unionfs.md) — 2.2M weekly downloads
- [path-starts-with](https://npm.io/package/path-starts-with.md) — 35.9K weekly downloads
- [redzip](https://npm.io/package/redzip.md) — 1.2K weekly downloads
- [vscode-anymatch](https://npm.io/package/vscode-anymatch.md) — 848 weekly downloads
- [@ledgerhq/coin-filecoin](https://npm.io/package/@ledgerhq/coin-filecoin.md) — 793 weekly downloads

## Recent versions

- 0.0.2 (latest) — 2018-04-06
- 0.0.1 — 2018-04-05

## README

# FTP Bucket
[![Build Status](https://travis-ci.org/bcomeau/node-ftp-bucket.svg?branch=master)](https://travis-ci.org/bcomeau/node-ftp-bucket)
[![npm version](https://img.shields.io/npm/v/ftp-bucket.svg?style=flat)](https://www.npmjs.com/package/ftp-bucket)

A simple file storage for NodeJS using a FTP server.


## Installation

```
npm install ftp-bucket
```

### Note
Make sure directory listing is disable on the FTP server.
To prevent directory listings, create a `.htaccess` file following which includes the following text:

```
IndexIgnore *
```
[Reference](http://www.htaccess-guide.com/disable-directory-listings/)

## Example

```
const FTPBucket = require('ftp-bucket');

const bucketURL = 'sftp://username:password@example.com/path';

let bucket = new FTPBucket(bucketURL);

// Save stream
let stream = fs.createReadStream(...);
bucket.saveStream(stream)
    .then((info) => {
        console.log('id: ' + info.id); // id: 60f7ac7d-ae83-4c15-8c9d-710e2861bdde
    })
    .catch((err) => {
        console.log(err);
    });

// Get stream
const idGet = '60f7ac7d-ae83-4c15-8c9d-710e2861bdde';
bucket.getStream(idGet)
    .then((file) => {
        console.log('id: ' = file.id); // id: 60f7ac7d-ae83-4c15-8c9d-710e2861bdde
    })
    .catch((err) => {
        console.log(err);
    });

// Remove file
const idRemove = '60f7ac7d-ae83-4c15-8c9d-710e2861bdde';
bucket.remove(idRemove)
    .then((info) => {
        console.log('id: ' + info.id); // id: 60f7ac7d-ae83-4c15-8c9d-710e2861bdde
    })
    .catch((err) => {
        console.log(err);
    });

```

## Documentation

TODO

## Run Tests

TODO

---
_Source: https://npm.io/package/ftp-bucket · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
