5e495579c2
Support display of a single pubsub node item; Update document README; Modularize code; |
||
---|---|---|
css | ||
img | ||
jabbercard | ||
photo | ||
template | ||
clients.toml | ||
LICENSE | ||
pyproject.toml | ||
README.md | ||
settings.toml | ||
systems.toml |
JabberCard
JabberCard (formerly FASI) is a "fancy and sleek invitation" system with addeitional features. https://schapps.woodpeckersnest.eu/jabbercard/
About
JabberCard is an HTML invite page for XMPP. The main purpose, is to provide an interface to share XMPP contacts via HTML browsers. It also provides an interface to explore XMPP server conferences, pubsub and other services.
Reasons for creating JabberCard
The main reasons for the realization of JabberCard are to:
- Add interactive capabilities, as well as vCard information;
- Create rapport with the viewers, by displaying vCard information, such as Full Name and Description or Note;
- Realize the beautiful simplicity of XMPP, so that more people would be motivated to utilize, install, serve, and develop XMPP software;
- Charm our "normie" friends, so called, by displaying an attractive contact HTML page, which they can also utilize;
- Utilize an invitation page, with XMPP capabilities, regardless to the software that powers an XMPP server;
- 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, which do not allow scripts, and, therefore, a server-side is essential for these ASCII type mediums.
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 journal articles (i.e. PubSub node items that are published as Atom Over XMPP).
Extended features
- Browse services;
- Explore JID and node items.
Other features
- Customization for specific brands (e.g. Conversations, Cheogram, monocles chat and yaxim);
- Dark mode;
- Dynamic background in accordance to the photo colors.
Technicalities
JabberCard is written in Python and utilizes Jinja2, FastAPI and Slixmpp.
JabberCard requires an XMPP account to work, it only needs an XMPP server.
Supported 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-0292: vCard4 Over XMPP
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
Configure
Copy file settings.toml
to ~/.config/jabbercard/
.
Copy directories css
, img
, and template
to ~/.local/share/jabbercard/
.
Copy files clients.toml
, and systems.toml
to ~/.local/share/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) for consulting and supervising the implementation of XEP-0292: vCard4 Over XMPP
-
Mr. Matija Šuklje (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 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 from Mr. Georg Lukas;
- mod_invite module for Prosody.