User Tools

Site Tools


messaging

If you want to send us your comments, please do so. Thanks
More on comments


Messaging

Privacy

Privacy comparisson beween apps by XS4all

Are the messaging apps as privacy friendly as they are: VPNtester vision1) (German). Spoiler: They are not, access to the data is possible

Overview

Maybe one of these 4 open source self hostable chat programs is a solution if you do not want to be spied upon by the government like it is on its way in the UK2)

A large overview of 38 messaging applications

D: In Debian repository
A: In the Android Play Store
F: In the F-droid Store
S: Self hostable. P: Peer to peer, no hosting needed
T: Needs a telephone number

ProgramDAFSTRemark
Briar PN
Conversations P XMPP (Jabber) protocol. Android only, has to be paid for.
Dino P XMPP (Jabber) protocol. Debian package
Dust
Gajim P XMPP (Jabber) protocol.
Debian package
Facebook Messenger
iMessage Apple
ircY IRC a text-based chat system for instant messaging. Designed for group communication in discussion forums. Also allows one-on-one communication via private messages, chat and data transfer, including file sharing
JamiD PNIs also a SIP client
KeetN P
Matrix3)4) Open standard network for real-time secure, decentralized communication. Clients. Create sharable rooms
Mattermost Cross-platform team collaboration built for developers. Self hosting is possible
Nostr5)6) InfoN P A simple, open protocol that enables global, decentralized, and censorship-resistant social media.
Nostr stands for: Notes and Other Stuff Transmitted by Relay“.
Most apps, applictions, programs, are in beta or similar stage.
More info in the nostr section below and at Nostr.how
Olvid FAQ
Pidgin Formerly: Giam
SignalNYN YSeems to be the best.
Group chats, Group calls (voice and video).
Comments and issues: see the Signal chapter below this table. Changelog on the Github page.
Signal is CPU cycles and memory hungry.
Signal is expensive
SimplexNYY7)YNGeen issues. Linux desktop app, .deb package
TelegramNYYNYTelegram is not secure.
Privacy does not seem to be a consideration.
Comments and issues: see the Telegram chapter below this table
Payments are possible: goto @wallet. Channel statistics
ThreemaN Used by the Swiss army. Not in the Fdroid app store
TiktokN N Video sharing. Can be shown in the webbrowser. No Linux program. Booting in Android-x86 and installing Tiktok there might work
ToxY8)Y9)Y10)P List of clients
Trillian N About security. Free and payed plans
Viber Messenger
Whatsapp N Owned by Facebook
Wickr “We are pleased to share that Wickr has been acquired by Amazon and is now part of the Amazon Web Services (AWS) team.”
Wire11)
XMPP12) Extensible Messaging and Presence Protocol. Originally: Jabber.
Open communication protocol designed for instant messaging (IM) Wikipedia

Comparison Matrix and XMPP

Some remarks

More apps (and some already mentioned)

Signal

Howto en FAQ

  • A message can be deleted for everyone up to 3 hours after it has been send.
  • Change of the profile photo and name can nor be done on the desktop program, only on the smartphone app. Do:
    • Start Signal
    • Tap the three dots ⁞ in the upper right corner
    • On the first line the profile photo and name can be changed.
  • Overview of all icons.
    • The meaning of the checkmarks
      • Sending Sending
      • Sent Sent
      • Delivered Delivered
      • Read Read. If both you and your contact have read receipts enabled, this indicates your contact has read the message.
    • Example: . In the middle is the disappearing messages timer icon
  • Group call (can have up to 8 participants). How to set it up in the desktop client:
    • Tap the pencil (New conversation) icon
    • Click on “New group”
    • Select members
    • Click on “Next”
    • Name the group
    • Click on “Create”
    • Open the group (click on it in the left column)
    • Click on the video icon (upper right corner)
      • If asked allow access to the camera
      • To turn the camera off by clicking on the camera icon
    • Click on the “Ring” icon (needed?)
    • Click on the “Start Call” button to start the conversation
  • Delete a group
    • Retainment: If the admin removes a group, which only can be done if all other members have left the group, the contents of the group remains for the members until a member removes the group by himself. So the admin removing the group has no influence on the existence of the contents for the ex members
    • Remove all members
      • Click on the group name in the main (left pane)
      • Scroll down
      • Click on a member
      • Click on “Remove from group”
      • When finished deleting all members including yourself scroll up
    • Click on the back arrow in the upper left corner of the main pane
    • Click on the down arrow in the upper right corner
    • Click on “Delete”
  • Keybindings
    • Ctrl+J Jump to the latest unread message
    • Ctrl+T
    • Ctrl+F6

