A simple IM (?) based on websocket, looks like ↓

hcServer.py is the server. It works with websocket_server/.
Install Node.js and npm first, then
cd nodejs_server
npm install
cd src
node app.js
Index.html works as interface, which also needs rsa.js (crypto support), hc-core.js and listener.js in folder "js".
And a HTTP server is necessary. Even though end-to-end encryption is supported since 2018.04.05, you'd better deploy it with TLS protection.
Python websocket server:
https://github.com/Pithikos/python-websocket-server
RSA in JavaScript:
https://github.com/wwwtyro/cryptico