SVG : Add icons for Moxxy and POSIX;

TOML   : Enable more entries;
Python : Add logic for POSIX;
XHTML  : Add a notice about POSIX.
This commit is contained in:
Schimon Jehudah, Adv. 2024-10-20 21:32:15 +03:00
parent ab6c6b687e
commit 40ad9bd58d
5 changed files with 86 additions and 65 deletions

View file

@ -15,7 +15,7 @@ home = "https://github.com/paulfariello/aparte"
about = """ about = """
Simple XMPP console client written in Rust and inspired by Profanity. Simple XMPP console client written in Rust and inspired by Profanity.
""" """
linux = "https://github.com/paulfariello/aparte/releases" posix = "https://github.com/paulfariello/aparte/releases"
features = ["chat", "console", "desktop"] features = ["chat", "console", "desktop"]
#[beagle] #[beagle]
@ -41,7 +41,7 @@ blabber.im is a fork of Conversations. The changes aim to improve usability \
and ease transition from pre-installed and other widespread messengers. and ease transition from pre-installed and other widespread messengers.
""" """
divestos = "https://blabber.im" divestos = "https://blabber.im"
features = ["chat", "graphical", "mobile", "omemo", "openpgp"] features = ["adhoc", "chat", "graphical", "mobile", "omemo", "openpgp"]
#[bruno] #[bruno]
#title = "Bruno" #title = "Bruno"
@ -105,7 +105,7 @@ It especially focuses on features useful to people who want to contact those \
on other networks as well, such as SMS-enabled phone numbers. on other networks as well, such as SMS-enabled phone numbers.
""" """
divestos = "https://f-droid.org/packages/com.cheogram.android" divestos = "https://f-droid.org/packages/com.cheogram.android"
features = ["chat", "fdroid", "graphical", "mobile", "omemo", "openpgp"] features = ["adhoc", "chat", "fdroid", "graphical", "mobile", "omemo", "openpgp"]
[conversations] [conversations]
title = "Conversations" title = "Conversations"
@ -143,7 +143,7 @@ browser = "https://conversejs.org"
apple = "https://github.com/conversejs/converse-desktop/releases" apple = "https://github.com/conversejs/converse-desktop/releases"
linux = "https://github.com/conversejs/converse-desktop/releases" linux = "https://github.com/conversejs/converse-desktop/releases"
reactos = "https://github.com/conversejs/converse-desktop/releases" reactos = "https://github.com/conversejs/converse-desktop/releases"
features = ["chat", "desktop", "graphical", "omemo"] features = ["adhoc", "chat", "desktop", "graphical", "omemo"]
#[coyim] #[coyim]
#title = "CoyIM" #title = "CoyIM"
@ -174,17 +174,16 @@ features = ["chat", "desktop", "graphical", "omemo"]
title = "Dino" title = "Dino"
home = "https://dino.im" home = "https://dino.im"
about = """ about = """
Dino is a modern open-source chat client for desktop and mobile devices. Dino is a modern open-source chat client for desktop and mobile devices, which \
focuses on providing a clean and reliable Jabber/XMPP experience while having \
Dino focuses on providing a clean and reliable Jabber/XMPP experience while \ your privacy in mind.
having your privacy in mind.
Dino supports end-to-end encryption with OMEMO and OpenPGP and allows \ Dino supports end-to-end encryption with OMEMO and OpenPGP and allows \
configuring privacy-related features such as read receipts and typing \ configuring privacy-related features such as read receipts and typing \
notifications. notifications.
Dino fetches history from the server and synchronizes messages with other \ Dino fetches history from the server and synchronizes messages with other \
sevices. services.
""" """
linux = "https://dino.im/#download" linux = "https://dino.im/#download"
features = ["chat", "desktop", "graphical", "mobile", "omemo", "openpgp"] features = ["chat", "desktop", "graphical", "mobile", "omemo", "openpgp"]
@ -195,10 +194,8 @@ home = "https://gajim.org"
about = """ about = """
Gajim aims to be an easy to use and fully-featured XMPP client. Gajim aims to be an easy to use and fully-featured XMPP client.
Just chat with your friends or family, easily share pictures and thoughts or \ Chat securely with End-to-End encryption with your friends or family; easily \
discuss the news with your groups. share pictures and thoughts; or discuss the news with your groups.
Chat securely with End-to-End encryption via OMEMO or OpenPGP.
Gajim integrates well with your other devices: simply continue conversations \ Gajim integrates well with your other devices: simply continue conversations \
on your mobile device. on your mobile device.
@ -206,7 +203,7 @@ on your mobile device.
apple = "https://gajim.org/download/#macos" apple = "https://gajim.org/download/#macos"
linux = "https://gajim.org/download/#linux" linux = "https://gajim.org/download/#linux"
reactos = "https://gajim.org/download/#windows" reactos = "https://gajim.org/download/#windows"
features = ["admin", "chat", "desktop", "graphical", "omemo", "openpgp"] features = ["adhoc", "admin", "chat", "desktop", "graphical", "omemo", "openpgp"]
[irssi] [irssi]
title = "Irssi" title = "Irssi"
@ -215,7 +212,7 @@ about = """
irssi-xmpp is an Irssi plugin to connect to the XMPP network (jabber). irssi-xmpp is an Irssi plugin to connect to the XMPP network (jabber).
""" """
haiku = "https://depot.haiku-os.org/irssi" haiku = "https://depot.haiku-os.org/irssi"
linux = "https://cybione.org/~irssi-xmpp/" posix = "https://cybione.org/~irssi-xmpp/"
features = ["chat", "console", "desktop", "haikudepot"] features = ["chat", "console", "desktop", "haikudepot"]
[emacs] [emacs]
@ -229,7 +226,7 @@ IETF-standard federated instant messaging protocol.
""" """
apple = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install" apple = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install"
divestos = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install" divestos = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install"
linux = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install" posix = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install"
reactos = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install" reactos = "https://codeberg.org/emacs-jabber/emacs-jabber#how-to-install"
features = ["admin", "chat", "console", "desktop"] features = ["admin", "chat", "console", "desktop"]
@ -270,17 +267,22 @@ features = ["chat", "desktop", "graphical", "mobile", "omemo"]
#support, history logging, command completion, OpenPGP encryption, OTR (Off-the-\ #support, history logging, command completion, OpenPGP encryption, OTR (Off-the-\
#Record Messaging) support, dynamic modules and external action triggers. #Record Messaging) support, dynamic modules and external action triggers.
#""" #"""
#linux = "https://mcabber.com" #posix = "https://mcabber.com"
#features = ["admin", "chat", "console", "desktop", "openpgp", "otr"] #features = ["admin", "chat", "console", "desktop", "openpgp", "otr"]
[miranda] [miranda]
title = "Miranda NG" title = "Miranda NG"
home = "https://miranda-ng.org" home = "https://miranda-ng.org"
about = """ about = """
Multiprotocol client for Windows with extended XMPP support. A multi-protocol client with extended XMPP support.
Miranda NG is a successor of the popular multi-protocol instant messaging \
client Miranda IM.
It is very light on system resources and extremely fast.
""" """
reactos = "https://miranda-ng.org/downloads/" reactos = "https://miranda-ng.org/downloads/"
features = ["chat", "desktop", "graphical", "otr"] features = ["adhoc", "chat", "desktop", "graphical", "omemo", "openpgp", "otr"]
[monal] [monal]
title = "Monal" title = "Monal"
@ -305,7 +307,7 @@ It is based on blabber.im and Conversations, yet has a lot of changes and \
offers additional features to improve usability and security. offers additional features to improve usability and security.
""" """
divestos = "https://f-droid.org/packages/de.monocles.chat" divestos = "https://f-droid.org/packages/de.monocles.chat"
features = ["chat", "fdroid", "graphical", "mobile", "omemo", "openpgp", "otr"] features = ["adhoc", "chat", "fdroid", "graphical", "mobile", "omemo", "openpgp", "otr"]
[movim] [movim]
title = "Movim" title = "Movim"
@ -314,32 +316,31 @@ about = """
Movim is a federated publishing and chat platform that acts as an HTML \ Movim is a federated publishing and chat platform that acts as an HTML \
frontend for the XMPP protocol. frontend for the XMPP protocol.
Once deployed Movim offers a complete social and chat experience for the \ Movim offers a complete social and chat experience for the decentralized XMPP \
decentralized XMPP network users. It can easily connect to several XMPP \ network, and it can easily connect to several XMPP servers at the same time.
servers at the same time.
Chatrooms, journals, video-conferences; Movim centralizes all that you need to \ Chatrooms, journals, video-conferences; Movim centralizes all that you need to \
communicate with your colleagues, friends or family in one simple interface. communicate with your colleagues, friends or family in one simple interface.
It also fully adapts to all your devices from your mobile devices to your \ It also fully adapts to all of your devices from your mobile devices to your \
desktop computer. desktop computer.
""" """
apple = "https://join.movim.eu" apple = "https://join.movim.eu"
browser = "https://join.movim.eu" browser = "https://join.movim.eu"
divestos = "https://join.movim.eu" divestos = "https://join.movim.eu"
features = ["chat", "desktop", "graphical", "mobile", "omemo", "pubsub", "pwa"] features = ["adhoc", "chat", "desktop", "graphical", "mobile", "omemo", "pubsub", "pwa"]
#[moxxy] [moxxy]
#title = "Moxxy" title = "Moxxy"
#home = "https://moxxy.org" home = "https://moxxy.org"
#about = """ about = """
#Moxxy is an experimental XMPP client that aims to be modern and easy to use. Moxxy is an experimental XMPP client that aims to be modern and easy to use.
#
#It is currently alpha software. This means that there will be issues with some \ It is currently alpha software. This means that there will be issues with some \
#functionalities. Please do not use Moxxy for anything important at this moment. functionalities. Please do not use Moxxy for anything important at this moment.
#""" """
#divestos = "https://apt.izzysoft.de/fdroid/index/apk/org.moxxy.moxxyv2" divestos = "https://apt.izzysoft.de/fdroid/index/apk/org.moxxy.moxxyv2"
#features = ["chat", "graphical", "izzyondroid", "mobile", "omemo"] features = ["chat", "graphical", "izzyondroid", "mobile", "omemo"]
#[pade] #[pade]
#title = "Pàdé" #title = "Pàdé"
@ -371,8 +372,8 @@ You will find the light, fast, geeky and anonymous spirit of IRC while using a \
powerful, standard and open protocol. powerful, standard and open protocol.
""" """
haiku = "https://depot.haiku-os.org/poezio" haiku = "https://depot.haiku-os.org/poezio"
linux = "https://poez.io/en/#download" posix = "https://poez.io/en/#download"
features = ["chat", "console", "desktop", "haikudepot", "omemo", "openpgp", "otr"] features = ["adhoc", "chat", "console", "desktop", "haikudepot", "omemo", "openpgp", "otr"]
#[profanity] #[profanity]
#title = "Profanity" #title = "Profanity"
@ -381,7 +382,7 @@ features = ["chat", "console", "desktop", "haikudepot", "omemo", "openpgp", "otr
#Profanity is a console based XMPP client written in C using ncurses and \ #Profanity is a console based XMPP client written in C using ncurses and \
#libstrophe, inspired by Irssi. #libstrophe, inspired by Irssi.
#""" #"""
#linux = "https://profanity-im.github.io" #posix = "https://profanity-im.github.io"
#features = ["chat", "console", "desktop", "omemo", "openpgp", "otr"] #features = ["chat", "console", "desktop", "omemo", "openpgp", "otr"]
[prose] [prose]
@ -408,31 +409,23 @@ supported operating system.
apple = "https://psi-im.org" apple = "https://psi-im.org"
linux = "https://psi-im.org" linux = "https://psi-im.org"
reactos = "https://psi-im.org" reactos = "https://psi-im.org"
features = ["admin", "chat", "desktop", "graphical", "openpgp", "otr"] features = ["adhoc", "admin", "chat", "desktop", "graphical", "openpgp", "otr"]
[psi-plus] [psi-plus]
title = "Psi+" title = "Psi+"
home = "https://psi-im.org" home = "https://psi-im.org"
about = """ about = """
Psi+ is a development branch of Psi XMPP client. Thanks to rolling release \ Psi+ is a development branch of Psi XMPP client. Thanks to rolling release \
development model Psi+ recieve new features and fixes very quickly. development model Psi+ recieves new features and fixes very quickly.
In 2009 a Psi fork named Psi+ was started. Project purpose are: implementation \ Project purposes are: implementation of new features, writing of patches and \
of new features, writing of patches and plugins for transferring them to \ plugins for transferring them to upstream.
upstream.
As of 2017 the most of active Psi+ developers have become official Psi \
developers, but Psi+ still has a number of unique features.
From developers point of view Psi+ is just a development branch of Psi IM \
client which is hosted at separate git repositories and for which rolling \
release development model is used.
""" """
apple = "https://psi-plus.com/wiki/en:downloads#macos" apple = "https://psi-plus.com/wiki/en:downloads#macos"
haiku = "https://depot.haiku-os.org/psi_plus" haiku = "https://depot.haiku-os.org/psi_plus"
linux = "https://psi-plus.com/wiki/en:downloads#linux" linux = "https://psi-plus.com/wiki/en:downloads#linux"
reactos = "https://psi-plus.com/wiki/en:downloads#ms_windows" reactos = "https://psi-plus.com/wiki/en:downloads#ms_windows"
features = ["admin", "chat", "desktop", "graphical", "haikudepot", "openpgp", "otr"] features = ["adhoc", "admin", "chat", "desktop", "graphical", "haikudepot", "openpgp", "otr"]
[reeder] [reeder]
title = "Reeder" title = "Reeder"
@ -454,8 +447,6 @@ A simple but powerful client for chatting on XMPP networks.
Renga supports personal one-to-one chat, group chat, transports, etc. and it \ Renga supports personal one-to-one chat, group chat, transports, etc. and it \
provides a clean and easy to use interface. provides a clean and easy to use interface.
You can install Renga directly with HaikuDepot from your desktop.
""" """
haiku = "https://depot.haiku-os.org/renga" haiku = "https://depot.haiku-os.org/renga"
features = ["chat", "desktop", "graphical", "haikudepot"] features = ["chat", "desktop", "graphical", "haikudepot"]
@ -527,8 +518,10 @@ about = """
An elegant, secure, adaptable and intuitive XMPP Client. An elegant, secure, adaptable and intuitive XMPP Client.
Swift's clean design and comprehensive feature set make it the logical choice \ Swift's clean design and comprehensive feature set make it the logical choice \
for anyone looking for a cross-platform XMPP client. Swift is free to use, \ for anyone looking for a cross-platform XMPP client.
with optional commercial support contracts available from Isode.
Swift is free to use, with optional commercial support contracts available \
from Isode.
""" """
apple = "https://swift.im/downloads.html" apple = "https://swift.im/downloads.html"
linux = "https://swift.im/downloads.html" linux = "https://swift.im/downloads.html"
@ -548,7 +541,7 @@ TLS 1.2. This prevents attackers from reading your chat messages or metadata.
OMEMO support is actively being worked on. Once implemented, OMEMO will \ OMEMO support is actively being worked on. Once implemented, OMEMO will \
provide a multi-client end-to-end encryption so not even your own server can \ provide a multi-client end-to-end encryption so not even your own server can \
read your chat messages any more. read your chat messages.
""" """
reactos = "https://uwpx.org" reactos = "https://uwpx.org"
features = ["chat", "desktop", "graphical", "mobile"] features = ["chat", "desktop", "graphical", "mobile"]
@ -564,7 +557,7 @@ currently has a minimal but ideally maximal set of XEPs.
""" """
divestos = "https://github.com/bqv/weechat-xmpp" divestos = "https://github.com/bqv/weechat-xmpp"
haiku = "https://depot.haiku-os.org/weechat" haiku = "https://depot.haiku-os.org/weechat"
linux = "https://github.com/bqv/weechat-xmpp" posix = "https://github.com/bqv/weechat-xmpp"
features = ["chat", "console", "desktop", "omemo", "openpgp"] features = ["chat", "console", "desktop", "omemo", "openpgp"]
#[xmpp-web] #[xmpp-web]

View file

@ -637,7 +637,10 @@ class HttpInstance:
software = 'apple' software = 'apple'
name = software.title() name = software.title()
if 'os' in software: name = name.replace('os', 'OS') if software == 'posix':
name = 'POSIX'
elif 'os' in software:
name = name.replace('os', 'OS')
filename_clients = 'clients.toml' filename_clients = 'clients.toml'
clients = Data.open_file_toml(filename_clients) clients = Data.open_file_toml(filename_clients)

1
img/moxxy.svg Normal file
View file

@ -0,0 +1 @@
<svg viewBox="0 0 977 981.6" version="1.1" id="svg5" xmlns="http://www.w3.org/2000/svg"><defs id="defs1"><clipPath id="clip-path" transform="translate(-26.58 -21.98)"><path d="M491.18 902.89 141.21 941A83.2 83.2 0 0 1 58 857.79l38.06-349.51a665.9 665.9 0 0 0 3.53-46.14C108.37 237.45 293.29 58 520.13 58 752.57 58 941 246.43 941 478.87c0 227-179.7 412-404.6 420.56a639.17 639.17 0 0 0-45.22 3.46Z" id="path1" style="fill:none"/></clipPath><filter style="color-interpolation-filters:sRGB" id="filter77" x="-.01" y=".03" width="1.06" height="1.02"><feFlood result="flood" flood-opacity=".5" flood-color="#000" id="feFlood76"/><feGaussianBlur result="blur" in="SourceGraphic" stdDeviation="13" id="feGaussianBlur76"/><feOffset result="offset" in="blur" dx="16" dy="16" id="feOffset76"/><feComposite result="comp1" operator="in" in="flood" in2="offset" id="feComposite76"/><feComposite result="comp2" operator="over" in="SourceGraphic" in2="comp1" id="feComposite77"/></filter><style id="style1">.cls-3{mix-blend-mode:multiply;opacity:.7}</style></defs><g id="g5" style="filter:url(#filter77);isolation:isolate"><g id="Ebene_1" data-name="Ebene 1"><g clip-path="url(#clip-path)" id="g3" style="clip-path:url(#clip-path)"><path d="M491.18 902.89 141.21 941A83.2 83.2 0 0 1 58 857.79l38.06-349.51a665.9 665.9 0 0 0 3.53-46.14C108.37 237.45 293.29 58 520.13 58 752.57 58 941 246.43 941 478.87c0 227-179.7 412-404.6 420.56a639.17 639.17 0 0 0-45.22 3.46Z" transform="translate(-26.58 -21.98)" id="path2" style="fill:#a139f0"/><path d="m494 867.68-344.43 72.65a83.2 83.2 0 0 1-91-74.54l3.13-351.56c.14-15.43-.13-30.87-1.06-46.27C47.08 243.52 213.29 46.6 439 24.09 670.29 1 876.49 169.83 899.56 401.12 922.08 627 761.63 828.93 538.69 859.75a647.99 647.99 0 0 0-44.69 7.93Z" transform="translate(-26.58 -21.98)" id="path3" style="fill:#cf4aff"/></g></g><g id="Ebene_2" data-name="Ebene 2"><path d="M381.16 697.53a83.9 83.9 0 1 1-90.8-76.37 83.91 83.91 0 0 1 90.8 76.37Zm230.69-104.12a83.9 83.9 0 1 0 90.8 76.38 83.91 83.91 0 0 0-90.8-76.38ZM318.2 294.87a83.9 83.9 0 1 0 90.8 76.38 83.9 83.9 0 0 0-90.8-76.38Zm379.67-81.2a83.9 83.9 0 1 0 90.8 76.33 83.9 83.9 0 0 0-90.8-76.33Z" transform="translate(-26.58 -21.98)" id="path4" style="fill:#fff"/><path d="m619.06 677-321.49 27.75 27.62-326.59Zm85.76-379.45L619.06 677" transform="translate(-26.58 -21.98)" id="path5" style="stroke:#fff;stroke-miterlimit:10;stroke-width:40.98px;fill:none"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

1
img/posix.svg Normal file
View file

@ -0,0 +1 @@
<svg width="450" height="450" xmlns="http://www.w3.org/2000/svg"><path style="fill:#000" d="M8 442C6 440 6 10 8 8s432-2 434 0 2 432 0 434-432 2-434 0zm142-74v-68H14v136h136zm-79 48a50 50 0 0 1-28-79 49 49 0 0 1 75-4c19 21 19 51-1 70-8 8-14 11-25 13-8 2-14 2-21 0zm222-48v-68H157v136h136zm-77 49c-9-1-20-7-26-14a49 49 0 0 1 1-71 49 49 0 0 1 68 0 49 49 0 0 1 1 71 50 50 0 0 1-44 14zm220-49v-68H300v136h136zm-81 48c-30-8-46-42-32-70 4-8 14-18 21-22 20-11 43-7 59 9 8 8 11 15 14 25 1 8 1 13-1 21-4 19-19 34-38 38-9 1-14 1-23-1zM150 225v-68H14v136h136zm143 0v-68H157v136h136zm143 0v-68H300v136h136zm-80 48c-9-2-16-6-23-13a48 48 0 0 1-14-45c2-13 14-28 26-34 6-4 16-6 23-6 30 0 54 28 49 57-5 30-33 48-61 41zM150 82V14H14v136h136zm143 0V14H157v136h136zm-81 48c-13-3-26-14-32-26-14-31 5-67 38-71 21-3 41 8 51 26 6 12 7 22 4 35-2 9-6 16-13 23a49 49 0 0 1-48 13zm224-48V14H300v136h136z"/><path style="fill:#fff;fill-rule:evenodd;stroke:#000;stroke-width:.0554446;stroke-miterlimit:7.9;paint-order:markers stroke fill" d="M14 82V15h135v134H14Zm0 143v-68h135v135H14Zm0 142v-67h135v135H14Zm80 50c17-4 31-17 36-35 8-23-4-48-26-60-9-4-10-4-22-4s-13 0-22 4c-18 9-28 25-28 46 0 10 0 12 4 20 5 11 14 20 23 25 13 6 21 7 35 4zm64-50v-67h135v135H158zm86 48c10-4 21-14 26-25 4-8 5-10 5-22 0-11-1-14-4-20-5-11-15-21-25-26-8-3-10-4-21-4s-14 1-21 4a50 50 0 0 0-24 68c5 12 21 25 34 27 8 2 21 1 30-2zm-86-190v-68h135v135H158zm0-143V15h135v134H158zm83 48c8-3 21-12 25-19 7-10 9-15 9-28 0-12-1-14-5-22-5-11-13-19-23-24-8-4-10-4-22-4-11 0-14 0-21 3a51 51 0 0 0-25 67c2 4 6 10 10 13 14 15 32 20 52 14zm60-48V15h134v134H301zm0 143v-68h134v135H301zm74 50c17-3 31-14 39-30 3-6 3-9 3-20 0-12 0-14-3-21-5-10-15-20-25-25-7-3-9-4-21-4-11 0-14 1-21 4-9 4-15 9-21 19s-8 16-8 28c0 13 3 22 13 32 8 9 17 15 27 17l8 1 9-1zm-74 92v-67h134v135H301zm76 50c30-5 48-35 39-65-3-8-5-11-11-18a43 43 0 0 0-37-16c-16 0-25 4-34 13a50 50 0 0 0 22 86c8 2 12 2 21 0z"/></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -95,16 +95,36 @@
</span> </span>
</div> </div>
{% endif %} {% endif %}
{% if title == 'Haiku' %}
<div id="security-notices">
<span class="notice">
<img src="/img/haikudepot.svg" />
<span>
Most of the software that are listed here should be available
for you to install directly from desktop with HaikuDepot.
</span>
</span>
</div>
{% endif %}
{% if title == 'Linux' %} {% if title == 'Linux' %}
<div id="security-notices"> <div id="security-notices">
<span class="notice"> <span class="notice">
<img src="/img/tux.svg" /> <img src="/img/tux.svg" />
<span> <span>
The listed XMPP clients, herein, are also usable with the The listed XMPP clients, herein, are also usable with the
Linux systems <a href="https://droidian.org">Droidian</a>, Linux systems that are designed for mobile devices, e.g.
<a href="https://droidian.org">Droidian</a>,
<a href="https://mobian.org">Mobian</a> and <a href="https://mobian.org">Mobian</a> and
<a href="https://postmarketos.org">postmarketOS</a>, which are <a href="https://postmarketos.org">postmarketOS</a>.
designed for mobile devices. </span>
</span>
<span class="notice">
<a href="/download/posix">
<img src="/img/posix.svg" />
</a>
<span>
Please refer to <a href="/download/posix">this page</a>, if
you are prefer text based (i.e. console) interface.
</span> </span>
</span> </span>
</div> </div>
@ -121,6 +141,9 @@
<span> <span>
<span class="text">{{client['about']}}</span> <span class="text">{{client['about']}}</span>
<div class="features"> <div class="features">
{% if 'adhoc' in client['features'] %}
<span>🪄️ Ad-Hoc Commands</span>
{% endif %}
{% if 'desktop' in client['features'] %} {% if 'desktop' in client['features'] %}
<span>🖥️ Desktop</span> <span>🖥️ Desktop</span>
{% endif %} {% endif %}
@ -159,9 +182,9 @@
<span> <span>
XMPP is the decentralized, free, open, and private messaging XMPP is the decentralized, free, open, and private messaging
and publishing protocol that drives the world's top-tier and and publishing protocol that drives the world's top-tier and
largest open IM network, and which allows for end-to-end largest open IM network which allows for end-to-end
encrypted messaging, voice calls, video calls, groups and encrypted messaging, group chats, voice calls, video calls
more. Join to the community! (est. 1999) and more. Join to the community! (est. 1999)
</span> </span>
<span> <span>
<img class="wide" src="/img/xmpp.svg" /> <img class="wide" src="/img/xmpp.svg" />