/sigtop

Export messages from Signal Desktop

Primary LanguageC

sigtop

sigtop is a utility to export messages, attachments and other data from Signal Desktop.

For example, the following two commands export all messages to the messages directory and all attachments to the attachments directory:

sigtop export-messages messages
sigtop export-attachments attachments

Documentation is available in the sigtop.1 manual page. You can also read it online.

Dependencies

sigtop depends on libcrypto (from either LibreSSL or OpenSSL). You will also need a C compiler, make and pkg-config.

On OpenBSD, sigtop additionally depends on SQLCipher.

Building

sigtop should build on most Unix systems. This section contains generic build instructions. See the sections below for build instructions for specific systems.

First install all required packages (see the "Dependencies" section above). For example, on Debian or Ubuntu, run the following command:

sudo apt-get install build-essential git libssl-dev pkg-config

After you have installed the required packages, run the following commands:

git clone https://github.com/tbvdm/sigtop.git
cd sigtop
git checkout portable
make

Building on OpenBSD

To build sigtop on OpenBSD, run the following commands:

doas pkg_add git sqlcipher
git clone https://github.com/tbvdm/sigtop.git
cd sigtop
make

Building on macOS

To build sigtop on macOS, first install Homebrew. Then run the following command:

brew install --HEAD tbvdm/tap/sigtop

This will build and install sigtop from my Homebrew tap.

To update sigtop with Homebrew, run:

brew upgrade --fetch-HEAD sigtop

If you prefer to build sigtop manually, run the following commands instead:

brew install libressl make pkg-config
git clone https://github.com/tbvdm/sigtop.git
cd sigtop
git checkout portable
PKG_CONFIG_PATH=$(brew --prefix)/opt/libressl/lib/pkgconfig gmake

Building on Windows

To build sigtop on Windows, first install Cygwin. During the installation, you will be given the opportunity to install additional packages. Ensure the gcc-core, git, libssl-devel, make and pkg-config packages are installed.

The Cygwin User's Guide might be useful if you need help with the installation.

After the installation has completed, start the Cygwin terminal. Then run the following commands to build and install sigtop:

git clone https://github.com/tbvdm/sigtop.git
cd sigtop
git checkout portable
make install

If you prefer, you can use this PowerShell script to install Cygwin and sigtop automatically. Press Windows+R to open the Run window, paste the following command and press Enter:

powershell -nop -c "iex (iwr https://github.com/tbvdm/cygwin-install-scripts/raw/master/install-cygwin-sigtop.ps1)"

In the Cygwin terminal, you can access your Windows drives through the /cygdrive directory. For example:

sigtop export-messages /cygdrive/c/Users/Alice/Documents/messages

Reporting problems

Please report bugs and other problems with sigtop. If sigtop shows errors or warnings unexpectedly, please report them as well. You can open an issue on GitHub or send an email. You can find my email address at the top of the sigtop.c file.