https://github.com/etesync/etebase-js
Etebase TypeScript API for the web, node and react-native!
https://github.com/etesync/etebase-js
encryption end-to-end-encryption etebase etesync synchronization typescript
Last synced: 7 months ago
JSON representation
Etebase TypeScript API for the web, node and react-native!
- Host: GitHub
- URL: https://github.com/etesync/etebase-js
- Owner: etesync
- License: bsd-3-clause
- Created: 2019-11-11T21:52:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-14T15:17:39.000Z (over 2 years ago)
- Last Synced: 2024-12-14T09:34:32.110Z (7 months ago)
- Topics: encryption, end-to-end-encryption, etebase, etesync, synchronization, typescript
- Language: TypeScript
- Homepage: https://www.etebase.com
- Size: 1.03 MB
- Stars: 162
- Watchers: 6
- Forks: 13
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![]()
Etebase - your end-to-end encrypted backend
The Etebase TypeScript client API for the web, node and react-native!
[](https://github.com/etesync/etebase-js/tags)
[](https://www.npmjs.com/package/etebase)
[](https://travis-ci.com/etesync/etebase-js)
[](https://www.etebase.com/community-chat/)# 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](./LICENSE) (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](https://github.com/etesync/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.
```typescript
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](https://github.com/etesync/etesync-notes) - A secure,
end-to-end encrypted, and privacy-respecting notes mobile application.
* [EteSync Web](https://github.com/etesync/etesync-web) - A secure,
end-to-end encrypted, and privacy-respecting notes web frontend application.
* [EteSync DAV](https://github.com/etesync/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
```shell
git clone https://github.com/etesync/etebase-js
cd etebase-js
yarn install
yarn run build
```Running tests requires a (test) [Etebase server](https://github.com/etesync/server)
running, defaulting to `http://localhost:8033`, but can be overridden with the
environment variable `ETEBASE_TEST_API_URL`.```shell
cd ..
git clone https://github.com/etesync/server
cd server... # Follow README.md install instructions
... # Build and start a servercd ../etebase-js
env ETEBASE_TEST_API_URL=http://localhost:8033 yarn run test
```
## Known issuesYarn is required for building this project, attempting to use npm will fail.