Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/privapps/gchat
end-to-end encrypted web group chat using web socket
https://github.com/privapps/gchat
backend-service chat communication encryption-decryption end-to-end-encryption frontend golang group-chat javascript messenger pubsub secure web websocket
Last synced: 3 days ago
JSON representation
end-to-end encrypted web group chat using web socket
- Host: GitHub
- URL: https://github.com/privapps/gchat
- Owner: privapps
- License: lgpl-2.1
- Created: 2024-03-27T16:00:07.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-03-28T19:58:19.000Z (7 months ago)
- Last Synced: 2024-10-17T08:01:51.444Z (19 days ago)
- Topics: backend-service, chat, communication, encryption-decryption, end-to-end-encryption, frontend, golang, group-chat, javascript, messenger, pubsub, secure, web, websocket
- Language: HTML
- Homepage: https://privapps.github.io/gchat/
- Size: 357 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Ad hoc E2E Encrypted Group Chat
### What
This project is a fully functional, minimalist, ad hoc, end-to-end encrypted web group chat. It uses websocket for all message delivery which is more reliable than WebRTC.### Why
At times, there's a need for private, anonymous group chats. Many existing applications with end-to-end encryption are overly complex. Conversely, simpler applications lack both end-to-end encryption and group functionality. Hence, I invested a few days to develop one myself. It primarily serves as a proof of concept.### How
The backend is implemented using WebSockets written in Golang. I made minimal modifications based on https://github.com/madeindra/golang-websocketOn the client side, I opted for handwritten, plain JavaScript, avoiding the use of complex frameworks.
### Demo
![alt text](./screenshot.gif)A live demo is at https://privapps.github.io/gchat/
### Alternative
* [My 1-on-1 e2e encryption chat using piping server](https://privapps.github.io/share/chat)
* [My 1-on-1 WebRTC chat with file sharing](https://privapps.github.io/share/)For a more completed robusted solution, I would recommand to use [Ergo](https://github.com/ergochat/ergo) as backend and [Kiwi](https://kiwiirc.com/) as front end. A low end 100 MB RAM server can handle thousands of users.
If you are a big fan of building up a robust websocket chat solution, take a look at [this tutorial](https://centrifugal.dev/docs/tutorial/intro)