mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 15:05:11 +00:00
73 lines
3.1 KiB
Markdown
73 lines
3.1 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 LMDB 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.
|
|
- You can always concat paths, and search by prefix with LMDB. ~512 bytes
|
|
a key is more than enough. I'll just need to write a good abstraction layer.
|
|
- Get rid of the '?'-syntax and use another invalid Matrix char/valid XMPP char
|
|
('$'?) for escaped
|
|
|
|
- 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
|
|
- Manage MUC DMs in a reasonable manner. Thanks `@freeoffers4u:matrix.org` for being
|
|
a fucking annoyance and DMing an old Parsee semi-anon user for no clear reason.
|
|
|
|
## 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.
|