2015-12-11 03:35:48 +00:00
|
|
|
# dispatch [![Build Status](https://travis-ci.org/khlieng/dispatch.svg?branch=master)](https://travis-ci.org/khlieng/dispatch)
|
2015-03-04 17:41:25 +00:00
|
|
|
|
2017-03-16 21:50:07 +00:00
|
|
|
#### [Try it!](https://dispatch.khlieng.com)
|
2015-06-04 22:04:34 +00:00
|
|
|
|
2018-10-06 23:15:09 +00:00
|
|
|
![Dispatch](https://khlieng.com/dispatch.png?1)
|
2016-01-20 00:09:11 +00:00
|
|
|
|
2015-06-04 22:04:34 +00:00
|
|
|
### Features
|
2018-11-10 11:56:31 +00:00
|
|
|
|
|
|
|
- Searchable history
|
|
|
|
- Persistent connections
|
|
|
|
- Multiple servers and users
|
|
|
|
- Automatic HTTPS through Let's Encrypt
|
2020-05-19 08:48:54 +00:00
|
|
|
- Single binary with no dependencies
|
|
|
|
- DCC downloads
|
2018-11-10 11:56:31 +00:00
|
|
|
- Client certificates
|
2015-05-29 00:55:28 +00:00
|
|
|
|
|
|
|
## Usage
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-06-04 22:04:34 +00:00
|
|
|
There is a few different ways of getting it:
|
2015-05-29 00:55:28 +00:00
|
|
|
|
2016-01-19 23:31:47 +00:00
|
|
|
### 1. Binary
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2018-12-02 10:31:35 +00:00
|
|
|
- **[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)**
|
2016-01-19 23:31:47 +00:00
|
|
|
- [Other versions](https://github.com/khlieng/dispatch/releases)
|
2015-05-29 00:55:28 +00:00
|
|
|
|
2016-01-19 23:31:47 +00:00
|
|
|
### 2. Go
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2018-10-06 23:27:26 +00:00
|
|
|
This requires a [Go environment](http://golang.org/doc/install), version 1.10 or greater.
|
2016-03-01 01:04:56 +00:00
|
|
|
|
|
|
|
Fetch, compile and run dispatch:
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-03-04 17:41:25 +00:00
|
|
|
```bash
|
2015-12-11 03:35:48 +00:00
|
|
|
go get github.com/khlieng/dispatch
|
|
|
|
dispatch
|
2015-03-04 17:41:25 +00:00
|
|
|
```
|
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
To get some help run:
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-04-22 22:44:40 +00:00
|
|
|
```bash
|
2015-12-11 03:35:48 +00:00
|
|
|
dispatch help
|
2015-04-22 22:44:40 +00:00
|
|
|
```
|
|
|
|
|
2016-01-19 23:31:47 +00:00
|
|
|
### 3. Docker
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
```bash
|
2016-01-04 20:28:35 +00:00
|
|
|
docker run -p <http port>:80 -p <https port>:443 -v <path>:/data khlieng/dispatch
|
2015-05-29 00:55:28 +00:00
|
|
|
```
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
## Build
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
### Server
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-03-04 17:41:25 +00:00
|
|
|
```bash
|
2015-04-22 22:44:40 +00:00
|
|
|
go install
|
2015-03-04 17:41:25 +00:00
|
|
|
```
|
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
### Client
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2018-05-16 01:54:19 +00:00
|
|
|
This requires [Node.js](https://nodejs.org) and [yarn](https://yarnpkg.com).
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
Fetch the dependencies:
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-03-04 17:41:25 +00:00
|
|
|
```bash
|
2020-04-20 00:07:12 +00:00
|
|
|
GO111MODULE=off go get github.com/jteeuwen/go-bindata/...
|
2020-04-24 01:04:46 +00:00
|
|
|
yarn global add gulp-cli
|
2020-04-20 00:15:57 +00:00
|
|
|
cd client
|
2018-05-16 01:54:19 +00:00
|
|
|
yarn
|
2015-05-29 00:55:28 +00:00
|
|
|
```
|
2015-04-26 22:45:49 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
Run the build:
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-05-29 00:55:28 +00:00
|
|
|
```bash
|
2015-12-28 23:34:32 +00:00
|
|
|
gulp build
|
2015-05-29 00:55:28 +00:00
|
|
|
```
|
2015-04-22 22:44:40 +00:00
|
|
|
|
2018-05-16 01:54:19 +00:00
|
|
|
The server needs to be rebuilt to embed new client builds.
|
2015-12-28 23:34:32 +00:00
|
|
|
|
2018-10-31 08:49:41 +00:00
|
|
|
For development with hot reloading start the frontend:
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2015-12-28 23:34:32 +00:00
|
|
|
```bash
|
|
|
|
gulp
|
2018-10-31 08:49:41 +00:00
|
|
|
```
|
2018-11-10 11:56:31 +00:00
|
|
|
|
|
|
|
And then the backend in a separate terminal:
|
|
|
|
|
2018-10-31 08:49:41 +00:00
|
|
|
```bash
|
2016-01-25 05:01:40 +00:00
|
|
|
dispatch --dev
|
2015-12-28 23:34:32 +00:00
|
|
|
```
|
2016-01-18 02:13:52 +00:00
|
|
|
|
|
|
|
## Libraries
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2016-01-18 02:13:52 +00:00
|
|
|
The libraries this project is built with.
|
|
|
|
|
|
|
|
### Server
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2020-04-22 23:06:36 +00:00
|
|
|
- [Bolt](https://github.com/etcd-io/bbolt)
|
2016-01-18 02:13:52 +00:00
|
|
|
- [Bleve](https://github.com/blevesearch/bleve)
|
|
|
|
- [Cobra](https://github.com/spf13/cobra)
|
|
|
|
- [Viper](https://github.com/spf13/viper)
|
2018-12-16 11:19:16 +00:00
|
|
|
- [CertMagic](https://github.com/mholt/certmagic)
|
2016-01-18 02:13:52 +00:00
|
|
|
|
|
|
|
### Client
|
2018-11-10 11:56:31 +00:00
|
|
|
|
2016-01-18 02:13:52 +00:00
|
|
|
- [React](https://github.com/facebook/react)
|
2017-03-27 21:42:27 +00:00
|
|
|
- [Redux](https://github.com/reactjs/redux)
|
2018-04-26 19:37:58 +00:00
|
|
|
- [Immer](https://github.com/mweststrate/immer)
|
2018-11-10 11:56:31 +00:00
|
|
|
- [react-window](https://github.com/bvaughn/react-window)
|
2016-01-18 02:13:52 +00:00
|
|
|
- [Lodash](https://github.com/lodash/lodash)
|
2018-05-30 02:42:32 +00:00
|
|
|
|
|
|
|
## Big Thanks
|
|
|
|
|
|
|
|
Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][homepage]
|
|
|
|
|
|
|
|
[homepage]: https://saucelabs.com
|