FASI/README.md

104 lines
2.8 KiB
Markdown
Raw Normal View History

2024-10-07 19:02:41 +02:00
# FASI
Fast And Sleek Invite (FASI)
## About
FASI 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 FASI
The main reasons for the realization of FASI 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).
### Unintended 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
FASI is written in Python and utilizes Jinja2, FastAPI and Slixmpp.
FASI require an XMPP account to work, it only needs an XMPP server.
## Features
- MUC
- Photo
- PubSub
- QR code
- Service Discovery
- vCard
## XEP
- XEP-0030: Service Discovery
- XEP-0045: Multi-User Chat
- XEP-0054: vcard-temp
- XEP-0060: Publish-Subscribe
## Install
Use the following commands, to begin FASI.
```shell
git clone https://git.xmpp-it.net/sch/FASI
cd FASI/
python -m uvicorn fasi:app
```
## License
AGPL-3.0-only
## Copyright
Schimon Jehudah Zachary 2024
## 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.