Autostart Desktop version

Do

Menu > Settings > Session and Startup > Tab Application Autostart
> Knob "+ Add" > Name "Signal"; Command "/opt/Signal/signal-desktop --no-sandbox %U"
> OK > Close

Read receipt

Turn read receipt on so others can see if you have read the message

  • Go to “Privacy.”
  • Under the “Messaging” section
  • Look for “Read receipts.”
  • Enable it by clicking on the toggle button.

Show readers

How to show who read a message:

  • Telephone (Android only?):
    • Tick and hold on the message until the pop up appears
    • Tick on “Info”
  • Desktop (Linux only?):
    • Point on the message with the mousepointer
    • Press the right mouse button
    • Click on “more info”

Telegram

  • Privacy issues:
    • From their website: “Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.”. So Privacy does not seem to be a consideration.
      • By default Telegram only uses TLS to protect the connection between the users device and the Telegram servers
      • Telegram does not provide end-to-end protection because other messaging apps like Signal and WhatsApp allow you to make unencrypted backups. Telegram claims to be more secure because of how they store backups
      • Secret Chats uses end-to-end encryption which is limited for the conversation to a specific device
    • The F-Droid version, Telegram FOSS, needs a lot of connections to several Google services
      • The Google Play store version only needs contact to IP addresses in the 149.154.64.0 - 149.154.255.255 range which is owned by Telegram
    • Needs access to contacts, files, images, be able to make and receive telephone calls.
    • Its encryption is not officially audited
    • Only secret chats are E2EE13)
    • Voice calls are not E2EE14)
    • The official app has Google trackers
    • The server is not open source.
  • The Linux version needs Flatpack or Snap.
  • There is also a web browser version.
  • Meaning of the check marks.

Deleting messages

Internal server error

After entering the phonenumber and clicking on the “Next” button we got: “Internal server error”. No solution found yet. Maybe a manual install from the download page might work. Additional installation of Flatpack or Snap is needed

QT error

After starting Telegram via the command line:

qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized.
Reinstalling the application may fix this problem.

Available platform plugins are: xcb, wayland, wayland-egl.

Probable cause: Telegram is started as root. This can happen if you forget to go to a user terminal to start Telegram after installing Telegram on the command line as root

Matrix

Clients

Matrix clients page
Size in MB. X: Not in the Debian repository

NameSizeDescriptionRemark
CinnyXFocusing primarily on simple, elegant and a secure interface, easy on people with a modern touch
ElementXFully-featured Matrix client, used by millions
Element XXPioneering the Matrix 2.0 implementation, notably supporting fast sync with sliding sync
FluffyChatXThe cutest messenger in the Matrix network
FractalXGNOME client, suitable for desktop and mobile
Matrix-commanderX16)Simple Matrix CLI client written in Python
NeoChat32317)A convergent and cross-platform
Nheko5018)Native desktop app. Feels more like a mainstream chat appSemi dependent on Ruby
Quaternion17Qt5 and C++ cross-platform desktop
SchildiChatXBased on Element with some extras and tweaks
Thunderbird237E-mail, calendar & chat app
Weechat5019)Ncurse command-line Matrix interface using WeechatNeeds Ruby. /quit quits.
For matrix weechat-matrix must be installed (14 MB)20). This needs weechat-plugins and weechat-python 21). Everything else which comes with weechat-plugin does not have to be installed
QuadrixXMinimal Matrix client available in all main app stores
gomuksXA terminal Matrix client written in Go
CommetX Focused on providing a feature rich experience while maintaining a simple interface
iambXA terminal-based Matrix client with Vim keybindings written in Rust
kazvXA convergent qml/kirigami client based on libkazv
HydrogenXLightweight matrix client with legacy and mobile browser supportWeb
mnotifyXA matrix cli clientLinux
gotktrixXMatrix client in Go and GTK4Linux
SyphonXA privacy centric matrix clientLinux
matrix-commanderXSimple but convenient CLI-based Matrix client app for sending and receivingLinux

IRC Bridge

With matrix there is a two phase system. First login into the matrix server.Then the matrix server wil login for the user on IRC. In the process a [m] is added to the nickname of the user. More information

IRC Bridge commands

Matrix IRC Bridge Usage Guide on how to control the IRC bridge using this room.
The following commands are available:

