2023-12-31 22:03:00 +00:00
<!doctype html>
< html >
< head >
< meta charset = "UTF-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
< link href = "/assets/css/index.css" rel = "stylesheet" / >
< link rel = "shortcut icon" href = "/assets/img/favicon.ico" sizes = "32x32" / >
< link href = "/feed.xml" type = "application/atom+xml" rel = "alternate" title = "Moxxy Blog" / >
2023-01-24 17:20:04 +00:00
2023-12-31 22:03:00 +00:00
<!-- Begin Jekyll SEO tag v2.8.0 -->
< title > Developer Information | Moxxy< / title >
< meta name = "generator" content = "Jekyll v4.3.1" / >
< meta property = "og:title" content = "Developer Information" / >
< meta property = "og:locale" content = "en_GB" / >
< link rel = "canonical" href = "https://moxxy.org/developers.html" / >
< meta property = "og:url" content = "https://moxxy.org/developers.html" / >
< meta property = "og:site_name" content = "Moxxy" / >
< meta property = "og:type" content = "website" / >
< meta name = "twitter:card" content = "summary" / >
< meta property = "twitter:title" content = "Developer Information" / >
< script type = "application/ld+json" >
{"@context":"https://schema.org","@type":"WebPage","headline":"Developer Information","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://moxxy.org/assets/img/logo.png"}},"url":"https://moxxy.org/developers.html"}< / script >
<!-- End Jekyll SEO tag -->
< / head >
< body >
< div class = "flex flex-col" >
< div class = "relative h-16 inset-x-0 inset-y-0 px-4 shadow-md grid place-items-center" >
< div class = "flex flex-row items-center w-full" >
<!-- The Moxxy logo -->
< a href = "/index.html" >
< img src = "/assets/img/logo.png" class = "w-12 h-12 p-2" / >
< / a >
< a href = "/index.html" >
< span class = "font-bold" > Moxxy< / span >
< / a >
<!-- Spacer -->
< div class = "grow" > < / div >
< a href = "/posts.html" class = "px-2 text-sky-400" > Blog< / a >
< a href = "/developers.html" class = "px-2 text-sky-400" > Developers< / a >
< a href = "https://codeberg.org/moxxy/moxxy" class = "px-2 text-sky-400" > Source< / a >
< / div >
< / div >
< div class = "w-full flex flex-row justify-center" >
2023-01-24 17:20:04 +00:00
< div class = "w-full lg:w-1/2" >
< div class = "w-full p-8 flex flex-col" >
< div class = "w-full pt-4" >
< p >
2023-12-31 22:03:00 +00:00
Moxxy is fully open source. You can find the source code < a class = "text-sky-400" href = "https://codeberg.org/moxxy/moxxy" > on Codeberg< / a > . Additionally, the code is
mirrored < a class = "text-sky-400" href = "https://github.com/PapaTutuWawa/moxxy" > on GitHub< / a > .
2023-01-24 17:20:04 +00:00
< / p >
< p class = "pt-1 pb-4" >
2023-12-31 22:03:00 +00:00
Feel free to join the < a class = "text-sky-400" href = "xmpp:moxxy@muc.moxxy.org?join" > general chat< / a > or the < a class = "text-sky-400" href = "xmpp:dev@muc.moxxy.org?join" > developer chat< / a > with your favourite XMPP client.
2023-01-24 17:20:04 +00:00
< / p >
< / div >
< h1 class = "text-3xl font-bold" > Libraries< / h1 >
< p class = "pb-4" >
Moxxy is built from various smaller libraries that are custom-made for this purpose. Some of them are for general usage, some are specific to the use case of building Moxxy.
< / p >
< table class = "table-fixed" >
< thead class = "bg-gray-100" >
< tr >
< th class = "text-left px-1" > Library< / th >
< th class = "text-left px-1" > Description< / th >
< th class = "text-left px-1" > Moxxy specific< / th >
< / tr >
< / thead >
< tbody class = "divide-y divide-blue-200" >
2023-12-31 22:03:00 +00:00
< tr >
< td class = "pr-4" >
< a class = "text-sky-400" href = "https://codeberg.org/moxxy/moxxmpp" > moxxmpp< / a >
< / td >
< td class = "pr-4" > XMPP library written in Dart< / td >
< td class = "pr-4" > No< / td >
< / tr >
< tr >
< td class = "pr-4" >
< a class = "text-sky-400" href = "https://codeberg.org/moxxy/moxdns" > moxdns< / a >
< / td >
< td class = "pr-4" > DNS SRV resolver for Flutter< / td >
< td class = "pr-4" > Yes< / td >
< / tr >
2023-01-24 17:20:04 +00:00
< tr >
< td class = "pr-4" >
2023-12-31 22:03:00 +00:00
< a class = "text-sky-400" href = "https://codeberg.org/moxxy/moxlib" > moxlib< / a >
2023-01-24 17:20:04 +00:00
< / td >
2023-12-31 22:03:00 +00:00
< td class = "pr-4" > Shared functions for Moxxy-specific projects< / td >
< td class = "pr-4" > Yes< / td >
2023-01-24 17:20:04 +00:00
< / tr >
2023-12-31 22:03:00 +00:00
< tr >
< td class = "pr-4" >
< a class = "text-sky-400" href = "https://codeberg.org/moxxy/moxplatform" > moxplatform< / a >
< / td >
< td class = "pr-4" > Platform-specific code< / td >
< td class = "pr-4" > Yes< / td >
< / tr >
< tr >
< td class = "pr-4" >
< a class = "text-sky-400" href = "https://codeberg.org/PapaTutuWawa/omemo_dart" > omemo_dart< / a >
< / td >
< td class = "pr-4" > Implementation of the cryptography for OMEMO 0.8.3 with a high-level interface< / td >
< td class = "pr-4" > No< / td >
< / tr >
2023-01-24 17:20:04 +00:00
< / tbody >
< / table >
< / div >
< div class = "w-full p-8 flex flex-col" >
< h1 class = "text-3xl font-bold" > Custom XEPs< / h1 >
< p class = "pb-4" >
Moxxy currently implements some custom XMPP protocols to provide additional functionality. These are experimental and are intended to be upstreamed at some point.
< / p >
< table class = "table-fixed" >
< thead class = "bg-gray-100" >
< tr >
< th class = "text-left px-1" > Name< / th >
< th class = "text-left px-1" > Description< / th >
< / tr >
< / thead >
< tbody class = "divide-y divide-blue-200" >
2023-12-31 22:03:00 +00:00
2023-01-24 17:20:04 +00:00
< tr >
< td class = "pr-4" >
2023-12-31 22:03:00 +00:00
< a class = "text-sky-400" href = "https://codeberg.org/moxxy/custom-xeps/src/branch/master/xep-xxxx-extensible-file-thumbnails.md" > Extensible File Thumbnails< / a >
2023-01-24 17:20:04 +00:00
< / td >
2023-12-31 22:03:00 +00:00
< td class = "pr-4" > Provide an extensible way of specifying thumbnails that are neccessarily binary data< / td >
2023-01-24 17:20:04 +00:00
< / tr >
2023-12-31 22:03:00 +00:00
< tr >
< td class = "pr-4" >
< a class = "text-sky-400" href = "https://codeberg.org/moxxy/custom-xeps/src/branch/master/xep-xxxx-file-upload-notification.md" > File Upload Notification< / a >
< / td >
< td class = "pr-4" > Allow communicating that an OOB file upload is currently running to improve the consistency of the conversation< / td >
< / tr >
2023-01-24 17:20:04 +00:00
< / tbody >
< / table >
< / div >
< / div >
< / div >
2023-12-31 22:03:00 +00:00
< / div >
< footer class = "h-8 w-full flex flex-row justify-center" >
< span class = "text-sm text-center" >
Made with < 3 by
< a class = "text-sky-400" href = "https://polynom.me" target = "_blank" rel = "noopener noreferrer" > PapaTutuWawa< / a >
using < a class = "text-sky-400" href = "https://tailwindcss.com/" target = "_blank" rel = "noopener noreferrer" > TailwindCSS< / a > ,
< a class = "text-sky-400" href = "https://jekyllrb.com/" target = "_blank" rel = "noopener noreferrer" > Jekyll< / a > and
< a class = "text-sky-400" href = "https://heroicons.com/" > heroicons< / a > .
< / span >
< / footer >
< / body >
< / html >