cmdline | ||
docs | ||
libs | ||
python | ||
src | ||
.gitattributes | ||
.gitignore | ||
deltachat-core.cbp | ||
LICENSE | ||
meson.build | ||
README.md |
Delta Chat Core Library
You can use the Delta Chat Core Library to build your own messenger or plugin that is completely compatible with the existing email infrastructure.
Using this library in your app, you get the ease of well-known messengers with the reach of email. Moreover, you're independent from other companies or services as your data is not relayed through Delta Chat, only your email provider. That means that there are no Delta Chat servers, only clients made compatible via Delta Chat Core.
The library is used eg. in the Delta Chat Android Frontend and in the Delta Chat iOS Frontend, but can also be used for completely different messenger projects.
Some features at a glance:
- Secure with automatic end-to-end-encryption, supporting the new Autocrypt standard
- Fast by the use of Push-IMAP
- Read receipts
- Largest userbase - recipients not using Delta Chat can be reached as well
- Compatible - not only to itself
- Elegant and simple user interface
- Distributed system
- No Spam - only messages of known users are shown by default
- Reliable - safe for professional use
- Trustworthy - can even be used for business messages
- Libre software and standards-based
API Documentation
The C-API is documented at https://deltachat.github.io/deltachat-core/html/.
Please keep in mind, that your derived work must be released under a GPL-compatible licence. For details, please have a look at the LICENSE file accompanying the source code.
Build
Delta Chat Core can be built as a library using the meson build system. It depends on a number of external libraries, most of which are detected using pkg-config. Usually this just works automatically, provided the depending libraries are installed correctly.
Installing all of these using your system libraries is the easiest route. Please note that you may need "development" packages installed for these to work.
-
LibEtPan; this does not use
pkg-config
, instead it ships with alibetpan-config
binary which must be in the PATH to be picked up by the build system. -
libsasl
To build you need to have meson and ninja installed as well.
On Linux (e.g. Debian Stretch) you can install all these using:
sudo apt install libetpan-dev libssl-dev libsqlite3-dev libsasl2-dev libbz2-dev zlib1g-dev meson ninja-build
.
Once all dependencies are installed, creating a build is as follows, starting from the project's root directory:
mkdir builddir
cd builddir
meson
# optionally configure some parameters
# run `meson configure` to see the options, e.g.
meson config -Dlibdir=lib
ninja
sudo ninja install
sudo ldconfig
The install keeps a log of which files were installed. Uninstalling is thus also supported:
sudo ninja uninstall
Note that the above assumes /usr/local/lib
is configured somewhere
in /etc/ld.so.conf
or /etc/ld.so.conf.d/*
, which is fairly
standard.
Copyright © 2018 Delta Chat contributors