a minimal, distraction-free chat application

Overview

This repo is deprecated. Use https://github.com/hack-chat/main

hack.chat screenshot

Local install

Server

node v0.12 or higher is required to run the server.

  • git clone https://github.com/AndrewBelt/hack.chat.git
  • cd hack.chat
  • npm install
  • Copy config-sample.json to config.json and edit if needed.
  • npm start or node server.js

Client

  • cd client
  • npm install -g less jade http-server
  • make
  • http-server

Change the "frontpage" text in client.js to your liking, and go to http://127.0.0.1:8080.

Issues
  • Installing

    Installing

    I'm trying to install hack.chat on a ubuntu 14.04 vm and I can't seem to get it to work. I have installed git, curl, npm, nodejs, and nodes-legacy.

    when I run npm start I get this

    [email protected] start /root/hack.chat node server.js

    /root/hack.chat/server.js:60 for (var client of server.clients) { ^^ SyntaxError: Unexpected identifier at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:929:3 npm ERR! weird error 8 npm ERR! not ok code 0

    opened by josdmyer 21
  • Client cant connect to server

    Client cant connect to server

    i am trying to set this up locally i have the server on 0.0.0.0:6000 and the client on 0.0.0.0:8080 but when i open a channel on the client it loads and just stays there without showing the nickname window

    opened by 112RG 15
  • How to have TbotT on my channel?

    How to have TbotT on my channel?

    How to have TbotT on my channel?

    opened by johncentrus 12
  • About running hack.chat in docker based on alpine

    About running hack.chat in docker based on alpine

    Halo:) I have written a Dockerfile to build up a docker of Hack.Chat that includes both of server and client based on alpine. But I met a problem that when I access the address such as example.com/?test the only thing I can see is a black screen without the input box of NickName.Just like that https://vinga.cf/?test Would you please help me to solve this problem ? Here is my docker hub and github repo address. https://hub.docker.com/r/fanvinga/docker-hackchat https://github.com/fanvinga/docker-hackchat :-)

    opened by fanvinga 11
  • Salt Reuse + Hash Collisions

    Salt Reuse + Hash Collisions

    The Hash function you're using for your 6 char tripcodes is comically vulnerable.

    Salt Reuse:

    Attack to gain server-side salt:

    Generate 10 legit hashes yourself, which you will know the password (but not the salt) to.

    Brute forcefully generate salts until you find one which allows all 10 of your password hashes to resolve correctly.

    The attacker only needs to know that one doesn't work before skipping to the next possible salt.

    If your sysadmin fails to have a randomly generated salt, you can substitute brute-force for dictionary.

    Hash Collisions:

    Collisions alone nearly guarantee someone to guess every other user's trip after about 16 billion runs of the function.

    Simple Solution:

    Generate salt based on (username + config.salt). Also has issues, but at least now every user has a salt of their own.

    Good Solution:

    Generate a salt for each username and save it locally. Authenticate users properly, not by telling the end-user to read and remember a bunch of random characters for each user.

    Useful Information:

    https://crackstation.net/hashing-security.htm#salt

    opened by LandonPowell 9
  • Restricted Markdown

    Restricted Markdown

    Some restricted markdown formatting would allow messages with bold, emphasized and a few more:

    • Code blocks with syntax highlighting js var example = require('example');
    • Inline code blocks (example)

    and a few more, whereas a subset of the markdown syntax is restricted:

    • Title cases (#)
    • Tables (perhaps a feature too for mathematical illustration?)
    • Images (would be cool though)
    opened by fnky 8
  • prompt to choose a name wont appear

    prompt to choose a name wont appear

    im running a website that i want to run hack.chat, but when i go to a server, the prompt to login wont appear. if you want to see, cooler9711.com:8081/?server

    opened by the-ashh 8
  • added saving of multiple 'lastSent' messages

    added saving of multiple 'lastSent' messages

    arrow up & arrow down for scrolling through all previous sent messages

    opened by M4GNV5 7
  • Issues when installing

    Issues when installing

    Hello,

    I'm trying to install hack.chat on Ubuntu 16.04. Here is what I did:

    sudo apt-get install nodejs npm
    git clone https://github.com/AndrewBelt/hack.chat.git
    cd hack.chat
    npm install
    

    And here is what I've got:

    > [email protected] install /home/ben/hack.chat/node_modules/bufferutil
    > node-gyp rebuild
    
    make : on entre dans le répertoire « /home/ben/hack.chat/node_modules/bufferutil/build »
      CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
    In file included from ../src/bufferutil.cc:16:0:
    ../../nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’
     NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                             ^
    ../../nan/nan.h:256:25: note: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here
     NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                             ^
    ../../nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
         , node::smalloc::FreeCallback callback
                 ^
    ../../nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
         , node::smalloc::FreeCallback callback
                                       ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
    ../../nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
             v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                      ^
    ../../nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
             v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                                ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
    ../../nan/nan.h:672:67: error: no matching function for call to ‘New(v8::Isolate*, const char*&, uint32_t&)’
         return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                       ^
    In file included from ../src/bufferutil.cc:10:0:
    /usr/include/nodejs/src/node_buffer.h:31:40: note: candidate: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match>
     NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                            ^
    /usr/include/nodejs/src/node_buffer.h:31:40: note:   conversion of argument 3 would be ill-formed:
    In file included from ../src/bufferutil.cc:16:0:
    ../../nan/nan.h:672:67: error: invalid conversion from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’ [-fpermissive]
         return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                       ^
    In file included from ../src/bufferutil.cc:10:0:
    /usr/include/nodejs/src/node_buffer.h:43:40: note: candidate: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>
     NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                            ^
    /usr/include/nodejs/src/node_buffer.h:43:40: note:   conversion of argument 2 would be ill-formed:
    In file included from ../src/bufferutil.cc:16:0:
    ../../nan/nan.h:672:67: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
         return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                       ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
    ../../nan/nan.h:676:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
         return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                 ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
    ../../nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
         return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
                ^
    bufferutil.target.mk:92 : la recette pour la cible « Release/obj.target/bufferutil/src/bufferutil.o » a échouée
    make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Erreur 1
    make : on quitte le répertoire « /home/ben/hack.chat/node_modules/bufferutil/build »
    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:269:23)
    gyp ERR! stack     at emitTwo (events.js:87:13)
    gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Linux 4.4.0-36-generic
    gyp ERR! command "/usr/bin/nodejs" "/usr/bin/node-gyp" "rebuild"
    gyp ERR! cwd /home/ben/hack.chat/node_modules/bufferutil
    gyp ERR! node -v v4.2.6
    gyp ERR! node-gyp -v v3.0.3
    gyp ERR! not ok
    npm WARN install:[email protected] [email protected] install: `node-gyp rebuild`
    npm WARN install:[email protected] Exit status 1
    > [email protected] install /home/ben/hack.chat/node_modules/utf-8-validate
    > node-gyp rebuild
    
    make : on entre dans le répertoire « /home/ben/hack.chat/node_modules/utf-8-validate/build »
      CXX(target) Release/obj.target/validation/src/validation.o
    In file included from ../src/validation.cc:15:0:
    ../../nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’
     NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                             ^
    ../../nan/nan.h:256:25: note: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here
     NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                             ^
    ../../nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
         , node::smalloc::FreeCallback callback
                 ^
    ../../nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
         , node::smalloc::FreeCallback callback
                                       ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
    ../../nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
             v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                      ^
    ../../nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
             v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                                ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
    ../../nan/nan.h:672:67: error: no matching function for call to ‘New(v8::Isolate*, const char*&, uint32_t&)’
         return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                       ^
    In file included from ../src/validation.cc:10:0:
    /usr/include/nodejs/src/node_buffer.h:31:40: note: candidate: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match>
     NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                            ^
    /usr/include/nodejs/src/node_buffer.h:31:40: note:   conversion of argument 3 would be ill-formed:
    In file included from ../src/validation.cc:15:0:
    ../../nan/nan.h:672:67: error: invalid conversion from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’ [-fpermissive]
         return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                       ^
    In file included from ../src/validation.cc:10:0:
    /usr/include/nodejs/src/node_buffer.h:43:40: note: candidate: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>
     NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                            ^
    /usr/include/nodejs/src/node_buffer.h:43:40: note:   conversion of argument 2 would be ill-formed:
    In file included from ../src/validation.cc:15:0:
    ../../nan/nan.h:672:67: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
         return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                       ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
    ../../nan/nan.h:676:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
         return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                 ^
    ../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
    ../../nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
         return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
                ^
    validation.target.mk:92 : la recette pour la cible « Release/obj.target/validation/src/validation.o » a échouée
    make: *** [Release/obj.target/validation/src/validation.o] Erreur 1
    make : on quitte le répertoire « /home/ben/hack.chat/node_modules/utf-8-validate/build »
    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:269:23)
    gyp ERR! stack     at emitTwo (events.js:87:13)
    gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Linux 4.4.0-36-generic
    gyp ERR! command "/usr/bin/nodejs" "/usr/bin/node-gyp" "rebuild"
    gyp ERR! cwd /home/ben/hack.chat/node_modules/utf-8-validate
    gyp ERR! node -v v4.2.6
    gyp ERR! node-gyp -v v3.0.3
    gyp ERR! not ok
    npm WARN install:[email protected] [email protected] install: `node-gyp rebuild`
    npm WARN install:[email protected] Exit status 1
    [email protected] /home/ben/hack.chat
    └─┬ [email protected]
      ├── [email protected]
      └── [email protected]
    

    What am I doing wrong? Thanks for your help.

    PS: I tried installing nodejs and creating a symlink for nodejs, and also nodejs-legacy. However, that did not change the situation. I think the problem comes from somewhere else.

    opened by benji1000 7
  • Startup issues

    Startup issues

    I've upgraded nodejs to v.0.12.7, the server started once and then it wouldn't a second time, this is the error(s) it produced (this time);

    [email protected]:/usr/share/nginx/xaerolimit.net/hack.chat$ npm start

    [email protected] start /usr/share/nginx/xaerolimit.net/hack.chat node server.js

    Loaded config.json Started server on 54.152.16.73:6060 events.js:85 throw er; // Unhandled 'error' event ^ Error: listen EADDRNOTAVAIL at exports._errnoException (util.js:746:11) at Server._listen2 (net.js:1139:19) at listen (net.js:1182:10) at net.js:1280:9 at dns.js:85:18 at process._tickCallback (node.js:355:11) at Function.Module.runMain (module.js:503:11) at startup (node.js:129:16) at node.js:814:3

    npm ERR! Linux 3.13.0-44-generic npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start" npm ERR! node v0.12.7 npm ERR! npm v2.11.3 npm ERR! code ELIFECYCLE npm ERR! [email protected] start: node server.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] start script 'node server.js'. npm ERR! This is most likely a problem with the hack.chat package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node server.js npm ERR! You can get their info via: npm ERR! npm owner ls hack.chat npm ERR! There is likely additional logging output above.

    npm ERR! Please include the following file with any support request: npm ERR! /usr/share/nginx/xaerolimit.net/hack.chat/npm-debug.log [email protected]:/usr/share/nginx/xaerolimit.net/hack.chat$ npm owner ls hack.chat npm ERR! owner ls Couldn't get owner data hack.chat npm ERR! Linux 3.13.0-44-generic npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "owner" "ls" "hack.chat" npm ERR! node v0.12.7 npm ERR! npm v2.11.3 npm ERR! code E404

    npm ERR! 404 Not Found: hack.chat npm ERR! 404 npm ERR! 404 'hack.chat' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) npm ERR! 404 npm ERR! 404 Note that you can also install from a npm ERR! 404 tarball, folder, http url, or git url.

    npm ERR! Please include the following file with any support request: npm ERR! /usr/share/nginx/xaerolimit.net/hack.chat/npm-debug.log [email protected]:/usr/share/nginx/xaerolimit.net/hack.chat$

    opened by ravensorrow 7
  • What should I upgrade to?

    What should I upgrade to?

    I already install the latest version of nodejs and npm. But my localhost said that "Upgrade Required" Anyone give me a fix, Thanks.

    ucscreenshot20180401230142

    opened by axelroad 0
  • Installation in Windows 7.

    Installation in Windows 7.

    My Server installation is perfect. The problem starts in the Client installation. I use the command npm install -g less jade http-server, which runs successfully. When I run make (I installed make from mingw, so i use mingw32-make.exe), it gives an error of :

    E:\Test\hack.chat-master\client>mingw32-make.exe mkdir -p schemes lessc --global-var='name=chalk' scheme.less > schemes/chalk.css ParseError: Unrecognised input in E:\Test\hack.chat-master\client\scheme.less on line 1, column 1: 1 @'name: chalk'; 2

    Makefile:8: recipe for target 'schemes/chalk.css' failed mingw32-make.exe: *** [schemes/chalk.css] Error 1

    What am I doing wrong? Everything installs perfectly, but the error appears.

    capture

    opened by princenasario 1
  • Hack.chat stopped working

    Hack.chat stopped working

    Hack.chat website is not working

    opened by balarab 8
  • hack chat ionic app

    hack chat ionic app

    could this app source be highlighted on hack chat home page ?

    https://github.com/sevenOneHero/hack-chat-ionic

    https://play.google.com/store/apps/details?id=vinit.hack.chat&hl=en

    opened by vinitMundada 1
  • reconnect from different WiFi/unstable WiFi connection not handled very nice (Client side)

    reconnect from different WiFi/unstable WiFi connection not handled very nice (Client side)

    What I did: connected, changed the WiFi I used to connect, used creds I used before changing WiFi What happened: just was thrown to the "normal" mode, so where I would be texting, but wasn't able to d anything bc nick was taken What I expected: Some sort of recovery, maybe reopening the dialog to set the nick, but also tell to choose another nick.

    setup: Firefox 58.0.1 on Linux

    opened by Unip0rn 0
  • Notification when you friend yourself

    Notification when you friend yourself

    Just a notification that you can't friend yourself with a little humor

    opened by Storms-Engineering 0
  • go to http://127.0.0.1:8080.

    go to http://127.0.0.1:8080.

    Excuse me,it's nothing happened when go to http://127.0.0.1:8080. How to run this project by Intellij Idea? image

    I'm looking forward to your reply.

    opened by 347522582 6
  • Multi terminal problems

    Multi terminal problems

    PC and Mobile can't chat with eachother

    opened by hardmanhong 1
  • TypeError: socket._receiver.flush is not a function

    TypeError: socket._receiver.flush is not a function

    When i set the nickname and press enter, following error occurs.

    [email protected]:~$ cd hack.chat/ [email protected]:/home/chat/hack.chat$ node server.js Loaded config 'config.json' Started server on 0.0.0.0:6060 /home/chat/hack.chat/server.js:64 socket._receiver.flush(); ^

    TypeError: socket._receiver.flush is not a function at WebSocket. (/home/chat/hack.chat/server.js:64:21) at emitOne (events.js:115:13) at WebSocket.emit (events.js:210:7) at Receiver._receiver.onmessage (/home/chat/hack.chat/node_modules/ws/lib/WebSocket.js:146:47) at Receiver.dataMessage (/home/chat/hack.chat/node_modules/ws/lib/Receiver.js:389:14) at Receiver.getData (/home/chat/hack.chat/node_modules/ws/lib/Receiver.js:330:12) at Receiver.startLoop (/home/chat/hack.chat/node_modules/ws/lib/Receiver.js:165:16) at Receiver.add (/home/chat/hack.chat/node_modules/ws/lib/Receiver.js:139:10) at Socket._ultron.on (/home/chat/hack.chat/node_modules/ws/lib/WebSocket.js:142:22) at emitOne (events.js:115:13) [email protected]:/home/chat/hack.chat$

    [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.1 (stretch) Release: 9.1 Codename: stretch

    [email protected]:/home/chat/hack.chat$ node -v v8.4.0

    any idea what went wrong? Or what is missing?

    opened by cavebeat 5
  • HTTPS guide?

    HTTPS guide?

    I wanted to try and host one of those on a Raspberry Pi. I got everything to work as intended, but now I'm pretty clueless how to make it work over SSL. Has anyone managed to get this to work with Let's Encrypt? And if so... Any clues on how to do it?

    I've read bits about hosting the static files on Apache of nginx, but I have no idea how to even get started on that. Any help would be appreciated!

    opened by dennisjanssen 19
:speech_balloon: Real-time xmpp chat application with video calls, file transfer and encrypted communication.

JavaScript XMPP Client Real-time chat app. This app requires an external XMPP server (openfire, ejabberd etc.). ?? Features JSXC provides the followin

JavaScript XMPP Client 651 Nov 28, 2021
Zulip server and webapp - powerful open source team chat

Zulip overview Zulip is a powerful, open source group chat application that combines the immediacy of real-time chat with the productivity benefits of

Zulip 14.6k Nov 30, 2021
Self-hosted chat app for small teams

A self-hosted chat app for small teams built by Security Compass. Features and Stuff BYOS (bring your own server) Persistent messages Multiple rooms P

SD Elements 9.5k Dec 1, 2021
Mumble is an Open Source, low-latency, high quality voice chat software

Mumble - Open Source voice-chat software Mumble is an Open Source, low-latency and high-quality voice-chat program written on top of Qt and Opus. Ther

Mumble 4.4k Nov 24, 2021
Open-source live customer chat

Papercups Papercups is an open source live customer chat web app written in Elixir. We offer a hosted version at app.papercups.io. You can check out h

Papercups 4.5k Dec 1, 2021
Web-based XMPP/Jabber chat client written in JavaScript

Converse is a web based XMPP/Jabber chat client. You can either use it as a webchat app, or you can integrate it into your own website. It's 100% clie

Converse.js 2.7k Nov 30, 2021
:tv: P2P chat powered by the web.

Friends P2P chat powered by the Web. This project is alpha quality. You probably only want to use this if you like to send pull requests fixing things

MOOSE Team 3.1k Dec 1, 2021
Live Helper Chat - live support for your website. Featuring web and mobile apps, Voice & Video & ScreenShare. Supports Telegram, Twilio (whatsapp), Facebook messenger including building a bot.

Live helper chat It's an open-source powered application, which brings simplicity and usability in one place. With live helper chat you can bring live

Live Helper Chat 1.6k Nov 22, 2021
The extensible chat client.

WeeChat (Wee Enhanced Environment for Chat) is a free chat client, fast and light, designed for many operating systems. It is highly customizable and

WeeChat 2.3k Dec 1, 2021
JavaScript-based multi-user chat client for XMPP.

Note: This project is dead and not maintained anymore. Candy — a JavaScript-based multi-user chat client Visit the official project page: http://candy

Candy Chat 1.3k Nov 18, 2021
End-to-end encrypted instant web chat

Darkwire.io Simple encrypted web chat. Powered by socket.io, the web cryptography API. This project is an example of how client side encryption works

Darkwire 678 Nov 22, 2021
PHP Based Live Chat Aplication

KChat PHP Based Chat Application. Requirements PHP version >= 5.5 Required extensions : PDO_Mysql json Web Server Apache or Nginx MySQL 5 Installation

KChat 69 Nov 17, 2021
Ephemeral, encrypted, in-browser chat rooms

LeapChat LeapChat is an ephemeral chat application. LeapChat uses miniLock for challenge/response-based authentication. This app also enables users to

CrypTag 115 Nov 21, 2021
A chat server with OAuth2 authentication, persistent and searchable history, video and audio, markdown formatting, private and public rooms, stars, votes, embedded games, and many other features

A chat server with authentication, persistent and searchable history, rich markdown formatting, video, private rooms, conversation highlighting, plugi

Canop 501 Nov 19, 2021
Share sensitive info without leaving a trace in your chat logs or email accounts.

Keep secrets out of emails and chat logs. What is it? Shhh is a tiny Flask app to create encrypted secrets and share them securely with people. The go

Matthieu Petiteau 221 Nov 23, 2021
Peer-to-Peer Video Chat for Corporate LANs

Tuber-time Communications Peer-to-peer video chat that works. It's tuber-time! Features Video chat with up to 15 people (limited only by user interfac

Trail of Bits 341 Nov 26, 2021
Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.

Jitsi Meet - Secure, Simple and Scalable Video Conferences Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobr

Jitsi 17.2k Nov 30, 2021
Misago is fully featured modern forum application that is fast, scalable and responsive.

Misago Development Status: ?? Bananas ?? Misago aims to be complete, featured and modern forum solution that has no fear to say 'NO' to common and out

Rafał Pitoń 2.2k Nov 23, 2021
Mibew Messenger - open-source live support application

Mibew Messenger Mibew Messenger is an open-source live support application written in PHP and MySQL. It enables one-on-one chat assistance in real-tim

Mibew Messenger 435 Dec 1, 2021