{"id":13601449,"url":"https://github.com/khlieng/dispatch","last_synced_at":"2025-04-04T08:08:45.988Z","repository":{"id":25934437,"uuid":"29375805","full_name":"khlieng/dispatch","owner":"khlieng","description":"Web-based IRC client in Go.","archived":false,"fork":false,"pushed_at":"2023-01-06T01:53:23.000Z","size":49723,"stargazers_count":642,"open_issues_count":39,"forks_count":27,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-28T07:07:52.352Z","etag":null,"topics":["chat","dispatch","go","golang","irc","irc-client","javascript","react","redux"],"latest_commit_sha":null,"homepage":"https://dispatch.khlieng.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khlieng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-17T01:33:58.000Z","updated_at":"2025-03-04T10:15:56.000Z","dependencies_parsed_at":"2023-01-14T03:45:21.050Z","dependency_job_id":null,"html_url":"https://github.com/khlieng/dispatch","commit_stats":null,"previous_names":["khlieng/name_pending"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlieng%2Fdispatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlieng%2Fdispatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlieng%2Fdispatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlieng%2Fdispatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khlieng","download_url":"https://codeload.github.com/khlieng/dispatch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142066,"owners_count":20890652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","dispatch","go","golang","irc","irc-client","javascript","react","redux"],"created_at":"2024-08-01T18:01:02.935Z","updated_at":"2025-04-04T08:08:45.968Z","avatar_url":"https://github.com/khlieng.png","language":"Go","readme":"# dispatch [![Build Status](https://travis-ci.com/khlieng/dispatch.svg?branch=master)](https://travis-ci.com/khlieng/dispatch)\n\n#### [Try it!](https://dispatch.khlieng.com)\n\n![Dispatch](https://khlieng.com/dispatch.png?1)\n\n### Features\n\n- Searchable history\n- Persistent connections\n- Multiple servers and users\n- Automatic HTTPS through Let's Encrypt\n- Single binary with no dependencies\n- DCC downloads\n- SASL\n- Client certificates\n\n## Usage\n\nThere is a few different ways of getting it:\n\n### 1. Binary\n\n- **[Windows (x64)](https://release.khlieng.com/khlieng/dispatch/windows_x64)**\n- **[macOS (x64)](https://release.khlieng.com/khlieng/dispatch/mac_x64)**\n- **[Linux (x64)](https://release.khlieng.com/khlieng/dispatch/linux_x64)**\n- [Other versions](https://github.com/khlieng/dispatch/releases)\n\n### 2. Go\n\nThis requires a [Go environment](http://golang.org/doc/install), version 1.11 or greater.\n\nFetch, compile and run dispatch:\n\n```bash\ngo get github.com/khlieng/dispatch\ndispatch\n```\n\nTo get some help run:\n\n```bash\ndispatch help\n```\n\n### 3. Docker\n\n```bash\ndocker run \\\n  -p \u003chttp port\u003e:80 \\\n  -p \u003chttps port\u003e:443 \\\n  -v \u003cpath\u003e:/data \\\n  --restart unless-stopped \\\n  -d khlieng/dispatch\n```\n\n## Build\n\n### Server\n\n```bash\ngo install\n```\n\n### Client\n\nThis requires [Node.js](https://nodejs.org) and [yarn](https://yarnpkg.com).\n\nFetch the dependencies:\n\n```bash\nGO111MODULE=off go get github.com/jteeuwen/go-bindata/...\nyarn global add gulp-cli\ncd client\nyarn\n```\n\nRun the build:\n\n```bash\ngulp build\n```\n\nThe server needs to be rebuilt to embed new client builds.\n\nFor development with hot reloading start the frontend:\n\n```bash\ngulp\n```\n\nAnd then the backend in a separate terminal:\n\n```bash\ndispatch --dev\n```\n\n## IRC Channel\n\n#dispatch @ irc.libera.chat\n\n## Libraries\n\nThe libraries this project is built with.\n\n### Server\n\n- [Bolt](https://github.com/etcd-io/bbolt)\n- [Bleve](https://github.com/blevesearch/bleve)\n- [Cobra](https://github.com/spf13/cobra)\n- [Viper](https://github.com/spf13/viper)\n- [CertMagic](https://github.com/mholt/certmagic)\n\n### Client\n\n- [React](https://github.com/facebook/react)\n- [Redux](https://github.com/reactjs/redux)\n- [Immer](https://github.com/mweststrate/immer)\n- [react-window](https://github.com/bvaughn/react-window)\n- [Lodash](https://github.com/lodash/lodash)\n\n## Big Thanks\n\nCross-browser Testing Platform and Open Source \u003c3 Provided by [Sauce Labs][homepage]\n\n[homepage]: https://saucelabs.com\n","funding_links":[],"categories":["Go","Software","JavaScript","Communication systems"],"sub_categories":["Communication - IRC","IRC"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhlieng%2Fdispatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhlieng%2Fdispatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhlieng%2Fdispatch/lists"}