195 lines
4.4 KiB
Markdown
195 lines
4.4 KiB
Markdown
# JabberCard
|
|
|
|
> Your Online Jabber Identity
|
|
|
|
## Project page
|
|
|
|
gemini://woodpeckersnest.space/~schapps/jabbercard.gmi
|
|
https://schapps.woodpeckersnest.eu/jabbercard/
|
|
|
|
## About
|
|
|
|
JabberCard (previously YOJI, and formerly FASI) is a "fancy and sleek invitation"
|
|
system with additional features.
|
|
|
|
It is primarily an HTML invitation page for XMPP, which allows to present XMPP profiles as
|
|
fancy HTML pages.
|
|
|
|
The main purpose, is to provide an interface to share and link to XMPP contacts
|
|
and group chats via HTML browsers.
|
|
|
|
It also provides interfaces to view conference messages and PubSub posts, and
|
|
to explore XMPP servers, PubSub nodes and other services and entities.
|
|
|
|
## Motives for creating JabberCard
|
|
|
|
The main motives for the realization of JabberCard are to:
|
|
|
|
* Create rapport with the viewers;
|
|
> By displaying vCard information, such as Full Name and Description or Note;
|
|
|
|
* Charm our "normie" friends, so called;
|
|
> By displaying an attractive contact HTML page, which they can also utilize;
|
|
|
|
* Utilize an invitation page with dynamic XMPP capabilities;
|
|
> Regardless to the software that powers an XMPP server;
|
|
|
|
* Realize the beautiful simplicity of XMPP;
|
|
> Exposing the uniform structure of XMPP would cause to people to be motivated
|
|
> to utilize, install, serve, and develop XMPP software;
|
|
|
|
* Realize that HTTP is obsolete and should be treated as an optional publishing mean;
|
|
> Because anything that HTTP offers, is already possible with XMPP, since a
|
|
> couple of decades ago.
|
|
|
|
* Extend support for Gopher and Gemini;
|
|
> Gopher and Gemini do not allow scripts, and, therefore, a server-side is
|
|
> essential for these type of mediums.
|
|
|
|
## Features
|
|
|
|
The vatious features of JabberCard.
|
|
|
|
### Special features
|
|
|
|
* Fetch vCards and photos;
|
|
* Indicate of available conferences, nodes and services;
|
|
* Retrieve number of conferences, nodes, participants, node items and services;
|
|
* Preview recent conference messages;
|
|
* View PubSub journal articles, that are published as Atom Over XMPP.
|
|
|
|
### Extended features
|
|
|
|
* Browse services;
|
|
* Explore JID and node items.
|
|
|
|
### Other features
|
|
|
|
* Dark mode;
|
|
* Dynamic background in accordance to the photo colors;
|
|
* Further customization for specific brands.
|
|
|
|
### Supported XMPP features
|
|
|
|
* MUC
|
|
* Photo
|
|
* PubSub
|
|
* QR code
|
|
* Service Discovery
|
|
* vCard
|
|
|
|
### Supported XEP specifications
|
|
|
|
* XEP-0030: Service Discovery
|
|
* XEP-0045: Multi-User Chat
|
|
* XEP-0060: Publish-Subscribe
|
|
* XEP-0277: Journaling Over XMPP
|
|
* XEP-0292: vCard4 Over XMPP
|
|
* XEP-0472: PubSub Social Feed
|
|
|
|
## Technicalities
|
|
|
|
JabberCard is written in Python and utilizes Jinja2, FastAPI and Slixmpp, and it
|
|
only requires an XMPP account to work.
|
|
|
|
## Target clients
|
|
|
|
JabberCard is offered for free, and it was made due to urgency and necessity
|
|
(reasons not to be disclosed in public), and is intended to anyone who is
|
|
deploying XMPP services.
|
|
|
|
* aTalk
|
|
* blabber.im
|
|
* Conversations
|
|
* Cheogram
|
|
* Dino
|
|
* Draugr.de
|
|
* GoodBytes
|
|
* Ignite Realtime
|
|
* Isode
|
|
* Kaidan
|
|
* monocles chat
|
|
* Moxxy
|
|
* Openfire
|
|
* ProcessOne
|
|
* Tigase
|
|
* WPN
|
|
* yaxim
|
|
* ... and any branded XMPP service.
|
|
|
|
## Movim
|
|
|
|
If you have a [Movim](https://movim.eu) instance, then you probably do not need
|
|
JabberCard.
|
|
|
|
## Installation
|
|
|
|
It is possible to install JabberCard using pip and pipx.
|
|
|
|
### pip inside venv
|
|
|
|
```
|
|
$ python3 -m venv .venv
|
|
$ source .venv/bin/activate
|
|
```
|
|
|
|
#### Install
|
|
|
|
```
|
|
$ pip install git+https://git.xmpp-it.net/sch/JabberCard
|
|
```
|
|
|
|
### pipx
|
|
|
|
#### Install
|
|
|
|
```
|
|
$ pipx install git+https://git.xmpp-it.net/sch/JabberCard
|
|
```
|
|
|
|
#### Update
|
|
|
|
```
|
|
$ pipx reinstall jabbercard
|
|
```
|
|
|
|
```
|
|
$ pipx uninstall jabbercard
|
|
$ pipx install git+https://git.xmpp-it.net/sch/JabberCard
|
|
```
|
|
|
|
### Start
|
|
|
|
```
|
|
$ jabbercard
|
|
```
|
|
|
|
Open URL http://localhost:8000 and connect with your Jabber ID.
|
|
|
|
## License
|
|
|
|
AGPL-3.0-only
|
|
|
|
## Copyright
|
|
|
|
Schimon Jehudah Zachary 2024
|
|
|
|
## Contributors
|
|
|
|
- Mr. Marvin Wißfeld ([larma.de](http://larma.de)) for consulting and
|
|
supervising the implementation of XEP-0292: vCard4 Over XMPP
|
|
|
|
- Mr. Matija Šuklje ([matija.suklje.name](https://matija.suklje.name)) for
|
|
proposing "JabberCard" as the name of this project.
|
|
|
|
## Thanks
|
|
|
|
A special thank you for Mr. Georg Lukas of [op-co.de](https://op-co.de) from
|
|
Germany, who has gracefully published a sophisticated client-side HTML
|
|
invitation page, and consequently exposed that idea to the founder of this
|
|
project.
|
|
|
|
## Similar Projects
|
|
|
|
- [Easy XMPP Invitation Landing Page](https://github.com/modernxmpp/easy-xmpp-invitation) from Mr. Georg Lukas;
|
|
- [mod_invite](https://modules.prosody.im/mod_invite.html) module for Prosody.
|