diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d7d2fae --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +# Changelog + +## v0.1 - 2022-02-02 +- Initial beta release \ No newline at end of file diff --git a/README.md b/README.md index fbb3a9a..e1ff269 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ ReflectionIRCd is an IRCd that bridges 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, an inadequate amount of testing and error/bounds checking, several bugs, etc. +This is still in beta. There's `console.log`s all over the place, an inadequate amount of testing and error/bounds checking, several bugs, etc. -That said, it is usable for basic chatting. See the support matrix (pun intended) below for what it can do. +That said, it is usable for basic chatting; if you use a good IRC client, you won't have many problems. See the support matrix (pun intended) below for what it can do. The issue tracker is here: https://todo.sr.ht/~emerson/reflectionircd ## Highlights @@ -13,11 +13,26 @@ That said, it is usable for basic chatting. See the support matrix (pun intended - 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 +## Known major issues +- Encrypted channels don't work. You'll join the channel but won't be able to read any messages +- Homeservers must be available over HTTPS with a valid SSL cert. +- You can't PM individual users. + ## Notes for IRC users There's a few things "different" from a standard IRC network: - You can't PM users like normal. Direct messages are notated by the `&` channel prefix. Once joining channels is implemented, you can join the `&` channel and it will auto-invite the user. - In order to highlight users, you need to prefix their nick with an `@`, so `@emerson: hi`. Reflection automatically expands this to the user's MXID, so even though it's annoying, it's needed to stop inadvertent highlights for now. +- Only necessary IRC commands are implemented, it's not a full-featured IRC server. + +## 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 plus your server domain, separated by a `:` (so `access_token:matrix.org` if your server is matrix.org). Note this is the domain for `m.server`, not necessarily the homeserver domain. You can find this value by going to https://yourhomeserver.tld/.well-known/matrix/server. If your server is using port 443, you don't need to include the port. + +## Support +The main chat is `#reflectionircd` on Libera ([webchat](https://web.libera.chat/gamja/?channel=#reflectionircd)), which is available on Matrix as well at [`#reflectionircd:matrix.org`](https://matrix.to/#/#reflectionircd:matrix.org) ## FAQs @@ -76,7 +91,7 @@ Note that there are no PMs, because Matrix doesn't differentiate between DMs and 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 plus your server domain, separated by a `:` (so `access_token:matrix.org` if your server is matrix.org). Note this is the domain for `m.server`, not necessarily the homeserver domain. +Authentication is done via `SASL PLAIN`, the username is your mxid and the password is an access token from another session plus your server domain, separated by a `:` (so `access_token:matrix.org` if your server is matrix.org). Note this is the domain for `m.server`, not necessarily the homeserver domain. You can find this value by going to https://yourhomeserver.tld/.well-known/matrix/server. ## Support The main chat is `#reflectionircd` on Libera ([webchat](https://web.libera.chat/gamja/?channel=#reflectionircd)), which is available on Matrix as well at [`#reflectionircd:matrix.org`](https://matrix.to/#/#reflectionircd:matrix.org) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index cde944c..8ac6195 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "reflectionircd", - "version": "0.0.1", + "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "reflectionircd", - "version": "0.0.1", + "version": "0.1.0", "license": "GPL-3.0", "dependencies": { "axios": "^0.25.0" diff --git a/package.json b/package.json index 02cf59e..ef17769 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "reflectionircd", - "version": "0.0.1", + "version": "0.1.0", "description": "ircd gateway to Matrix", "main": "reflection.js", "type": "module", @@ -9,7 +9,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/reflectionircd/reflectionircd.git" + "url": "git+https://git.sr.ht/~emerson/reflectionircd" }, "author": "Emerson Veenstra", "license": "GPL-3.0",