No description
Find a file
2021-12-07 13:46:23 -05:00
src makes cmodes static, add fields for privacy events 2021-12-07 13:46:23 -05:00
test add tsconfig and rawlogbot 2021-12-05 17:44:13 -05:00
.gitignore initial commit, moving things over from the old repo 2021-12-05 17:42:41 -05:00
.tsconfig.json add tsconfig and rawlogbot 2021-12-05 17:44:13 -05:00
config.example.json update README and remove lazyload 2021-12-07 08:12:44 -05:00
LICENSE initial commit, moving things over from the old repo 2021-12-05 17:42:41 -05:00
package-lock.json add axios 2021-12-05 20:07:25 -05:00
package.json add axios 2021-12-05 20:07:25 -05:00
README.md send topic changes to IRC, fixes #4 2021-12-07 12:15:03 -05:00
reflection.js initial commit, moving things over from the old repo 2021-12-05 17:42:41 -05:00
reflection.key initial commit, moving things over from the old repo 2021-12-05 17:42:41 -05:00
reflection.pem initial commit, moving things over from the old repo 2021-12-05 17:42:41 -05:00

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.logs 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 links on IRC
Channel joins
Channel parts
Channel kicks
Channel bans 🟨 Bans show up on IRC as kicks
Channel invites
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.