Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/khlieng/dispatch
Web-based IRC client in Go.
https://github.com/khlieng/dispatch
chat dispatch go golang irc irc-client javascript react redux
Last synced: about 23 hours ago
JSON representation
Web-based IRC client in Go.
- Host: GitHub
- URL: https://github.com/khlieng/dispatch
- Owner: khlieng
- License: mit
- Created: 2015-01-17T01:33:58.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T01:53:23.000Z (almost 2 years ago)
- Last Synced: 2024-11-22T04:04:03.215Z (20 days ago)
- Topics: chat, dispatch, go, golang, irc, irc-client, javascript, react, redux
- Language: Go
- Homepage: https://dispatch.khlieng.com
- Size: 47.4 MB
- Stars: 642
- Watchers: 10
- Forks: 30
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - khlieng/dispatch - Web-based IRC client in Go. (Go)
- awesome - dispatch - Web-based IRC client in Go. (JavaScript)
README
# dispatch [![Build Status](https://travis-ci.com/khlieng/dispatch.svg?branch=master)](https://travis-ci.com/khlieng/dispatch)
#### [Try it!](https://dispatch.khlieng.com)
![Dispatch](https://khlieng.com/dispatch.png?1)
### Features
- Searchable history
- Persistent connections
- Multiple servers and users
- Automatic HTTPS through Let's Encrypt
- Single binary with no dependencies
- DCC downloads
- SASL
- Client certificates## Usage
There is a few different ways of getting it:
### 1. Binary
- **[Windows (x64)](https://release.khlieng.com/khlieng/dispatch/windows_x64)**
- **[macOS (x64)](https://release.khlieng.com/khlieng/dispatch/mac_x64)**
- **[Linux (x64)](https://release.khlieng.com/khlieng/dispatch/linux_x64)**
- [Other versions](https://github.com/khlieng/dispatch/releases)### 2. Go
This requires a [Go environment](http://golang.org/doc/install), version 1.11 or greater.
Fetch, compile and run dispatch:
```bash
go get github.com/khlieng/dispatch
dispatch
```To get some help run:
```bash
dispatch help
```### 3. Docker
```bash
docker run \
-p :80 \
-p :443 \
-v :/data \
--restart unless-stopped \
-d khlieng/dispatch
```## Build
### Server
```bash
go install
```### Client
This requires [Node.js](https://nodejs.org) and [yarn](https://yarnpkg.com).
Fetch the dependencies:
```bash
GO111MODULE=off go get github.com/jteeuwen/go-bindata/...
yarn global add gulp-cli
cd client
yarn
```Run the build:
```bash
gulp build
```The server needs to be rebuilt to embed new client builds.
For development with hot reloading start the frontend:
```bash
gulp
```And then the backend in a separate terminal:
```bash
dispatch --dev
```## IRC Channel
#dispatch @ irc.libera.chat
## Libraries
The libraries this project is built with.
### Server
- [Bolt](https://github.com/etcd-io/bbolt)
- [Bleve](https://github.com/blevesearch/bleve)
- [Cobra](https://github.com/spf13/cobra)
- [Viper](https://github.com/spf13/viper)
- [CertMagic](https://github.com/mholt/certmagic)### Client
- [React](https://github.com/facebook/react)
- [Redux](https://github.com/reactjs/redux)
- [Immer](https://github.com/mweststrate/immer)
- [react-window](https://github.com/bvaughn/react-window)
- [Lodash](https://github.com/lodash/lodash)## Big Thanks
Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][homepage]
[homepage]: https://saucelabs.com