Etebase - your end-to-end encrypted backend
The Etebase TypeScript client API for the web, node and react-native!
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.