Actions
!activeMark yourself as active, which will exclude you from any idleness kicks
!cmd [irc.example.net] COMMAND [arg0 [arg1 […]]]Issue a raw IRC command. These will not produce a reply.(Note that the command must be all uppercase.)
!feature feature-name [true/false/default]Enable, disable or default a feature's status for your account.Will display the current feature status if true/false/default not given
!join [irc.example.net] #channel [key]Join a channel (with optional channel key)
!nick [irc.example.net] DesiredNickChange your nick. If no arguments are supplied, your current nick is shown
!quitLeave all bridged channels, on all networks, and remove your connections to all networks
Authentication
!reconnect [irc.example.net]Reconnect to an IRC network
!removepass [irc.example.net]Remove a previously stored NickServ password
!storepass [irc.example.net] passw0rdStore a NickServ OR SASL password (server password)
!username [irc.example.net] usernameStore a username to use for future connections
Info
!bridgeversionReturn the version from matrix-appservice-irc bridge
!listrooms [irc.example.net]List all of your joined channels, and the rooms they are bridged into
!whois [irc.example.net] NickName|@alice:matrix.orgDo a /whois lookup. If a Matrix User ID is supplied, return information about that user's IRC connection
Management
!unlink !room:example.com irc.example.net #foobarUnlink an IRC channel from a Matrix room. You need to be a moderator of the Matrix room or an administrator of this bridge

Nostr

Privacy

Nostr has many privacy concerns especially with relays.

Messages can be set to exprire. The relay must support it.

All conversations are stored on the relays. If the connection is lost to the last relay containing a conversation that conversation is not accessible until the connection to a relay containing the conversation is resorted

Lightning

Nostr is driving the adoption of Lightning22). Example: @ZEUS is building a Lightning wallet.

NIP's

Nostr uses NIP's to document what may be implemented by Nostr-compatible relay and client software.
NIP stand for Nostr Implementation Possibilities

Keys

Private keys start with npir1
Public keys start with npub1 and are 32 characters long, after the npub1. They can be made by running openssl rand -hex 32 in a terminal and appending the result to npub1.
Example: npub1 and the result of the command 822297bef811cb28de262d323eb8317c66dc161a548175e74b8329e079277f54 results in npub1822297bef811cb28de262d323eb8317c66dc161a548175e74b8329e079277f54
Guide to generate and manage Nostr keys and sign events

Clients

Android from the Google Play Store:

  • Amethyst (see privacy issues)
  • Plebstr (has no privacy statement. Plebstr is currently, september 2023, in the making)
  • Iris. Not stable. Hangs in the “Post” pane, even after killing the app via Settings and restarting it
  • Nostrmo (terms of user do not show up, website seems to be disfunctional)
  • Snort. Unclear how to get a private key. Via the webbrowser it is easy. See below at webbrowser. Needs a pin, Want access to Google, Cloudfront, Cloudflare, Akamai, your-server.de and others wich do not seem to be Nostr relays.
  • Spring is a Nostr browser. Explore the Nostr apps! Can load a lot of other apps.

Android from the F-droid Store:

On the Linux desktop:

  • Gossip23). Needs the Rust programming language framwork (867 MB)
  • more-speech has custom filtering based on web-of-trust and relay selection. Needs the Clojure framework (20 MB), leiningen (98 MB, the amount includes the openjdk-17-jdk dependency and other dependencies). Total: 118 MB
  • Lume Downloadable .deb file. Needs the Tauri24)25) framework. Needs Rust (867 MB), libwebkit2gtk-4.0-dev & build-essential & libssl-dev & libgtk-3-dev & libayatana-appindicator3-dev & librsvg2-dev (Total: 336 MB) and curl, wget and file (About 4 MB?) Total: 1,207 GB

In the webbrowser:

  • Alby is a Bitcoin Lightning Wallet & Nostr extension for Firefox. Webpage.
  • Astral Ninja. Good explanation when setting up an account
  • Flamingo is an extension for Google Chrome
  • Coracle. Maybe also an app
  • Snort Login can be slow. Be patient for a minute. Logout via Settings > Log Out. Needs an Iris.to account to generate a public key

Profile picture

Only use small images.

Plebstr

