irslackd
v1.0.2
Published
An IRC gateway to Slack
Downloads
12
Readme
irslackd
Slack ended IRC support on May 15, 2018. So, we built our own Slack-IRC gateway.
irslackd is actively developed and used daily on a 1000+ user Slack workspace.
Features
- TLS-encrypted IRCd
- Multiple Slack accounts/workspaces
- Channels, private channels, DMs, group DMs, threads
- Receive reactions, message edits, message deletes, attachments
- Proper en/decoding of @user, #channel, @team tags
Setup
Install Node >=8.x and npm. You can check your version of Node by running
node --version
.Clone irslackd:
$ git clone https://github.com/adsr/irslackd.git $ cd irslackd
Run
./bin/create_tls_key.sh
to create a TLS key and cert. This will put a private key and cert in~/.irslackd
. Note the fingerprint.Run irslackd:
$ npm install $ ./irslackd
By default irslackd listens on
127.0.0.1:6697
. Set the command line options-p <port>
and/or-a <address>
to change the listen address.Follow the link below to obtain an irslackd token for your Slack workspace:
Select the desired workspace in the dropdown in the upper right corner. Click 'Authorize', and copy the access token. It will look something like this:
xoxp-012345678901-012345678901-012345678901-0123456789abcdef0123456789abcdef
Connect to irslackd via your IRC client, e.g., WeeChat:
/server add irslackd_workspace localhost/6697 /set irc.server.irslackd_workspace.ssl on /set irc.server.irslackd_workspace.ssl_fingerprint fingerprint-from-step-3 /set irc.server.irslackd_workspace.password access-token-from-step-5 /connect irslackd_workspace
Check the wiki for more client configuration notes.
Repeat steps 5 and 6 for each Slack workspace you'd like to connect to.
Enjoy a fresh IRC gateway experience.
Contribute
- Add more client configuration notes.
- File bug reports and feature requests via Github issues.
- Feel free to submit PRs. Make sure to include tests.
Tests
- To run all tests:
npm test
- To run a single test, e.g.:
npm test test_join
Related projects
- https://github.com/ltworf/localslackirc (another gateway, Python)
- https://github.com/insomniacslk/irc-slack (another gateway, Go)
- https://github.com/wee-slack/wee-slack (a terminal client, WeeChat-based)
- https://github.com/erroneousboat/slack-term (a terminal client, Go)
- https://github.com/42wim/matterircd (an IRCd for Mattermost and Slack)
- https://github.com/dylex/slack-libpurple (Slack plugin for libpurple)
irslackd Slack workspace
- Feel free to join the irslackd Slack workspace for testing your irslackd setup.