self-hosted IRC gateway to Slack
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.
Clone irslackd and run docker-compose:
$ git clone https://github.com/adsr/irslackd.git
$ docker-compose up
Recommendation: Watch docker-compose build output for the generated certificate's fingerprint (used later for verification).
Connect your IRC client to irslackd which listens on 127.0.0.1:6697
. See: Configure your Slack account and IRC client
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
$ npm install # Fetch dependencies into local `node_modules/` directory
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:
$ ./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 1 and 2 for each Slack workspace you'd like to connect to.
Enjoy a fresh IRC gateway experience.
npm test
npm test test_join