mirror of
https://git.sr.ht/~emerson/reflectionircd
synced 2025-08-05 16:59:10 +00:00
46 lines
No EOL
1.9 KiB
Markdown
46 lines
No EOL
1.9 KiB
Markdown
# ReflectionIRCd
|
|
|
|
ReflectionIRCd is an IRCd that interfaces with Matrix, allowing you to use an IRC client to chat on Matrix.
|
|
|
|
This is **very much** not production-ready yet. There's `console.log`s all over the place, no testing or error checking, lots of bugs, etc.
|
|
That said, it is usable for basic chatting.
|
|
|
|
## Highlights
|
|
|
|
- IRC first: The goal is for modern IRC clients to have feature parity with any other Matrix client
|
|
- Standalone: Uses the Client-Server API, so you can use it with any homeserver
|
|
- Built-in bouncer: Multiple IRC clients can be authenticated to a Matrix user
|
|
- Multi-user: Log in to multiple Matrix users at the same time
|
|
|
|
## Feature support
|
|
|
|
✅ - Fully supported
|
|
🟨 - Partially supported, see notes
|
|
❌ - Not implemented yet
|
|
|
|
<small>(IRCv3)</small> denotes IRC features that might not be available in all clients
|
|
|
|
| Name | M->I | I->M | Notes |
|
|
| ---- | :--: | :--: | ----- |
|
|
| text, notice, emote messages | ❌ | ❌ ||
|
|
| image, file, audio, video messages | ❌ | ❌ ||
|
|
| Channel joins | ❌ | ❌ ||
|
|
| Channel parts | ❌ | ❌ ||
|
|
| Channel kicks | ❌ | ❌ ||
|
|
| Channel bans | ❌ | ❌ ||
|
|
| Channel topics | ❌ | ❌ ||
|
|
| Channel powers | ❌ | ❌ ||
|
|
| Encrypted rooms | ❌ | ❌ ||
|
|
| Message replies <small>(IRCv3)</small> | ❌ | ❌ ||
|
|
| Message reactions <small>(IRCv3)</small> | ❌ | ❌ ||
|
|
| Chat history <small>(IRCv3)</small> | ❌ | ❌ ||
|
|
| Multiline messages <small>(IRCv3)</small> | ❌ | ❌ ||
|
|
| Global display names <small>(IRCv3)</small> | ❌ | ❌ ||
|
|
| Per-room display names <small>(IRCv3)</small> | ❌ | ❌ ||
|
|
| Message editing/deletion <small>(IRCv3)</small> | ❌ | ❌ ||
|
|
|
|
## Running
|
|
Copy `config.example.json` to `config.json`, edit the values if needed, then `npm run build` and then `node reflection.js` to start it
|
|
|
|
## Authentication
|
|
Authentication is done via `SASL PLAIN`, the username is your mxid and the password is an access token from another session. |