aboutsummaryrefslogtreecommitdiffstats

hack.chat

hack.chat is a minimal, distraction-free, accountless, logless, disappearing chat service which is easily deployable as your own service. The current client comes bundled with LaTeX rendering provided by KaTeX and code syntax highlighting provided by highlight.js.

A list of software developed for the hack.chat framework can be found at the 3rd party software list repository. This includes bots, clients, docker containers, etc.

This is a backwards compatible continuation of the work by Andrew Belt. The server code has been updated to ES6 along with several new features including new commands and hot-reload of the commands/protocol. There is also documentation and a changelog.

Installation

Prerequisites

Developer Installation

  1. Clone the repository: git clone https://github.com/hack-chat/main.git
  2. Change the directory: cd main
  3. Install the dependencies: npm install
  4. Launch: npm start

    If you change the websocketPort option during the config setup then these changes will need to be reflected on line 60 of client.js.

Live Deployment Installation

See DEPLOY.md

Contributing

  • If you are modifying commands, make sure it is backwards compatible with the legacy client and you update the documentation accordingly.
  • Use the template to learn how to create new commands.
  • Use two space indents.
  • Name files in camelCase.
  • Scripts that do not default to strict mode (such as modules) must use the 'use strict' directive.

Credits

  • Marzavec - Initial work
  • MinusGix - Base updates
  • Neel Kamath - Base Documentation
  • Carlos Villavicencio - Syntax Highlighting Integration
  • OpSimple - Modules Added: dumb.js & speak.js
  • Andrew Belt, https://github.com/AndrewBelt, for original base work
  • wwandrew, for finding server flaws (including attack vectors) and submitting ~~incredibly detailed~~ bug reports
  • Everyone else who participated in this project.

License

This project is licensed under the WTFPL License.