hoehermann / purple-signald

Pidgin libpurple bridge to signald.
GNU General Public License v3.0
153 stars 19 forks source link
instant-messaging libpurple libpurple-plugin pidgin pidgin-plugins signal signald textsecure textsecure-client

WARNING

Currently, due to issues within signald, incoming messages can get lost. Since the issue has been persisting for months, the author of purple-signald developed an alternative:

purple-presage

purple-signald

A libpurple/Pidgin plugin for signald (signal, formerly textsecure).

signald is written by Finn Herzfeld.

An unofficial IRC channel exists on Libera.chat called ##purple-signald for those who use it.

Instant Message

Features

Known Issues

These issues may or may not be worked on since they are hard to reproduce, non-trivial to resolve, and/or not a big problem. Open an issue if they impede your experience.

Missing Features

Security Considerations

UUIDs are used for local file access. If someone manages to forge UUIDs, bypassing all checks in Signal and signald, the wrong local files might be accessed, but I do not see that happening realistically.

Building the plug-in

sudo apt install libpurple-dev libjson-glib-dev
git clone --recurse-submodules https://github.com/hoehermann/purple-signald.git purple-signald
mkdir -p purple-signald/build
cd purple-signald/build
cmake ..
make
sudo make install

Getting Started with signald

  1. Install signald.
  2. Add your user to the signald group: sudo usermod -a -G signald $USER
  3. Logout and log-in again. Or restart your computer just to be sure. Alternatively, su to the current account again. The reason is that adduser does not change existing sessions, and only within the su shell you're in a new session, and you need to be in the signald group.
  4. Restart Pidgin
  5. Add your a new account by selecting "signald" as the protocol. For the username, you must enter your full international telephone number formatted like +12223334444. Alternatively, you may enter your UUID.
  6. Scan the generated QR code with signal on your phone to link your account. The dialog tells you where to find this option.
  7. Chat someone up using your phone to verify it's working.
  8. In case it is not working, you can unlink the plug-in "device" via your main device. The plug-in will ask to scan the QR code again. In extreme cases, you may need to remove the account from purple and signald manually. The latter can be achieved via signaldctl account delete +12223334444.

Working with Bitlbee

Note: Compatibility with Bitlbee has been provided by contributors. The main author does not offer direct support.

Setup the account first as described above. Once that is successful, in the &root channel of Bitlbee, add the same phone number you authenticated via Signald:

account add hehoe-signald +12223334444
rename _12223334444 name-sig
account hehoe-signald set tag signal
account signal set auto-accept-invitations true
account signal set nick_format %full_name-sig
account signal on

To create a channel for Signal, auto join it and generally manage your contacts see - https://wiki.bitlbee.org/ManagingContactList