2 items
Manual encrypted WebRTC peer-to-peer group chat. Group HandLink Chat is a browser extension for manual encrypted peer-to-peer group chat. Users create a chat invite, exchange offer and answer text manually, and then chat directly through WebRTC DataChannel. The extension supports multi-user chat, local message history, user mentions, sound alerts for new mentions, image messages from file or clipboard, clickable links, light and dark themes, and multiple interface languages. Messages are encrypted with the shared room secret from the invite. Chat history is stored locally in the browser. Image attachments are compressed locally and stored inside messages as base64/data URLs. Large encrypted payloads are sent in chunks so message history and image messages can sync reliably. The extension does not use a project-owned backend server, account system, analytics, advertising, payment processing, AI service, or remote code. Signaling is manual: users exchange invite, offer, and answer text themselves. WebRTC uses Google's public STUN server only for NAT traversal. ## How Connection Works 1. The first user enters a nickname and clicks `New Chat + Offer`. 2. The extension generates a key to send to another user. 3. The second user pastes this key into the accept field and clicks `Accept`. 4. The second user sends the generated answer back to the first user. 5. The first user pastes the answer and accepts it. 6. After the WebRTC channel opens, the chat window appears. To add another participant, a connected user clicks `Invite User`, sends the new key to the third user, and accepts that user's answer in the same manual way. ## Messages - Text messages are synchronized between participants and stored locally. - Links in text are displayed as clickable links, but remain plain text in history. - An image can be selected with the button next to the input field or pasted from the clipboard. - Supported formats: `PNG`, `JPEG`, and `WebP`. - One image is supported per message. - If the image is larger than `1.5 MB` after compression, sending is blocked with an error. ## Limitations - Signaling is manual: users exchange `invite + offer` and `answer` with each other themselves. - There is no built-in public discovery. - NAT traversal uses Google's public STUN server: `stun:stun.l.google.com:19302`. - History is stored locally in the user's browser, not on a server. - Disconnecting from a chat clears local messages for the current room.
May 29, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.