All Projects → adsr → Irslackd

adsr / Irslackd

Licence: apache-2.0
Self-hosted IRC gateway to Slack

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Irslackd

Localslackirc
IRC gateway for slack, running on localhost for one user
Stars: ✭ 84 (-34.37%)
Mutual labels:  slack, irc, irc-client
Thelounge
💬 ‎ Modern, responsive, cross-platform, self-hosted web IRC client
Stars: ✭ 4,618 (+3507.81%)
Mutual labels:  hacktoberfest, irc, irc-client
Kittehircclientlib
An IRC client library in Java
Stars: ✭ 116 (-9.37%)
Mutual labels:  hacktoberfest, irc, irc-client
Go Twitch Irc
go irc client for twitch.tv
Stars: ✭ 155 (+21.09%)
Mutual labels:  hacktoberfest, irc, irc-client
Irc Slack
IRC-to-Slack gateway
Stars: ✭ 123 (-3.91%)
Mutual labels:  slack, irc, irc-client
Marvin
The paranoid bot (framework)
Stars: ✭ 51 (-60.16%)
Mutual labels:  slack, irc
Girc
💣 girc is a flexible IRC library for Go 👌
Stars: ✭ 59 (-53.91%)
Mutual labels:  irc, irc-client
Fantasy Football Metrics Weekly Report
Command line application to create weekly reports (containing stats, metrics, and rankings) for Fantasy Football leagues on the following platforms: Yahoo, Fleaflicker, Sleeper, ESPN.
Stars: ✭ 62 (-51.56%)
Mutual labels:  hacktoberfest, slack
Auto
Generate releases based on semantic version labels on pull requests.
Stars: ✭ 1,120 (+775%)
Mutual labels:  hacktoberfest, slack
Busy Beaver
The Chicago Python Community Engagement Slack bot
Stars: ✭ 66 (-48.44%)
Mutual labels:  hacktoberfest, slack
Ex mustang
✨ A simple, clueless bot
Stars: ✭ 67 (-47.66%)
Mutual labels:  hacktoberfest, slack
Alectro
A terminal IRC client in Rust.
Stars: ✭ 47 (-63.28%)
Mutual labels:  irc, irc-client
Rocket.chat
The communications platform that puts data protection first.
Stars: ✭ 31,251 (+24314.84%)
Mutual labels:  hacktoberfest, slack
Rocket.chat.electron
Official OSX, Windows, and Linux Desktop Clients for Rocket.Chat
Stars: ✭ 1,108 (+765.63%)
Mutual labels:  hacktoberfest, slack
Irackbot
Bridge between Slack and IRC channels allowing message filtering and logging while keeping communication public
Stars: ✭ 25 (-80.47%)
Mutual labels:  slack, irc
Torpedo
Pluggable, multi-network asynchronous chat bot written in Go
Stars: ✭ 19 (-85.16%)
Mutual labels:  slack, irc
Lax
IRC client built with Electron & React
Stars: ✭ 95 (-25.78%)
Mutual labels:  hacktoberfest, irc
Irc
A simple go irc library meant to be a building block for other projects
Stars: ✭ 90 (-29.69%)
Mutual labels:  irc, irc-client
Rirc
A terminal IRC client in C
Stars: ✭ 115 (-10.16%)
Mutual labels:  irc, irc-client
Convos
Convos 👥 is the simplest way to use IRC in your browser
Stars: ✭ 789 (+516.41%)
Mutual labels:  irc, irc-client

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.

Build Status

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

Using docker-compose

  1. 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).

  2. Connect your IRC client to irslackd which listens on 127.0.0.1:6697. See: Configure your Slack account and IRC client

Manual

  1. Install Node >=8.x and npm. You can check your version of Node by running node --version.

  2. Clone irslackd:

    $ git clone https://github.com/adsr/irslackd.git
    $ cd irslackd
    $ npm install    # Fetch dependencies into local `node_modules/` directory
    
  3. 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.

  4. 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.

Configure your Slack account and IRC client

  1. Follow the link below to obtain an irslackd token for your Slack workspace:

    Authorize irslackd

    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

  2. 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.

  3. Repeat steps 1 and 2 for each Slack workspace you'd like to connect to.

  4. Enjoy a fresh IRC gateway experience.

Contribute

Tests

  • To run all tests: npm test
  • To run a single test, e.g.: npm test test_join

Related projects

irslackd Slack workspace

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].