2024-11-05 10:21:19 +01:00
|
|
|
# JabberCard
|
2024-10-07 19:02:41 +02:00
|
|
|
|
2024-11-05 10:21:19 +01:00
|
|
|
JabberCard (formerly FASI) is a "fancy and sleek invitation" system with
|
|
|
|
addeitional features. https://schapps.woodpeckersnest.eu/jabbercard/
|
2024-10-08 09:13:40 +02:00
|
|
|
|
|
|
|
## About
|
|
|
|
|
2024-11-05 10:21:19 +01:00
|
|
|
JabberCard is an HTML invite page for XMPP.
|
2024-10-08 09:13:40 +02:00
|
|
|
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.
|
|
|
|
|
2024-11-05 10:21:19 +01:00
|
|
|
### Reasons for creating JabberCard
|
2024-10-08 14:20:29 +02:00
|
|
|
|
2024-11-05 10:21:19 +01:00
|
|
|
The main reasons for the realization of JabberCard are to:
|
2024-10-08 14:20:29 +02:00
|
|
|
|
|
|
|
- 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;
|
2024-10-08 14:59:23 +02:00
|
|
|
- Realize the beautiful simplicity of XMPP, so that more people would be
|
|
|
|
motivated to utilize, install, serve, and develop XMPP software;
|
2024-10-08 14:20:29 +02:00
|
|
|
- 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.
|
2024-10-09 17:14:25 +02:00
|
|
|
- Extend support for Gopher and Gemini, which do not allow scripts, and,
|
|
|
|
therefore, a server-side is essential for these ASCII type mediums.
|
2024-10-08 14:20:29 +02:00
|
|
|
|
|
|
|
### 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).
|
|
|
|
|
2024-10-13 17:42:44 +02:00
|
|
|
### Extended features
|
2024-10-08 14:20:29 +02:00
|
|
|
|
|
|
|
- Browse services;
|
|
|
|
- Explore JID and node items.
|
|
|
|
|
|
|
|
### Other features
|
|
|
|
|
2024-10-09 17:14:25 +02:00
|
|
|
- Customization for specific brands (e.g. Conversations, Cheogram, monocles chat
|
|
|
|
and yaxim);
|
|
|
|
- Dark mode;
|
2024-10-08 14:20:29 +02:00
|
|
|
- Dynamic background in accordance to the photo colors.
|
|
|
|
|
|
|
|
## Technicalities
|
|
|
|
|
2024-11-05 10:21:19 +01:00
|
|
|
JabberCard is written in Python and utilizes Jinja2, FastAPI and Slixmpp.
|
2024-10-08 09:13:40 +02:00
|
|
|
|
2024-11-05 10:21:19 +01:00
|
|
|
JabberCard requires an XMPP account to work, it only needs an XMPP server.
|
2024-10-08 14:20:29 +02:00
|
|
|
|
2024-10-09 22:07:16 +02:00
|
|
|
## Supported features
|
2024-10-08 14:20:29 +02:00
|
|
|
|
2024-10-08 09:13:40 +02:00
|
|
|
- MUC
|
|
|
|
- Photo
|
|
|
|
- PubSub
|
|
|
|
- QR code
|
2024-10-08 14:20:29 +02:00
|
|
|
- Service Discovery
|
2024-10-08 09:13:40 +02:00
|
|
|
- vCard
|
|
|
|
|
2024-10-09 22:07:16 +02:00
|
|
|
## Supported XEP specifications
|
2024-10-08 14:20:29 +02:00
|
|
|
|
|
|
|
- XEP-0030: Service Discovery
|
|
|
|
- XEP-0045: Multi-User Chat
|
|
|
|
- XEP-0060: Publish-Subscribe
|
2024-11-05 10:21:19 +01:00
|
|
|
- XEP-0292: vCard4 Over XMPP
|
2024-10-08 14:20:29 +02:00
|
|
|
|
2024-11-17 16:30:38 +01:00
|
|
|
## Installation
|
2024-10-08 09:13:40 +02:00
|
|
|
|
2024-11-17 16:30:38 +01:00
|
|
|
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
|
2024-10-08 09:13:40 +02:00
|
|
|
|
|
|
|
```
|
2024-11-17 16:30:38 +01:00
|
|
|
$ 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.
|
2024-10-08 09:13:40 +02:00
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
AGPL-3.0-only
|
|
|
|
|
|
|
|
## Copyright
|
|
|
|
|
|
|
|
Schimon Jehudah Zachary 2024
|
2024-10-08 14:20:29 +02:00
|
|
|
|
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
|
|
|
|
2024-10-08 14:59:23 +02:00
|
|
|
## Thanks
|
|
|
|
|
2024-11-17 16:30:38 +01:00
|
|
|
A special thank you for Mr. Georg Lukas of [op-co.de](https://op-co.de) from
|
2024-10-09 17:14:25 +02:00
|
|
|
Germany, who has gracefully published a sophisticated client-side HTML
|
|
|
|
invitation page, and consequently exposed that idea to the founder of this
|
|
|
|
project.
|
2024-10-08 14:59:23 +02:00
|
|
|
|
|
|
|
## Similar Projects
|
2024-10-08 14:20:29 +02:00
|
|
|
|
|
|
|
- [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.
|