{"id":7922,"date":"2023-05-03T18:10:19","date_gmt":"2023-05-03T18:10:19","guid":{"rendered":"https:\/\/davelevy.info\/wiki\/?p=7922"},"modified":"2024-02-22T16:57:37","modified_gmt":"2024-02-22T16:57:37","slug":"back-to-xmpp","status":"publish","type":"post","link":"https:\/\/davelevy.info\/wiki\/back-to-xmpp\/","title":{"rendered":"Back to XMPP"},"content":{"rendered":"\n<p>With the imminent arrival of the state hacking of end-to-end encryption, I decided to have another look at XMPP. Here are my notes. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>This <a href=\"https:\/\/medevel.com\/10-os-xmpp-servers\/\">page offers a bunch of servers<\/a>, and I chose to look at <a href=\"https:\/\/www.igniterealtime.org\/projects\/openfire\/\">openfire<\/a>. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Openfire<\/h3>\n\n\n\n<p>Atlantic Net gives <a href=\"https:\/\/www.atlantic.net\/hipaa-compliant-hosting\/how-to-install-openfire-ubuntu-20-04\/\">instructions <\/a>on how to install it on a linux box, whereas its <a href=\"https:\/\/download.igniterealtime.org\/openfire\/docs\/latest\/documentation\/install-guide.html\">authors have instructions<\/a> too, which include some of the ports needed. It needs <em>openfire <\/em>and <em>maria db<\/em>. I did this on virtual box, and created a new ubuntu server; VB now has an unattended install, which led to having a US keyboard, not sure if this is a feature or a mistake by me. Anyway I fixed it, using <code>settings -&gt; keyboard -&gt; +<\/code><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install Java using apt, and Openfire using shell and dpkg, install Maria DB using apt and configure using SQL <a href=\"https:\/\/www.atlantic.net\/hipaa-compliant-hosting\/how-to-install-openfire-ubuntu-20-04\/\">*<\/a>, <\/li>\n\n\n\n<li><div class=\"diigoIcon id_174b8994ec98d479a8162f296dc46c04 type_9 TextIcon yellow\" style=\"bottom: 0px;\" title=\"\"><em class=\"diigoHighlight id_174b8994ec98d479a8162f296dc46c04 type_0 yellow\"><\/em> Openfire using https, then login to the admin co<\/div>Setup the Openfire server using http[s], and then use the console to create rooms and user. <a href=\"https:\/\/www.atlantic.net\/hipaa-compliant-hosting\/how-to-install-openfire-ubuntu-20-04\/\">*<\/a><\/li>\n\n\n\n<li>, and <a href=\"https:\/\/docs.geoserver.org\/2.19.x\/en\/user\/community\/remote-wps\/install_xmpp.html\">another run through the server parameters<\/a>. <\/li>\n\n\n\n<li>I tested by trying to connect <a href=\"https:\/\/web.archive.org\/web\/20231003233256\/https:\/\/www.2daygeek.com\/how-to-integrate-thunderbird-with-openfire-using-xmpp-for-chat\/\">to the server using Thunderbird<\/a>, there is a VB naming mismatch problem because I am lazy i.e. if I had a name server running on the VB, it might be simpler. The TB xmpp account needs the ip address or a name available to the chat client host, the room server argument needs the full name as specified in the admin console, which is partly derived from the OS hostname.  Here&#8217;s mozilla <a href=\"https:\/\/support.mozilla.org\/en-US\/kb\/instant-messaging-and-chat\">on their chat\/xmpp interface<\/a>. , and here&#8217;s <a href=\"https:\/\/rmore.net\/2012\/09\/07\/how-to-make-thunderbird-chat-work-with-most-xmppjabber-accounts\/\">another how to use thunderbird<\/a> post.<\/li>\n\n\n\n<li>On ubuntu, it would seem that the logs are in \/var\/log\/openfire. <\/li>\n\n\n\n<li>I am not sure this runs on raspbian and the apt and deb routes are architecture specific; although source code is available. <\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">ejabberd<\/h3>\n\n\n\n<p>I found <a href=\"https:\/\/youtu.be\/sl8cKKwRMKE\">this youtube video<\/a> which recommends <em><a href=\"https:\/\/www.ejabberd.im\/\">ejabberd <\/a><\/em>for the pi. Does openfire work on the pi? There are hints it does.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Clients<\/h3>\n\n\n\n<p>One also <a href=\"https:\/\/medevel.com\/28-os-xmpp-clients\/\">needs clients<\/a>, one on the phone would be good. Stork IM points at several servers; this maybe a better route.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">E2E aka OTR<\/h3>\n\n\n\n<p>See <a href=\"https:\/\/www.appfutura.com\/blog\/end-to-end-encryption-oe2eeo-in-xmpp\/\">end to end encryption in xmpp<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the imminent arrival of the state hacking of end-to-end encryption, I decided to have another look at XMPP. Here are my notes.<\/p>\n","protected":false},"author":1,"featured_media":7924,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_share_on_mastodon":"0"},"categories":[3],"tags":[113,293,1925,44,911,295],"class_list":["post-7922","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-internet","tag-messaging","tag-openfire","tag-tcpip","tag-technology","tag-xmpp"],"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"https:\/\/davelevy.info\/wiki\/wp-content\/uploads\/2023\/05\/bonfire-benjamindeyoung-unsplash-w1280.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/7922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/comments?post=7922"}],"version-history":[{"count":15,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/7922\/revisions"}],"predecessor-version":[{"id":10523,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/posts\/7922\/revisions\/10523"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/media\/7924"}],"wp:attachment":[{"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/media?parent=7922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/categories?post=7922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davelevy.info\/wiki\/wp-json\/wp\/v2\/tags?post=7922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}