Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

etebase

etesync72BSD-3-Clause0.43.1TypeScript support: included

Etebase TypeScript API for the web and node

Etebase, encryption, crypto, synchronization

readme

Etebase - your end-to-end encrypted backend

The Etebase TypeScript client API for the web, node and react-native!

GitHub tag NPM version Build Status Chat with us

What is it?

Etebase is an end-to-end encrypted backend as a service. Think Firebase, but encrypted in a way that only your users can access their data.

Etebase makes it easy to build end-to-end encrypted applications by taking care of the encryption and its related challenges. It is fully open-source (clients and server) so anyone can review, audit or contribute to its development!

Using Etebase in your project

This repository is the JavaScript/TypeScript library for communication with an Etebase server (there also exists libraries for Python, Java, Kotlin, C/C++ and Rust). See https://docs.etebase.com/installation for details on how to install the library and dependencies.

The following is a minimal example of how to change the Etebase password.

import * as Etebase from 'etebase';
const etebase = await Etebase.Account.login("username", "password");
await etebase.changePassword("new password");
await etebase.logout();

There are more examples in the Guides section at https://docs.etebase.com/.

Known issues

If you get build errors complaining about export = URI; from urijs then you need to set compilerOptions.allowSyntheticDefaultImports to true in tsconfig.json.

Examples of projects that use Etebase

  • EteSync Notes - A secure, end-to-end encrypted, and privacy-respecting notes mobile application.
  • EteSync Web - A secure, end-to-end encrypted, and privacy-respecting notes web frontend application.
  • EteSync DAV - Provides a local CalDAV and CardDAV server that acts as an EteSync compatibility layer/adapter for clients such as Thunderbird, Outlook and Apple Contacts to connect with EteSync.

Building Etebase

git clone https://github.com/etesync/etebase-js
cd etebase-js
yarn install
yarn run build

Running tests requires a (test) Etebase server running, defaulting to http://localhost:8033, but can be overridden with the environment variable ETEBASE_TEST_API_URL.

cd ..
git clone https://github.com/etesync/server
cd server

... # Follow README.md install instructions
... # Build and start a server

cd ../etebase-js
env ETEBASE_TEST_API_URL=http://localhost:8033 yarn run test

Known issues

Yarn is required for building this project, attempting to use npm will fail.

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased version

Added

Changed

Deprecated

Removed

Fixed

Security

Version 0.43.1 - 2021-08-09

Fixed

  • Fixed failures to init Uint8Array in some cases.

Version 0.43.0 - 2021-07-07

Added

  • Expose derive key for easy key derivation for users.

Version 0.42.0 - 2021-01-12

Added

  • Support for websockets.

Version 0.41.1 - 2021-01-07

Changed

  • Updated argon2-webworker dependency.

Version 0.41.0 - 2021-01-07

Details missing.

Version 0.40.1 - 2020-11-17

Details missing.

Version 0.40.0 - 2020-11-11

Details missing.

Version 0.30.0 - 2020-11-03

Details missing.

Version 0.21.0 - 2020-10-23

Details missing.

Version 0.20.0 - 2020-10-15

Details missing.

Version 0.14.0 - 2020-10-13

Details missing.

Version 0.13.2 - 2020-10-09

Details missing.

Version 0.13.1 - 2020-09-29

Details missing.

Version 0.13.0 - 2020-09-19

Details missing.

Version 0.12.0 - 2020-09-16

Details missing.

Version 0.11.0 - 2020-09-07

Details missing.

Version 0.10.4 - 2020-09-02

Details missing.

Version 0.10.3 - 2020-09-02

Details missing.

Version 0.10.2 - 2020-09-02

Details missing.

Version 0.10.1 - 2020-09-01

Details missing.

Version 0.10.0 - 2020-09-01

Details missing.

Version 0.9.5 - 2020-08-31

Details missing.

Version 0.9.4 - 2020-08-18

Details missing.

Version 0.9.3 - 2020-08-13

Details missing.

Version 0.9.2 - 2020-08-10

Details missing.

Version 0.9.1 - 2020-08-10

Details missing.

Version 0.9.0 - 2020-08-07

Details missing.

Version 0.8.0 - 2020-08-07

Details missing.

Version 0.7.4 - 2020-08-06

Details missing.

Version 0.7.3 - 2020-08-05

Details missing.

Version 0.7.2 - 2020-08-05

Details missing.

Version 0.7.1 - 2020-08-05

Details missing.

Version 0.7.0 - 2020-08-03

Details missing.

Version 0.6.1 - 2020-08-02

Details missing.

Version 0.6.0 - 2020-07-30

Details missing.

Version 0.5.0 - 2020-07-25

Details missing.

Version 0.4.0 - 2020-07-23

Details missing.

Version 0.3.1 - 2020-07-22

Details missing.

Version 0.3.0 - 2020-07-22

Details missing.

Version 0.2.0 - 2020-07-19

Details missing.

Version 0.1.5 - 2020-07-16

Details missing.

Version 0.1.4 - 2020-07-15

Details missing.

Version 0.1.3 - 2020-07-08

Details missing.

Version 0.1.2 - 2020-07-06

Details missing.

Version 0.1.1 - 2020-06-29

Details missing.

Version 0.1.0-beta.6 - 2020-06-29

Details missing.

Version 0.1.0-beta.5 - 2020-06-29

Details missing.

Version 0.1.0-beta.4 - 2020-06-29

Details missing.

Version 0.1.0-beta.3 - 2020-06-28

Details missing.

Version 0.1.0-beta.2 - 2020-06-28

Details missing.

Version 0.1.0-beta.1 - 2020-06-25

Details missing.

Version 0.1.0-beta.0 - 2020-06-25

Details missing.

Version 0.1.0 - 2020-03-13

Details missing.