Questions and remarks about the Plebstr Andriod app

  • “Relays”
    • Disconnect very fast, take a long time to reconnect
    • How to disconnect from relays, how to turn them off in the list?
      • Slide a relay left in the “Relays” pane (Overview pane > Settings > Relays)
  • “Global” pane
    • Which messages are shown in the “Global” pane?
    • Search in the “Global” pane does not work, does not yield the expected results
      • Or is it the case that if no results are found all posts are shown. This is not convenient. Zero results shown should be the result then
    • Posts can go to
      • A specific cllient
      • The clients you follow
      • All, “Global”, clients
      • How to post in the “Global” pane?
        • Via tapping on the “Timeline” pane + sign?
  • Posts in “Timeline” can not be deleted
  • Disconnects to relays when the phone is in sleep mode. It takes a lot of time to reconnect again when the phone is waked up. This is not workable

Relays

Servers are called Relays

Relays can require an admission fee to be payed before being used by clients

See the disk usage table for the disk space needs for some dependencies

Bold: seems interesting

  • LNbits Relay, a relay you can launch in your own LNBits server with a click, wrapper over nostr_relay.
  • Minds Nostr Relay, a relay for Minds, an open-source social network.
  • NNostr, a relay written in C#.
  • nostr_relay, a Nostr relay written in python, backed by SQLite.
  • saltivka, a friendly relay with a cozy administrator interface.
  • søstr, a Nostr relay designed for a single writer pubkey.
  • strfry, a very performant relay written in C++, uses LMDB for data storage and comes ith a built-in set-reconciliation mechanism for syncing. Most used in the wild

