New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

rclone

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rclone

Decrypt filenames in the browser

latest
Source
npmnpm
Version
1.4.0
Version published
Weekly downloads
190
20.25%
Maintainers
1
Weekly downloads
 
Created
Source

rclone-js Travis Build Codecov

Pure Javascript implementation of the cipher used in rclone (crypt-mount).

Installation

Node

npm install rclone

Browser

You can find a browser bundle here: https://unpkg.com/rclone/dist/rclone.umd.min.js
Use window.rclone.Rclone to access the constructor function.

Getting Started

Examples

Encrypt/Decrypt Paths

import { Rclone } from 'rclone';

// Create Rclone instance 
Rclone({
    password: 'UmyLSdRHfew6aual28-ggx78qHqSfQ',
    salt: 'Cj3gLa5PVwc2aot0QpKiOZ3YEzs3Sw'
})
.then(rclone => { 
   
  // Decryption
  console.log(
    rclone.Path.decrypt("dk7voi2247uqbgbuh439j13eo0/p0q5lhi767fsplsdjla7j7uv60") // Hello World
  );
  
  // Encryption
  console.log(
    rclone.Path.encrypt("Hello/World") // dk7voi2247uqbgbuh439j13eo0/p0q5lhi767fsplsdjla7j7uv60
  );
  
})
.catch(error => {
  // Catch error creating rclone instance 
})

Decrypt Files

Concept

To decrypt files in the browser rclone-js is using a node concept called Streams in the browser using readable-stream. You can create a decrypting ReadableStream by using the function rclone.File.createReadStream which will take a function that needs to return a ReadableStream representing the decrypted file. To provide random access rclone will pass an options object to the function like used by the node fs module. An important additon to these options is the chunkSize propertie, it is needed because rclone uses a block cipher and can only operate on a integer multiple of this size. These options need to be taken into account for the creation of the underyling ReadableStream returned from the function.

Example

Fetch Stream

Using fetch and range headers to decrypt files from amazon s3

FAQs

Package last updated on 16 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts