ZP1 XMPP Server


We at zp1 run a private XMPP server in the Ore Mountains

S2S Connections

We are currently connected to the following server.

Similar to email, the client passes the message for the recipient in encrypted or plain text to its home server, which in turn contacts the recipient's home server and gives it the message for the recipient, and the recipient in turn gives the message to the recipient's client. This communication is TLS encrypted between servers (S2S) or between client and server (C2S), and may additionally be OMEMO, PGP or otherwise encrypted depending on the room. Audio and video connections are made directly from client to client (C2C), and are only switched by the servers (TURN). The order in the table is chronological and by duration. Connections that are already slightly longer rise up the table.

IP HOST COUNTRY telesto.hot-chilli.net. ( DE, Germany) v2202101139504140605.quicksrv.de. ( AT, Austria) mail.404.city. ( IS, Iceland) panoramix.lagaule.org. ( FR, France) unn-95-168-217-72.superhosting.cz. ( CZ, Czech Republic) xmpp.conversations.im. ( DE, Germany) snowden.jugendhacker.de. ( DE, Germany) web01.cdom.de. ( DE, Germany) meowr.ru. ( FR, France) static. ( DE, Germany) v2202105144906152359.supersrv.de. ( DE, Germany) www.poridge.club. ( RU, Russian Federation) v220190910391897369.powersrv.de. ( DE, Germany) - ( DE, Germany) - ( DE, Germany) yaxim.boerde.de. ( DE, Germany) zeus.jabber.org. ( US, United States) xmpp.chinwag.im. ( AU, Australia) 149-210-189-243.colo.transip.net. ( NL, Netherlands) - ( SE, Sweden) static. ( FI, Finland) die-li.ga. ( DE, Germany) ahr.eifel.cloud. ( DE, Germany) static. ( DE, Germany) cpe-74-140-234-251.cinci.res.rr.com. ( US, United States) ec2-54-185-74-196.us-west-2.compute.amazonaws.com. ( US, United States) fw1.650thz.de. ( DE, Germany) mail.mail55.de. ( DE, Germany) 88.ip-51-75-23.eu. ( FR, France) 127-116-158-51.instances.scw.cloud. ( FR, France) static. ( DE, Germany) pix-art.de. ( DE, Germany) xmt.bkp. ( CH, Switzerland) ec2-34-217-107-99.us-west-2.compute.amazonaws.com. ( US, United States) - ( DE, Germany) inspirenet.org. ( US, United States) 256.bz. ( RU, Russian Federation) 129-110-245-190.fibertel.com.ar. ( AR, Argentina) magicbroccoli.de. ( DE, Germany) anonym.im. ( DE, Germany) 185-125-111-65.static.intovps.com. ( RO, Romania) xmpp.is. ( RO, Romania) knopi.disroot.org. ( NL, Netherlands) jabberfr.org. ( FR, France) toofast.vip. ( CA, Canada) dusk.jabber.ru. ( DE, Germany) beijinglug.club. ( FR, France) static. ( DE, Germany) poddery.com. ( DE, Germany) dismail.de. ( DE, Germany)


XEP stands for XMPP Extension Protocol. It is a protocol used to extend the XMPP protocol. XMPP (Extensible Messaging and Presence Protocol) is an open source protocol used for real-time communication over the Internet. It was originally developed for instant messaging (IM) and online presence, but is now also used for voice over IP (VoIP), video transmission, file transfer, and other applications.

XEPs are official XMPP extensions developed and maintained by the XMPP Standards Foundation (XSF). XEPs define new features, protocols, formats, and behaviors that XMPP clients and servers can use to improve interoperability between different XMPP implementations. XEPs can be created and submitted by any interested party, but they go through a review and standardization process before they are officially published and implemented.

To log in you need an XMPP client. This should meet the following minimum requirements:

XEP-0077 is an XMPP Extension Protocol (XEP) called in-band registration. It defines a method to create a new user account on an XMPP server by transmitting the registration information in the Jabber protocol itself.

Essentially, XEP-0077 allows a user to register themselves without the administrator of the XMPP server having to do so. The user can connect to the XMPP server, start the registration process, and transmit the required information (username, password, etc.) directly through the XMPP protocol.

Although XEP-0077 is a useful protocol, it also has some limitations. Some XMPP servers do not implement the protocol or do not allow it for security reasons. Therefore, users may need to use an alternative registration method, such as registering via a web application or manually creating an account by the XMPP server's administrator.

Overall, XEP-0077 is an important XMPP protocol that facilitates user account registration and makes the registration process more efficient and user-friendly for new users.

XEP-0163 is an XMPP Extension Protocol (XEP) called Personal Eventing Protocol (PEP). It defines a method to exchange status updates and other events in real time between XMPP clients.

Essentially, PEP allows users to publish events that other users can subscribe to and view. For example, a user could publish their current status (Available, Busy, Away, etc.) or their current activities (Reading email, Making a call, In a meeting, etc.), which can then be subscribed to and viewed by other users.

PEP is an important part of XMPP and is supported by many XMPP clients and services. It allows users to quickly and easily share real-time information and stay in touch with other users.

Some specific uses of PEP include:

Last seen status: PEP can be used to publish a user's last seen status and show other users when they were last online.

Activity Updates: PEP can be used to publish a user's real-time activities, such as reading email or watching a video.

Location information: PEP can also be used to publish a user's location information, which can then be viewed by other users.

Overall, PEP is an important XMPP protocol that allows users to quickly and easily share real-time information and stay in touch with other users.

XEP-0191, also known as Simple Communications Blocking, is an XMPP Extension Protocol (XEP) that defines a method for blocking users on an XMPP network. It allows users to block certain other users from receiving messages from them.

XEP-0191 defines a simple protocol for blocking users based on a block list. Each user can create a list of other users from whom they do not want to receive messages, and store this list on the XMPP server. When a user tries to send a message to another user on the block list, the message is rejected by the XMPP server and not forwarded to the blocked user.

Blocking users can be triggered in several ways, such as by direct user interaction or by evaluating rules or events. For example, users can block another user by clicking a Block button in their XMPP client, or by a rule triggered based on keywords in messages or other criteria.

XEP-0191 is an important protocol because it allows users to block unwanted messages and thus have better control over their communications on XMPP networks. It is supported by many XMPP clients and services and helps create a more secure and user-friendly XMPP ecosystem.

XEP-0198 is an XMPP Extension Protocol (XEP) that defines a protocol for reliable data transport (stream management) between XMPP clients and servers. It allows users to maintain connections during a session, even if the connection between client and server is lost.

With XEP-0198, a client can maintain connection to the server while it is inactive without disconnecting. When the client becomes active again, it can reconnect without losing data. The protocol also defines a method for transferring data lost during disconnection.

XEP-0198 defines a stream management protocol that operates in a manner that minimizes latency and maximizes efficiency. When the client sends a message, the server acknowledges the message before the client sends the next message. This ensures that the server stays up to date and the client does not send unnecessary data.

XEP-0198 is important for XMPP applications that require a reliable and efficient connection, such as instant messaging, voice, video, or file transfer. It is supported by many XMPP clients and services and helps improve the stability and reliability of XMPP networks.

XEP-0215, also known as External Service Discovery is an XMPP Extension Protocol (XEP) that defines a method for discovering services outside the XMPP network. It allows XMPP clients to discover external services without having to communicate directly with the service.

XEP-0215 defines a protocol in which an XMPP server acts as an intermediary that forwards the XMPP client's requests to external services and sends the responses back to the client. The client does not need to connect directly to the external service, which improves security and simplifies connection establishment.

The protocol also defines a method for authenticating and authorizing external services, which allows XMPP clients to access only services to which they are authorized. This helps improve the security of XMPP networks.

XEP-0215 is important for XMPP applications that use external services, such as voice, video, data exchange, or data analysis. It is supported by some XMPP clients and services and helps improve the interoperability and flexibility of XMPP networks.

XEP-0237, also known as Roster Versioning is an XMPP Extension Protocol (XEP) that defines a method for synchronizing contact lists (rosters) between XMPP clients. It allows users to synchronize their contact lists across multiple devices without conflict or duplication.

XEP-0237 defines a protocol where each contact on the user's contact list is assigned a version number. When the user makes changes to their contact list, the version number increases and the server notifies all of the user's connected devices of the changes.

The synchronized contact list always contains the most recent version of the contact list, preventing duplicates and conflicts that might otherwise occur during synchronization. The protocol also defines a method for handling conflicts when two or more of the user's devices make simultaneous changes to the contact list.

XEP-0237 is important for XMPP applications that require a shared contact list, such as instant messaging or voice and video. It is supported by many XMPP clients and services and helps improve the interoperability and usability of XMPP networks.

Recommended clients

We recommend using a client that meets the above requirements to be compatible with our server. Below is a selection:

These are by no means all clients, just a few that we have cursorily tested to see if they meet our minimum requirements. Monitoring all these clients to document their functions is a very time-consuming activity, and therefore we cannot guarantee that our information is always up-to-date. Be careful not to always install the very latest "nightlies", as they are often unstable, and can crash unexpectedly.

OK, Everything great, now how to get there?

Quick guide Android - We describe here a very short way, for people who are in a hurry, and have no time to read the documentation. Additionally we will link keywords, in case some will get curious after all.
Frequently asked questions:
F: What is an XMPP server?

A: Basically nothing more than a chat server. A machine that transports text, image, link, audio and video messages from one computer to another in real time. You don't need a phone number or email address, birth dates or shoe size. Everything is incredibly simple.

last edited:30.04.2021
F: Can you easily recreate a JID you once deleted?

A: No! When a JID is deleted, then a kind of thombstone is created for 36 months, which prevents the recreation of an identical JID. There are important reasons why this is so. A Thombstone is not created when an account is automatically deleted after 36 months due to lack of activity.

F: Can you just recreate a MUC that you deleted once?

A: YesOn! When a MUC is deleted by an owner, it also creates a kind of thombstone that prevents the recreation of a MUC with the same name by someone other than the original owner. When the JID of the owner, including the Thombstone of the JID are gone, a MUC with the same name can be recreated. Not before.

F: Can a MUC be transferred?

A: Yes, it can. It is also possible to appoint more than one owner. For example, an owner can also assign, and a MUC can become ownerless. In this case, contact the server administrator.

F: That guy with the big nose is annoying, how can I block him?

A: Make sure that your client supports XEP-0191, then blocking will work fine. The server also supports XEP-0016 but experience shows that clients react differently.

F: Can I change my password?

A: Make sure that your client supports XEP-0077 then it will work fine.

F: Is it possible to recover the password?

A: This will only work if we know your email address, which is hopefully not the case. If you nevertheless write a real e-mail in your profile, and we can identify you with it, we may be able to reset the password. However, we would prefer not to have anything to do with this.

F: How to create an account (JID) here?

A: All clients we recommend (see list below) support inbound account creation. This means that you can (and should) create and modify your account yourself using the client, simply by selecting your new JID: (for example) username@zp1.net and entering a password for the account. Pay attention to the domain zp1.net. The clients all have this option Create this account on the server [_] which you have to activate to create a new account... The JID consists of the username: username, the domainname zp1.net, some clients ask for the hostname: xmpp.zp1.net or the port: 5222. Some clients also ask for encryption. This is: START TLS.

last edited:2023.02.18
F: How many user accounts is the server hosting right now?

A: Right now we are hosting 414 users, of which online at the moment are 132. It's a live place, a constant going and coming.

last edited:26.03.2023
F: What countries are the users from?

A: Unfortunately, we can't tell because we only see the IP that dials in to us, which doesn't mean anything because most users use VPNs, proxies, or the Tor network, which hide and obfuscate the source IP.

F: Which locales are installed?

A: All. We have installed the complete list of living languages ISO-639. All languages, left to right, right to left, top to bottom and bottom to top. It's quite impressive how many languages there are in the world. Let's hope it stays that way.

last edited:01.12.2019
F: What does this mean that you are not a public server?

A: This means that our visitors have no right to enter the server. For example, we reserve the right to exclude anyone without any justification, and the person cannot use any legal means against it. Spam, phishing, begging, threatening or other practices not mentioned here, for example, do not fall under "Free speech". There we are then very consistent.

F: Can one buy something here?

A: We are planning a store with fan items, sometime in the far future. At the moment there is nothing to buy.

F: Is there a lunchroom there?

A: No.

Translation Status
F: Who can translate here?

A: Anyone who feels like it. You just need to register on https://weblate.zp1.net and you can start right away. The project is here Just ask in the "welcome" Room if you don't know your way around.

F: Is anyone checking this?

A: Yes.

F: Who?

A: Who feels able to do this. If you disagree with an existing translation, you can anonymously suggest a better translation.

F: How can I correct an error on this page?

A: The code of this page is located here in a Gitlab . Registration is also required here to push.

