explaingit

alsultaneo/2cup

Analysis updated 2026-05-18

5GoAudience · generalComplexity · 3/5LicenseSetup · easy

TLDR

A serverless, end-to-end encrypted peer-to-peer chat app for Windows with a retro Windows 95 style interface.

Mindmap

mindmap
  root((2cup Chat))
    What it does
      Peer to peer chat
      End to end encryption
      No central server
    Tech stack
      Go
      Fyne UI
      libp2p
    Use cases
      Room based chat
      Encrypted direct messages
      Connection diagnostics
    Audience
      Windows users
      Privacy minded chatters

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Chat with friends in a password-protected room without running a server.

USE CASE 2

Exchange end-to-end encrypted direct messages, photos, and voice notes.

USE CASE 3

Diagnose connection issues with the built-in network test screen.

USE CASE 4

Build the app from source with Go for a custom Windows deployment.

What is it built with?

GoFynelibp2p

How does it compare?

alsultaneo/2cupeternal-flame-ad/mh-z19geohot/erigon
Stars555
LanguageGoGoGo
Last pushed2019-03-312021-09-12
MaintenanceDormantDormant
Setup difficultyeasymoderatehard
Complexity3/52/54/5
Audiencegeneraldeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Not formally security audited, suitable for casual, low-stakes chat rather than sensitive communication.

MIT license: free to use, modify, and share.

In plain English

2cup Chat is a peer-to-peer chat application for Windows, built in Go with a deliberately retro Windows 95 style interface. There is no central server involved. Instead, the app finds other users directly over the internet using a shared peer discovery network, connecting straight to them when possible and falling back to relay methods when firewalls or restrictive networks get in the way. Every message is encrypted before it ever leaves your computer. The app offers two ways to chat. Join Chat lets you create or enter a room using a six digit code plus a password, and anyone with both can decrypt that room's messages, images, and voice notes. Messages mode is for one-to-one conversations: you register a local account with an email and password, which are stored only on your own device, and you get a permanent numeric ID plus a public and private key pair. You add friends by their ID and exchange encrypted text, photos, voice notes, and files, with delivery attempted directly first, then through a broader broadcast method, and finally through a store-and-forward relay if your friend is offline. Peer discovery and getting through difficult home network setups happen automatically using a distributed hash table and related peer-to-peer networking techniques, and any user whose connection is reachable from the internet can automatically help relay traffic for others stuck behind more restrictive routers. The app includes a built-in connection test screen that checks each part of the networking stack and explains likely causes when something is not working, such as a firewall blocking traffic. To run it, you need Windows 10 or 11, and building from source requires Go version 1.21 or newer with no separate C compiler needed. The project is upfront that it has not had a formal security audit and suggests using it for casual conversations rather than anything sensitive, since anyone who knows a room's code and password can decrypt that room's traffic. The project is released under the MIT license, so it can be used, modified, and shared freely.

Copy-paste prompts

Prompt 1
Help me build 2cup from source on Windows with Go.
Prompt 2
Explain how room code and password encryption works in 2cup.
Prompt 3
Walk me through registering an account for direct messages in 2cup.
Prompt 4
How does 2cup relay messages when a peer is behind a restrictive network?

Frequently asked questions

What is 2cup?

A serverless, end-to-end encrypted peer-to-peer chat app for Windows with a retro Windows 95 style interface.

What language is 2cup written in?

Mainly Go. The stack also includes Go, Fyne, libp2p.

What license does 2cup use?

MIT license: free to use, modify, and share.

How hard is 2cup to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is 2cup for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.