JabberCard/README.md

198 lines
4.4 KiB
Markdown
Raw Normal View History

2024-11-05 10:21:19 +01:00
# JabberCard
2024-10-07 19:02:41 +02:00
2024-11-20 14:39:16 +01:00
> Your Online Jabber Identity
## Project page
gemini://woodpeckersnest.space/~schapps/jabbercard.gmi
2024-11-20 14:39:16 +01:00
https://schapps.woodpeckersnest.eu/jabbercard/
## About
2024-11-20 14:39:16 +01:00
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
2024-11-20 14:39:16 +01:00
* 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
2024-11-20 14:39:16 +01:00
* Browse services;
* Explore JID and node items.
### Other features
2024-11-20 14:39:16 +01:00
* Dark mode;
* Dynamic background in accordance to the photo colors;
* Further customization for specific brands.
2024-11-20 14:39:16 +01:00
### Supported XMPP features
2024-11-20 14:39:16 +01:00
* MUC
* Photo
* PubSub
* QR code
* Service Discovery
* vCard
2024-11-20 14:39:16 +01:00
### Supported XEP specifications
2024-11-20 14:39:16 +01:00
* 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
2024-11-20 14:39:16 +01:00
## Technicalities
2024-11-20 14:39:16 +01:00
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.
2024-11-20 14:39:16 +01:00
## 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.
2024-11-20 14:39:16 +01:00
### pip inside venv
```
$ python3 -m venv .venv
$ source .venv/bin/activate
```
2024-11-20 14:39:16 +01:00
#### Install
```
$ pip install git+https://git.xmpp-it.net/sch/JabberCard
```
2024-11-20 14:39:16 +01:00
### pipx
2024-11-20 14:39:16 +01:00
#### Install
```
$ pipx install git+https://git.xmpp-it.net/sch/JabberCard
```
2024-11-20 14:39:16 +01:00
#### Update
```
$ pipx reinstall jabbercard
```
```
$ pipx uninstall jabbercard
$ pipx install git+https://git.xmpp-it.net/sch/JabberCard
```
### Start
```
$ jabbercard
```
Open URL http://localhost:8000
## License
AGPL-3.0-only
## Copyright
Schimon Jehudah Zachary 2024
2024-11-05 10:21:19 +01:00
## Contributors
2024-11-05 10:25:49 +01:00
- Mr. Marvin Wißfeld ([larma.de](http://larma.de)) for consulting and
supervising the implementation of XEP-0292: vCard4 Over XMPP
2024-11-05 10:21:19 +01:00
2024-11-05 10:25:49 +01:00
- Mr. Matija Šuklje ([matija.suklje.name](https://matija.suklje.name)) for
proposing "JabberCard" as the name of this project.
2024-11-05 10:21:19 +01:00
## 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.