Self-Signed Certificate

Generate a Self-Signed Certificate

Use this method if you want to use HTTPS (HTTP over TLS) to secure your Apache HTTP or Nginx web server, and you do not require that your certificate is signed by a CA.

This command creates a 2048-bit private key (domain.key) and a self-signed certificate (domain.crt) from scratch:

openssl req \
       -newkey rsa:2048 -nodes -keyout domain.key \
       -x509 -days 365 -out domain.crt

https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs

XMPP Clients

An XMPP client is any software or application that enables you to connect to an XMPP for instant messaging with other people over the Internet. There are many free clients you can use to do this, for many different devices and operating systems.

Note: The following software was not developed by the XMPP Standards Foundation and has not been formally tested for standards compliance, usability, reliability, or performance.

See something missing? Any list of XMPP servers, clients or libraries will, due to the dynamic and evolving nature of the XMPP market, be out of date almost as soon as it’s published. If you are related to the project and spot mistakes, errors or omissions in the table below, please submit a pull request!

Project NamePlatforms
ApartéBSD / Linux / macOS
AstraChatAndroid / iOS / Linux / macOS / Windows
BeagleIM by Tigase, Inc.macOS
blabber.imAndroid
Bruno the Jabber™ BearAndroid
ConversationsAndroid
ConverseBrowser
DinoLinux
GajimLinux / Windows
KaidanAndroid / Linux / macOS / Other / Windows
Monal IMiOS / macOS
MovimAndroid / Browser / Linux / macOS / Windows
PoezioLinux / macOS
ProfanityLinux / macOS / Windows
PsiLinux / macOS / Windows
Psi+Linux / macOS / Windows
PàdéBrowser
Salut à ToiAndroid / Browser / Linux / Other
SiskinIM by Tigase, Inc.iOS
SparkLinux / macOS / Windows
StorkIM by Tigase, Inc. (Tigase Messenger for Android)Android
SwiftLinux / macOS / Windows
UWPXWindows
yaximAndroid

XMPP Server

An XMPP server provides basic messaging, presence, and XML routing features. This page lists Jabber/XMPP server software that you can use to run your own XMPP service, either over the Internet or on a local area network.

Note: The following software was not developed by the XMPP Standards Foundation and has not been formally tested for standards compliance, usability, reliability, or performance.

See something missing? Any list of XMPP servers, clients or libraries will, due to the dynamic and evolving nature of the XMPP market, be out of date almost as soon as it’s published. If you are related to the project and spot mistakes, errors or omissions in the table below, please submit a pull request!

Project NamePlatforms
AstraChatLinux / macOS / Solaris / Windows
ejabberdLinux / macOS / Windows
Isode M-LinkLinux / Windows
jackalLinux / macOS
Metronome IMLinux
MongooseIMLinux / macOS
OpenfireLinux / macOS / Solaris / Windows
Prosody IMBSD / Linux / macOS

Unix domain socket 

Unix domain socket or IPC socket (inter-process communication socket) is a data communications endpoint for exchanging data between processes executing on the same host operating system. Valid socket types in the UNIX domain are:[1]

  • SOCK_STREAM (compare to TCP) – for a stream-oriented socket
  • SOCK_DGRAM (compare to UDP) – for a datagram-oriented socket that preserves message boundaries (as on most UNIX implementations, UNIX domain datagram sockets are always reliable and don’t reorder datagrams)
  • SOCK_SEQPACKET (compare to SCTP) – for a sequenced-packet socket that is connection-oriented, preserves message boundaries, and delivers messages in the order that they were sent

The Unix domain socket facility is a standard component of POSIX operating systems.

The API for Unix domain sockets is similar to that of an Internet socket, but rather than using an underlying network protocol, all communication occurs entirely within the operating system kernel. Unix domain sockets may use the file system as their address name space. (Some operating systems, like Linux, offer additional namespaces.) Processes reference Unix domain sockets as file system inodes, so two processes can communicate by opening the same socket.

In addition to sending data, processes may send file descriptors across a Unix domain socket connection using the sendmsg() and recvmsg() system calls. This allows the sending processes to grant the receiving process access to a file descriptor for which the receiving process otherwise does not have access.[2][3] This can be used to implement a rudimentary form of capability-based security.[4] For example, this allows the Clam AntiVirus scanner to run as an unprivileged daemon on Linux and BSD, yet still read any file sent to the daemon’s Unix domain socket.

https://en.wikipedia.org/wiki/Unix_domain_socket