2018-05-02 00:05:28 +01:00
|
|
|
# Delta Chat plugin for libpurple
|
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
|
|
|
[Delta Chat](https://delta.chat) is an instant messaging application based on
|
|
|
|
email - which is to say, SMTP+IMAP.
|
|
|
|
|
2019-04-12 13:15:48 +01:00
|
|
|
Delta has:
|
|
|
|
|
2021-01-10 15:56:07 +00:00
|
|
|
* A mature [core library](https://github.com/deltachat/deltachat-core-rust)
|
2019-04-12 13:15:48 +01:00
|
|
|
* A mature [Android application](https://github.com/deltachat/deltachat-android)
|
|
|
|
* An experimental [iOS application](https://github.com/deltachat/deltachat-ios)
|
|
|
|
* An electron [desktop application](https://github.com/deltachat/deltachat-desktop)
|
|
|
|
|
|
|
|
This project is a [libpurple](https://developer.pidgin.im/wiki/WhatIsLibpurple)
|
|
|
|
plugin that wraps `deltachat-core`, allowing a number of existing desktop and
|
|
|
|
mobile clients to send and receive IMs over SMTP+IMAP. It may be useful for
|
|
|
|
[Linux-based mobile devices](https://source.puri.sm/Librem5/chatty), for
|
|
|
|
GUI desktop usage **without** an Electron dependency, or console desktop usage.
|
|
|
|
|
|
|
|
Current status is probably best described as "skunkworks", although connecting
|
2021-01-12 00:04:46 +00:00
|
|
|
to an account and sending / receiving text and image messages should work
|
|
|
|
reliably in pidgin. Chatty supports text messages, and can be coaxed into using
|
|
|
|
this plugin, but there's a long way to go with that yet.
|
|
|
|
|
|
|
|
A big refactoring to use "proper" purple IM structures is necessary to make
|
|
|
|
further progress, I think.
|
|
|
|
|
|
|
|
I also need to implement support for the buddy list.
|
2018-05-02 00:05:28 +01:00
|
|
|
|
2021-01-10 15:56:07 +00:00
|
|
|
We currrently build against deltachat v1.50.0. You'll need to build and install
|
|
|
|
deltachat-ffi separately and ensure that it's available via `pkg-config` for
|
|
|
|
deltachat to install.
|
|
|
|
|
2018-05-02 00:05:28 +01:00
|
|
|
## Build
|
|
|
|
|
2019-08-20 22:01:47 +01:00
|
|
|
There are some licensing issues at present, so you shouldn't build this plugin.
|
2018-05-02 00:05:28 +01:00
|
|
|
|
2021-01-10 15:56:07 +00:00
|
|
|
`deltachat-core-rust` uses a vendored openssl 1, unconditionally links it, and
|
|
|
|
is MPL-licensed.
|
2018-05-02 00:05:28 +01:00
|
|
|
|
2019-08-20 22:01:47 +01:00
|
|
|
`purple-plugin-delta` is GPLv3 without the [OpenSSL exemption](https://people.gnome.org/~markmc/openssl-and-the-gpl.html)
|
2018-05-02 00:05:28 +01:00
|
|
|
|
2019-08-20 22:01:47 +01:00
|
|
|
`libpurple` itself is GPLv2 without the OpenSSL exemption.
|
|
|
|
|
|
|
|
There's no point to `purple-plugin-delta` adding the OpenSSL exemption because
|
|
|
|
`libpurple` lacks it, and in any event, it will be unnecessary with the next
|
|
|
|
major version of OpenSSL. So, time should resolve this for us one way or another.
|
2018-05-02 00:05:28 +01:00
|
|
|
|
|
|
|
## Use
|
|
|
|
|
|
|
|
The easiest way to use this is to copy the `libdelta.so` file into
|
|
|
|
`~/.purple/plugins`. When running pidgin, you'll now have the option to add
|
|
|
|
a "Delta Chat" account.
|
|
|
|
|
2018-05-07 01:44:30 +01:00
|
|
|
If it doesn't show up, chances are pidgin can't find the various shared
|
|
|
|
libraries the .so depends on. You can run `ldd ~/.purple/plugins/libdelta.so`
|
|
|
|
to confirm. I'll document fixing this after the build and install system is
|
|
|
|
settled.
|
|
|
|
|
2018-05-02 00:05:28 +01:00
|
|
|
At present, the "Username" and "Password" account fields correspond to email
|
|
|
|
address and password, respectively. Many important settings also show up on the
|
|
|
|
"Advanced" tab - if left blank, the plugin will attempt to automatically detect
|
|
|
|
the correct values, but you may need to fill some of them in manually to get
|
|
|
|
the connection to work.
|
|
|
|
|
|
|
|
Run pidgin with `--debug` to see interesting output.
|