5eb695bc53
Originally I wanted the legacy layer to be a seperate module, allowing a server owner to remove legacy support by removing the module (for preformance). However, I didn't like the 39 thousand hooks that would be required and what this would do for latency. I dont like this alternative either though. /shrug Added channel helper functions. Added constants for warnings and errors. Started updating warning to have an id for i18l. Added legacy helper functions Moved the UAC module into the utility directory and renamed to _UAC. |
||
---|---|---|
.github | ||
client | ||
documentation | ||
server | ||
.editorconfig | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
CHANGELOG.md | ||
index.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
pm2.config.js | ||
README.md |
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
- node.js 8.10.0 or higher
- npm 5.7.1 or higher
Developer Installation
-
Clone the repository:
git clone https://github.com/hack-chat/main.git
-
Change the directory:
cd main
-
Install the dependencies:
npm install
-
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 detailedbug reports - Everyone else who participated in this project.
License
This project is licensed under the WTFPL License.