Skip to content

⚡ An FTP/FTPS/SFTP client with modern API.

License

Notifications You must be signed in to change notification settings

piccinnigius/qusly-core

 
 

Repository files navigation

Qusly-Core


Travis NPM NPM Codecov Discord Github

Qusly-Core is an FTP/FTPS/SFTP client, built around ssh2 and basic-ftp. It was built for Qusly - an elegant desktop client.

Features

  • Supports FTP, FTPS and SFTP
  • Modern, promise based API
  • Informative progress event, which includes eta and speed rate
  • Client for concurrent file transfer

Installation

$ npm install qusly-core

Example

Listing files:

import { Client } from 'qusly-core';

async function init() {
  const client = new Client();

  await client.connect({
    host: 'www.example.com',
    user: 'root',
    password: 'password',
    protocol: 'sftp',
  });

  const files = await client.readDir('/documents');

  console.log(files);

  await client.disconnect();
}

init();

Output:

[
  {
    name: 'logs.txt',
    type: 'file',
    ext: '.txt',
    size: 43,
    user: 'root',
    group: 'root',
    date: '2019-05-29T22:00:00.000Z',
    permissions: {
      user: 6,
      group: 6,
    },
  },
];

Table of contents

About

⚡ An FTP/FTPS/SFTP client with modern API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.8%
  • JavaScript 1.2%