diff options
Diffstat (limited to 'xmpp.html')
| -rw-r--r-- | xmpp.html | 89 |
1 files changed, 46 insertions, 43 deletions
@@ -13,6 +13,8 @@ <nav></nav> <main> + <img class=titleimg src="pix/xmpp.svg" alt="XMPP Logo and Icon"> + <p>XMPP is a fantastically simple protocol that's usually used as a messenger. It's highly extensible, better than IRC, @@ -49,10 +51,10 @@ Find the line that says <code>admins = { }</code> and to this we can specify one </p> <pre><code># To add one admin: -admins = { "chad@landchad.net" } +admins = { "chad@example.org" } # We can add more than one by separating them by commas. (This file is written in Lua.) -admins = { "chad@landchad.net", "chadmin@landchad.net" }</code></pre> +admins = { "chad@example.org", "chadmin@example.org" }</code></pre> <p> Note that we have not created these accounts yet, we will do this <a href=#user>below</a>. @@ -62,7 +64,7 @@ Note that we have not created these accounts yet, we will do this <a href=#user> <p> Find the line <code>VirtualHost "localhost"</code> and replace <code>localhost</code> with your domain. -In our case, we will have <code>VirtualHost "landchad.net"</code> +In our case, we will have <code>VirtualHost "example.org"</code> </p> <h3>Multi-User Chats</h3> @@ -73,7 +75,8 @@ This is easily enough to enable. In the config file, add the following: </p> -<pre><code>Component "<strong>chat.landchad.xyz</strong>" "muc" +<pre><code>Component "<strong>chat.example.org</strong>" "muc" + modules_enabled = { "muc_mam" } restrict_room_creation = "admin"</code></pre> <p> @@ -93,28 +96,6 @@ Read more about the <code>muc</code> plugin on the Prosody documentation page <a </p> </aside> - -<h3>End-to-end Encryption</h3> - -<p> -Importantly, we'll want end-to-end encryption enabled for user privacy. -</p> - -<p> -Find the array beginning with <code>modules_enabled</code>. -This includes a list of modules to be used. -Add -<code>"omemo_all_access";</code> to that list. -</p> - -<p> -This module is not installed by default, -but you can easily download it by running the following command on the command prompt -to download and install the module to the correcy directory. -</p> - -<pre><code style=font-size:x-small>curl -sL https://hg.prosody.im/prosody-modules/raw-file/785389a2d2b3/mod_omemo_all_access/mod_omemo_all_access.lua > /usr/lib/prosody/modules/mod_omemo_all_access.lua</code></pre> - <h3>Other things to check</h3> <p>Check the config file for other settings you might want to change. @@ -130,22 +111,10 @@ Nowadays, use can use Certbot to generate certificates and use a convenient comm <p> <strong>If you have multi-user chat enabled, be sure to get a certificate for that subdomain as well.</strong> -I usually just create a dummy nginx site for each and run it with the <code>--nginx</code> option. -This makes auto-renewal a little easier. +Include the <code>--nginx</code> option assuming you have an Nginx server running. </p> -<!-- <pre><code>server { --> -<!-- listen 80 ; --> -<!-- listen [::]:80 ; --> -<!-- root /var/www/html; --> -<!-- index index.html index.htm index.nginx-debian.html; --> -<!-- server_name <strong>muc.landchad.net</strong> ; --> -<!-- location / { --> -<!-- try_files $uri $uri/ =404; --> -<!-- } --> -<!-- }</code></pre> --> - -<pre><code>certbot --nginx</code></pre> +<pre><code>certbot -d <strong>chat.example.org</strong> --nginx</code></pre> <p> Once you have the certificates for encryption, run the following to import them into Prosody. @@ -170,7 +139,7 @@ Let's manually create the admin user we prepared for above. Note that you can indeed do this in your XMPP client if you have not disabled registration, but this is how it is done on the command line: </p> -<pre><code>prosodyctl adduser chad@landchad.net</code></pre> +<pre><code>prosodyctl adduser <strong>chad@example.org</strong></code></pre> <p>This will prompt you to create a password as well.</p> @@ -181,9 +150,43 @@ Note that you can indeed do this in your XMPP client if you have not disabled re With any system service, use <code>systemctl reload</code> or <code>systemctl restart</code> to make the new settings active: </p> -<pre><code>systemctl reload prosody</code></pre> +<pre><code>systemctl restart prosody</code></pre> + +<h2>Using your Server!</h2> + +<p> +Once your server is set up, you just need an XMPP client to use your new and secure chat system. +</p> + +<ul> + <li>GNU/Linux: <a href="https://dino.im/">Dino</a> or <a href="https://gajim.org/">Gajim</a></li> + <li>Windows: <a href="https://gajim.org/">Gajim</a> also runs on Windows.</li> + <li>Android: <a href="https://conversations.im/">Conversations.im</a></li> + <li>Mac/iOS: <a href="https://monal.im/">Monal IM</a> or <a href="https://siskin.im/">Siskin</a> for iOS alone</li> + <li>command-line (GNU/Linux, MacOS, Windows): <a href="https://profanity-im.github.io/">Profanity</a></li> + <li><a href="https://xmpp.org/software/clients.html">See a more complete list kept by XMPP</a></li> +</ul> + +<p> +Install whichever of these clients you want on your computer or phone and you can log into your new XMPP server with the account you made. +Note that if you enabled public registration, anyone can create an account on your server through one of these clients. +</p> + +<h3>Account addresses</h3> + +<p> +XMPP account addressed look just like email addresses: <code><strong>username@example.org</strong></code>. +You can message any account on any XMPP server on the internet with that format. +</p> + +<h3>Note on MUCs (multi-user chats)</h3> + +<p> +Remember that MUCs are kept on a separate subdomain that we created and should've gotten a certificate for above, for example, <code><strong>chat.example.org</strong></code>. +Chatrooms are created and referred to in the following format: <code><strong>#chatroomname@chat.example.org</strong></code>. +</p> </main> - <footer><a href="https://landchad.net">LandChad.net</a></br>Because Everyone should be an Internet LandChad.</br><li><a href="index.html"><img src="pix/chad.gif" alt="chad"></a></li><li><a href="rss.xml"><img src="pix/rss.svg" alt="RSS"></a></li><li><a href="pix/btc.png"><img src="pix/btc.svg" alt="BTC"></a></li><li><a href="pix/xmr.png"><img src="pix/xmr.svg" alt="XMR"></a></li><li><a href="https://github.com/lukesmithxyz/landchad"><img src="pix/git.svg" alt="Github"></a></footer> + <footer><a href="https://landchad.net">LandChad.net</a></br>Because Everyone should be an Internet LandChad.</br><a href="index.html"><li><img src="pix/chad.gif" alt="chad"></li></a><a href="rss.xml"><li><img src="pix/rss.svg" alt="RSS"></li></a><a href="pix/btc.png"><li><img src="pix/btc.svg" alt="BTC"></li></a><a href="pix/xmr.png"><li><img src="pix/xmr.svg" alt="XMR"></li></a><a href="https://github.com/lukesmithxyz/landchad"><li><img src="pix/git.svg" alt="Github"></li></a></footer> </body> </html> |
