mirror of
https://git.sr.ht/~emerson/reflectionircd
synced 2025-04-13 09:59:52 +00:00
No description
src | ||
test | ||
.gitignore | ||
.tsconfig.json | ||
config.example.json | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
reflection.js | ||
reflection.key | ||
reflection.pem |
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
(IRCv3) 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 | 🟨 | ❌ | Show up as MXC links on IRC |
Channel joins | ❌ | ❌ | |
Channel parts | ❌ | ❌ | |
Channel kicks | ❌ | ❌ | |
Channel bans | ❌ | ❌ | |
Channel topics | ❌ | ❌ | |
Channel powers | ❌ | ❌ | |
Encrypted rooms | ❌ | ❌ | |
Message replies (IRCv3) | ❌ | ❌ | |
Message reactions (IRCv3) | ❌ | ❌ | |
Chat history (IRCv3) | ❌ | ❌ | |
Multiline messages (IRCv3) | ❌ | ❌ | |
Global display names (IRCv3) | ❌ | ❌ | |
Per-room display names (IRCv3) | ❌ | ❌ | |
Message editing/deletion (IRCv3) | ❌ | ❌ |
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.