Web Console Chat
« tiếng Việt »
updated: 2023-04-24
Web Console Chat, short as WebCC is this installation guide and a
collection of patches to make sure existing XMPP
console applications are safe enough before serving them to the web with
ttyd
for your web-chat service.
The advantages of deploying WebCC are:
- Barebone stack with minimal dependencies.
- Same set of commands and features with XMPP console application.
- Run server-side - light load on browsers with fine grain control over your web chat services.
- Text-base - contents are relatively safer.
The disadvantages are:
- Text-base - no fancy graphics.
- Run server-side - cost of resources is also on server-side.
- Features depends on the console application.
- Doesn’t touch any of the popular web technology frameworks.
Everything below can be summarised in a single sentence: Create a
UNIX system user to run ttyd
with your patched console
application behind a reverse proxy.
+——————————————+———————————————————————————————————————————————————————————————————————————————+
┃ ┃ ┃
┃ CLIENT ┃ SERVER ┃
┃ ┃ ┃
+——————————————+———————————————————————————————————————————————————————————————————————————————+
┃ Browser ┃ Reverse Proxy | Web Console Chat | Init System | Operating System ┃
┃--------------┃-----------------+----------------------+-----------------|--------------------┃
┃ ┃ | | | ┃
┃ Chromium ┃ | | | ┃
┃ FireFox ┃ ··← Poezio / TTYD →·· | ┃
┃ TorBrowser ┃ · · | ┃ ~*~
┃ Surf →·········← Apache →····+·← Profanity / TTYD →·+···← SystemD ←······→ GNU/Linux ←·······→ INTERNET
┃ … ┃ Nginx · · OpenRC | OpenBSD ┃ ~*~
┃ ┃ Lighttpd ··← Mcabber / TTYD →·· Runit | Redox ┃
┃ ┃ HAProxy · · … | … ┃
┃ ┃ Caddy ··← lchat+sj / TTYD →·· | ┃
┃ ┃ … | … | | ┃
┃ ┃ | | | ┃
+——————————————+———————————————————————————————————————————————————————————————————————————————+
With endless possibilities of software and set-up, this guide can demonstrates only with a limited number. Please adapt and|or expand to suit your system.
All patches are in here.
Contact
Come hang out in MUC for this project: xmpp:webcc@hall.trung.fun?join
You can use WebCC to do that right here ↓