Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/keithduncan/chatterbox
Chat message router
https://github.com/keithduncan/chatterbox
campfire chatterbox irc slack webhook
Last synced: 24 days ago
JSON representation
Chat message router
- Host: GitHub
- URL: https://github.com/keithduncan/chatterbox
- Owner: keithduncan
- License: mit
- Created: 2015-12-14T05:10:51.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-23T12:09:07.000Z (about 9 years ago)
- Last Synced: 2024-11-21T13:45:04.479Z (3 months ago)
- Topics: campfire, chatterbox, irc, slack, webhook
- Language: Haskell
- Size: 58.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chatterbox
Chatterbox is a chat message router, it allows your infrastructure to post
messages to topics and have them delivered to subscribers across multiple chat
platforms such as Campfire, Slack or IRC.# TODO
- [ ] Authentication Systems
- [ ] GitHub SHA1 HMAC for webhooks
- [ ] For everything else, something signature oriented rather than a transmitted shared secret (aka Basic Auth)
- [ ] asymmetric key-pair preferred over shared secret (aka HMAC)?
- [ ] ?
- Don't fall into the trap of trusting the given algorithm key per https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/The section on [verifying](https://tools.ietf.org/html/draft-cavage-http-signatures-05#section-2.5)
actually proposes you use the given algorithm. Instead the `keyId`
field should functionally determine the algorithm to use.I'm torn on whether the `algorithm` field should even exist, I like it
because it self-describes what the signature is, but I dislike it
because it is too likely an implementer will trust the field's value.- [ ] Define serialisation formats -> Message decodings
- [x] text/plain
- [ ] application/json
- [ ] text/html
- [ ] GitHub WebHook- [x] hworker implementation
- [ ] subscription management
- [ ] HTTP API
- [x] database storage
- [x] auto-expiring subscription of an adapter to a topic- [ ] run expire job periodically
- [x] database migrate executable
- [ ] chat adapters
- [ ] campfire
- [ ] slack
- [ ] irc- [ ] chatterbox-say
- [ ] command line client to the server side API