How do I install a PGP key to use it with Android:
  • Install the OpenKeychain app on your Android device from the F-Droid or the Google Play Store.
  • Open the app and tap on the "Generate key" button on the main screen.
  • On the next screen, enter your full name and email address in the fields provided. Make sure the email address you enter is one that you have access to, as you will need it to receive encrypted messages.
  • Tap on the "Advanced settings" button if you want to configure additional options for your key, such as the key size, expiration date, and encryption algorithm. Otherwise, leave the default settings as they are.
  • Tap on the "Generate key" button to create your key pair. This process may take a few minutes to complete, depending on the key size you selected.
  • Once your key pair has been generated, you will be prompted to create a passphrase to protect your private key. Enter a strong, unique passphrase that you can remember but that others cannot guess.
  • After creating your passphrase, your key pair will be saved to your device. You can now use it to encrypt and sign messages, as well as verify the authenticity of messages you receive from others.
  • To share your public key with others, tap on the "Export" button on the main screen and select the method you want to use to share your key, such as email or QR code.
  • How do I install a PGP key to use it with a iPhone:
  • Download and install the "PGP Everywhere" app from the App Store on your iPhone.
  • Open the app and tap on the "Generate key" button.
  • Enter your name and email address in the fields provided.
  • Select the key size and encryption algorithm you want to use. You can also set an expiration date for your key if you wish.
  • Tap on the "Generate key" button to create your key pair. This process may take a few minutes to complete, depending on the key size you selected.
  • Once your key pair has been generated, you will be prompted to create a passphrase to protect your private key. Enter a strong, unique passphrase that you can remember but that others cannot guess.
  • After creating your passphrase, your key pair will be saved to your device. You can now use it to encrypt and sign messages, as well as verify the authenticity of messages you receive from others.
  • To share your public key with others, tap on the "Export" button in the app and select the method you want to use to share your key, such as email or AirDrop.
  • Once you have a PGP-compatible app installed on your iPhone and have generated a PGP key, you can use it to encrypt and sign messages. When composing a message, youll need to import the recipients public key into your PGP app, then select their key as the recipient when encrypting the message. The recipient will then need to use their own private key to decrypt the message. Monal is a iPhone app that supports PGP encryption. It is primarily an XMPP/Jabber client, but it also has built-in support for PGP encryption and can be used to send and receive encrypted messages. To use PGP encryption in Monal, you will need to first import your own PGP key into the app. You can do this by going to the app settings, tapping on "Advanced", and then selecting "PGP". From there, you can import your key by selecting the file containing your PGP key or by pasting the key into the app.
    How do I install a PGP key to use it with Gajim:
  • If you want to set up OpenPGP on Gajim under Windows, then you need to install GPG4WIN first. Please install the whole package or at least: GnuPG and Kleopatra.
  • Next open a Powershell on Windows and type gpg --version to check if the installation was successful.
  • If GPG was successful, you can create a PGP key pair if you don't have one yet. Use Kleopatra (Ctrl + N) File » New OpenPGP key pair .... If you already have a key pair (private and public key), please import them into Kleopatra.
  • Now export the public key as a text file by right-clicking on the key » Export (Ctrl + E). Save the key as .asc or .txt format.
  • Next start Gajim, or if Gajim was started during GPG4Win installation, please restart Gajim now. (Windows7 and older may need to restart the computer).
  • Activate the plugins OpenPGP and PGP in Gajim » Plugins or (Ctrl + E) so that installed and activated are checked.
  • Now go to the plugin PGP and you will see a gear wheel in the upper right corner which opens a new subwindow with a button in the middle where you can assign the key you created to your identity in Gajim.
  • Last we add the public key to your PEP profile. Gajim » Accounts » Profile » Modify » +Add Entry » Add Public Key by opening it with an editor (e.g. Notepad) and inserting it. Finally save and we are done.
  • Processor
    Zilog Z80 (Z80A with 3.5 MHz)

    CPU (70%)

    128 KB

    RAM (75%)

    read-only memory

    HDD (81%)

    What we can't do (yet) ...
    Since there is still a lot of explaining to do, we want to clip some wings first:
    • The server encrypts communication with other servers(s2s) using SSL (letsencrypt) via port 5269 (RFC 6120). This encryption is very weak and there are any few master keys. Thus, security is not 100% guaranteed.
    • The server also encrypts communication with their client (s2c) using SSL (letsencrypt), as long as you connect to the server on port 5223.
    • If you (your client) connect to our server via PORT 5222 or 5322, then STARTTLS (min TLS1.2) encryption is performed.
    • We do not use port 5224 at the moment.
    • The server supports OMEMO, OTR, OX or PGP encrypted communication. These encryptions are so-called end-2-end encryptions and are accordingly performed by the two clients used. The fingerprints of the communication partners must be decided and released by the client. The clients must release each other.
    • The quality of the encryption thus depends exclusively on the clients.
    • Audio and video communication only works with clients that have this feature built in. The server only supports contact (stun/turn), everything else goes from client to client directly past the server.
    • Android clients (Such as the Blabber or Conversations we recommend) use WebRTC, a free, open project that provides browsers and mobile apps with real-time communication capabilities. WebRTC is open source, but heavily tied to Google.
    • WebRTC reveals their IP address to all communication partners.
    • Audio and video communication are possible under mobile devices. If you use a StockROM, the manufacturer has root access and can configure,administer or decrypt the software on their phone at any time. Therefore, if you use such mobile devices, it is best to have nothing to hide.
    • Multiuser video conferences are not possible with our server. We recommend Jitsi Meet for such a use case.Unfortunately, we do not (yet) offer this service.
    • Gajim, Psi and some other desktop clients use WebRTC, but there are issues/incompatibilities with the Jingle protocol on Android, which means that you can't make mobile to desktop calls without problems at the moment.
    • Audio and video are client to client communication (c2c) and are TLS encrypted.
    • OMEMO encryption only works for text messages.
    • PGP in XMPP clients is not yet multi-user chat(MUC) capable, although no technical issues stand in the way. The OX project should close this gap in the immediate future. If you have more money than you need, and can spare a little, donate a little something to the XMPP consortium, they will be very grateful for your financial support