1
0
mirror of https://github.com/hack-chat/main.git synced 2024-03-22 13:20:33 +08:00
a minimal, distraction-free chat application
Go to file
2018-05-18 11:08:50 +05:30
client Attempt 1 2018-05-18 11:05:53 +05:30
server Prevent fucking shit up 2018-05-13 16:37:56 +05:30
.gitignore Flatten 2018-05-13 16:09:55 +05:30
CHANGELOG.md misc server changes and new modules 2018-04-28 22:29:46 -07:00
DOCUMENTATION.md Add initial connection documentation 2018-05-14 14:19:29 +05:30
LICENSE Add license as a file in the repo as GitHub's documentation 2018-05-11 19:33:08 +05:30
package-lock.json Attempt 1 2018-05-18 11:05:53 +05:30
package.json Flatten 2018-05-13 16:09:55 +05:30
README.md Attempt 1 2018-05-18 11:05:53 +05:30
templateCommand.js Attempt 2 2018-05-18 11:08:50 +05:30

hack.chat

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

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

Installing

  1. Clone the repository: git clone https://github.com/hack-chat/main.git

  2. Change the directory: cd main

  3. Install the dependencies using a package manager of your choice:

    • npm: npm install
    • yarn: yarn install
  4. Configure: node server/main.js

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

Usage

  1. cd into the repository: cd main

  2. Start the server with a process manager. For example, with PM2: pm2 start server/main.js --name HackChat

  3. Launch: client/index.html

  4. (OPTIONAL) If you want to deploy your hack.chat instance to a server, push everything except the node_modules directory and install the dependencies using a package manager of your choice:

    • npm: npm install
    • yarn: yarn install

    You can now run start the server software with a process manager. The client code will need to be copied into your http server directory. If you plan on using SSL to serve the client; you will need to use a reverse proxy, as TLS is not natively supported by the hack.chat server software (this may change in future releases).

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

License

This project is licensed under the WTFPL License.