Parsee/README.MD
LDA 9e5e741989 [MOD] Do NOT JUST RANDOMLY BRIDGE PLUMBED MUCS
See README.MD for further thoughts that shall eventually be implemented.
Still need to deal with MUC/room "consent". PM'ing the MUC owner with a
form/using commands may be a nice course of action for that.
2024-07-14 12:01:07 +02:00

74 lines
2.9 KiB
Markdown

# Parsee - the jealous XMPP<=>Matrix bridge
<img src="https://img.shields.io/liberapay/receives/Parsee.svg?logo=liberapay"><br>
Parsee is a Matrix<=>XMPP bridge written in C99, with Cytoplasm, similar to Bifrost,
but it is NOT a drop-in replacment.
## Why?
### Naming
The name 'Parsee' is actually a reference to [Parsee Mizuhashi](https://en.touhouwiki.net/wiki/Parsee_Mizuhashi), a
"*bridge* princess".
### Reasoning (personal to LDA)
I hate Bifrost. I also wanted to dip my toes in XMPP, XML, and bridges a bit. Also, as a sister project to KappaChat,
this means that I can integrate Parsee with KappaChat however I wish it to be, which allows me to mess around with a
codebase I'm already familiar with.
### "Why not just use Matrix lol"
### "Why not just use XMPP lol"
These two having the same answer should be enough information. Also can I *just* have fun?
~~Also dependency bad.~~
## BUILDING
```sh
$ make # This generates a 'parsee' executable.
$
```
### DEPENDENCIES
Parsee tries to avoid dependencies aside from [Cytoplasm](https://git.telodendria.io/Telodendria/Cytoplasm).
## RUNNING
TODO
## DOCS
TODO
## TODOS
- Mess with Cytoplasm to make it have support for something like Berkeley DB as
an *optional* dependency. This should increase reliability and speed for anyone.
- Nesting might be an issue we'll need to deal with. libdb and Berkley DB
seem to lack support for them. If we can shove entries at specific indices,
we _might_ just manage to get some system that can at least emulate that,
and hopefully be reasonably faster than the filesystem, with some added
reliability.
- PROPER FUCKING AVATARS
XEP-0084 IS THE WORST PIECE OF SHIT KNOWN TO MAN. If any Jabberbros want to
look at terrible code/XML and suggest things to have *proper* avatar support,
I'm all in.
- Consider making room/MUC admins/owners be able to plumb instead of it being
restricted to Parsee admins, with permission from MUC owners, too
- Limiting to admins may be a way to "control" consent for both, but this is
only if Parsee admins are good-willed, which we must assume such statment to
be false by default.
- Look at XEPS-TBD.TXT for XEPs to be done
- Achievements
### Why?
> "[...] and it [BoVeX] has an achievement system, because another thing I don't like is
> when software will not acknowledge that you've reached an obscure error state, essentially
> outsmarting it."
- [Tom Murphy VII](http://tom7.org)
## DONATING/CONTRIBUTING
If you know things about XMPP or Matrix, yet aren't familiar with C99, or just
want to suggest a feature, you may open an issue.
Packaging Parsee (and Cytoplasm) for your specific platform might be a nice to have,
to make Parsee easier to setup and manage.
**(DON'T FOR NOW, THERE IS LITERALLY NOWHERE THIS GOES TO)**
You may also donate to [the LiberaPay](https://en.liberapay.com/Parsee), alongside
[Telodendria's](https://en.liberapay.com/Telodendria), as it is the project
currently maintaining Cytoplasm.