Needs aditional software which needs a lot of disk space

  • knostr, A Nostr relay implemented in Kotlin with support for Postgres (and metrics.
  • me.untethr.nostr-relay, a very strict and performant relay written in Clojure, uses SQLite.
  • nostream, A Nostr relay written in Typescript backed by PostgreSQL and Redis, optimized for load-balancing and fault-tolerance. Most used in the wild
  • Nostr filter. Needs Docker and Docker Compose
  • NostrPostr Relay, a relay written in Kotlin, supports both SQLite and PostgreSQL.
  • nostr-rs-relay, a minimalistic, optimized relay written in Rust that uses SQLite. Most used in the wild.
  • Relayer Basic, a simple reference relay backed by Postgres, written as a demo on top of the Relayer Go framework for building custom relays.

Installing desktop program

Signal

Signal can be installed from the Debian repository
Linux (Debian-based) Install Instructions
NOTE: These instructions only work for 64-bit Debian-based Linux distributions such as Ubuntu, Mint etc

As root run signal.install.sh

Telegram

Telegram can be installed via aptitude. Search for: ^telegram
Install log:

Performing actions...
Selecting previously unselected package qt5-image-formats-plugins:amd64.
(Reading database ... 114180 files and directories currently installed.)
Preparing to unpack .../qt5-image-formats-plugins_5.11.3-2_amd64.deb ...
Unpacking qt5-image-formats-plugins:amd64 (5.11.3-2) ...
Selecting previously unselected package fonts-open-sans.
Preparing to unpack .../fonts-open-sans_1.11-1_all.deb ...
Unpacking fonts-open-sans (1.11-1) ...
Selecting previously unselected package libxxhash0:amd64.
Preparing to unpack .../libxxhash0_0.6.5-2_amd64.deb ...
Unpacking libxxhash0:amd64 (0.6.5-2) ...
Selecting previously unselected package telegram-desktop.
Preparing to unpack .../telegram-desktop_1.5.11-1_amd64.deb ...
Unpacking telegram-desktop (1.5.11-1) ...
Setting up fonts-open-sans (1.11-1) ...
Setting up qt5-image-formats-plugins:amd64 (5.11.3-2) ...
Setting up libxxhash0:amd64 (0.6.5-2) ...
Setting up telegram-desktop (1.5.11-1) ...
Processing triggers for fontconfig (2.13.1-2) ...
Processing triggers for desktop-file-utils (0.23-4) ...
Processing triggers for mime-support (3.62) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for man-db (2.8.5-2) ..

Updating desktop program

Signal

After updating you might have to set the permissions right again. Do, as root,

chmod 4755 /usr/bin/signal-desktop

/usr/bin/signal-desktop might be a symbolic link to /opt/Signal/signal-desktop which will be updated

Desktop program issues

Signal

/usr/bin/signal-desktop: error while loading shared libraries: libffmpeg.so: cannot open shared object file: No such file or directory

Solution:

  • With aptitude reinstall ( L ) Signal
  • See Github issue #3692

Error: After running

$ ls -l /opt/Signal/signal-desktop
-rwxr-xr-x 1 root root 156M feb 10 21:16 /opt/Signal/signal-desktop
$ /opt/Signal/signal-desktop

you get:

[13096:0214/113339.688047:FATAL:setuid_sandbox_host.cc(157)]
The SUID sandbox helper binary was found, but is not configured correctly.
Rather than run without sandboxing I'm aborting now.
You need to make sure that /opt/Signal/chrome-sandbox
is owned by root and has mode 4755.
Trace/breakpoint trap

Solution: Run, as root:

$ chmod 4755 /usr/bin/signal-desktop**
$ ls -l /usr/bin/signal-desktop
-rwsr-xr-x 1 root root 156M feb 10 21:16 /opt/Signal/signal-desktop

Malformed entry

E: Malformed entry 1 in list file /etc/apt/sources.list.d/signal-xenial.list (Suite)
E: The list of sources could not be read.

Solutions:

  • Check /etc/apt/sources.list.d/signal-xenial.list for double entry's
  • Remove the \ (line break) token and put everything belonging to this command on the same line

The SUID sandbox helper

After an update you can get:

$ /opt/Signal/signal-desktop
[4944:0201/200935.225895:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary
was found, but is not configured correctly. Rather than run without sandboxing I'm 
aborting now. You need to make sure that /opt/Signal/chrome-sandbox is owned by
root and has mode 4755.
Trace/breakpoint trap

Solution, as root do (beware, do not change the permissions of /opt/Signal/signal-desktop):

chmod 4755 /opt/Signal/chrome-sandbox

Smartphone and desktop synchronisation

  • When the app on the smartphone is running
    • new messages do not show up on in the desktop program
    • it is not possible to reply nor react to message in the desktop program. After turning off the smartphone and restarting the desktop program one can create new messages and reply and react to messages in the desktop program.
  • Messages are not synced to the desktop program(s)
  • It can take a very long time for the desktop app to load all messages. Loading about 400 messages can toke up to 20 minutes.
  • Has privacy issues, is not privacy friendly:
    • Needs a telephone number
    • Needs access to
      • contacts
      • files, images, be able to make and receive telephone calls and SMS. This can be a privacy issue since these data can be upload to Google
    • Uses the services of Adobe, Amazon Google which are not privacy friendly company's, are data collectors
    • When Force Stopped via Settings > Apps Signal auto starts after some time
  • When using an emoji like 😐 (neutral face) the reader has to guess the meaning. However the writer gets a tool tip when selecting from the full overview of emoji's. This is an improvement point. For information about emoji see emoji's
  • Time can not be set to 24 hours format, is only in U.S. format: AM & PM
  • Signal contains multiple proprietary libraries and therefore is not available on the Fdroid appstore.
    • The Signal developers are against Signal being distributed through the F-Droid app store
    • Alternatives
    • Times are in system time set in the computer BIOS / UEFI. So if the system time is set to UTC Signal shows times in UTC
  • When you block a contact, messages the contact sends are delivered to you but not shown to you. After unblocking the messages are also not shown to you.
    • When you block a contact you get “Let username message you and share your name and photo with them? You won't receive any messages until you unblock them.” with a Delete and Unblock button.
    • As an admin of a group you can not block, nor leave that group
  • Seems to connect to awsglobalaccelerator.com among others which can be a privacy concern

Main subjects on this wiki: Linux, Debian, HTML, Microcontrollers, Privacy

RSS
Disclaimer
Privacy statement
Bugs statement
Cookies
Copyright © : 2014 - 2024 Webevaluation.nl and the authors
Changes reserved.

8)
qtox
9)
Protox: https://gitlab.com/Monsterovich/protox.
Antox is still in alpha. Not reliable. Development seems to be stopped
10)
atox and TRIfA
12)
Clients overview for different platforms. There might be more clients like Gajim.
13) , 14)
End to End Encrypted
15)
If your chat has more than 2 participants in it, you can still delete the messages that you already sent from everyone’s devices. However, there’s a time limit. You can only do it within 48 hours after sending the message. After those 48 hours, you can still delete your message, but from your device only. The message will remain on other participants’ devices, as well as on the Telegram server. (March 2021)
16)
matrix-commander-master.zip is 2 MB
17)
After removing all recommended dependencies: 108 MB
18)
After removing all recommended dependencies: 35 MB
19)
After removing all recommended dependencies: 7 MB
20)
Wihtout recommended dependencies
21)
1 MB
23)
Twitter like experience except that you control your own account
24)
Not in the Debian 12 Bookworm repository
25)
lets you build software for all major desktop operating systems using web technologies
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
messaging.txt · Last modified: 19-03-2024 13:21 by wim