43f285e008
CSS : Improve the design of actions bar; Python : Add multiple actions (URI Query Types).
103 lines
2.8 KiB
Markdown
103 lines
2.8 KiB
Markdown
# 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.
|
|
|
|
## Supported features
|
|
|
|
- MUC
|
|
- Photo
|
|
- PubSub
|
|
- QR code
|
|
- Service Discovery
|
|
- vCard
|
|
|
|
## Supported XEP specifications
|
|
|
|
- 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.
|