- Notifications
You must be signed in to change notification settings - Fork23
self-hosted IRC gateway to Slack
License
adsr/irslackd
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Slack ended IRC support on May 15, 2018. So, we built our own Slack-IRCgateway.
irslackd is actively developed and used daily on a 1000+ user Slack workspace.
- 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
Clone irslackd and run docker-compose:
$ git clone https://github.com/adsr/irslackd.git$ docker-compose upRecommendation: 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 byrunning
node --version.Clone irslackd:
$ git clone https://github.com/adsr/irslackd.git$ cd irslackd$ npm install # Fetch dependencies into local `node_modules/` directoryRun
./bin/create_tls_key.shto create a TLS key and cert. This will puta private key and cert in~/.irslackd. Note the fingerprint.Run irslackd:
$ ./irslackdBy default irslackd listens on
127.0.0.1:6697. Set the command lineoptions-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-0123456789abcdef0123456789abcdefConnect 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_workspaceCheck the wiki for moreclient configuration notes.
Repeat steps 1 and 2 for each Slack workspace you'd like to connect to.
Enjoy a fresh IRC gateway experience.
- Add moreclient configuration notes.
- File bug reports and feature requests viaGithub issues.
- Feel free to submit PRs. Make sure to include tests.
- To run all tests:
npm test - To run a single test, e.g.:
npm test test_join
- 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)
- Feel free to join theirslackd Slack workspace for testing yourirslackd setup.
About
self-hosted IRC gateway to Slack
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors11
Uh oh!
There was an error while loading.Please reload this page.
