Peer-to-peer, end-to-end encrypted voice, video and text chat. Spaces, voice rooms, DMs and screen sharing, with no phone number, email or password.
翻譯準備中
正在載入完整 README。
檢視完整 README ↗Peer-to-peer, end-to-end encrypted voice, video and text chat. Hang out like on Discord or TeamSpeak (spaces, text channels, voice rooms, friends, DMs, calls, screen sharing) with the privacy of Signal: your voice, video and messages go only between the people in the conversation. Servers never see them.
# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/pwalda/crocodile/main/scripts/install.sh | sh
# Windows (PowerShell)
irm https://raw.githubusercontent.com/pwalda/crocodile/main/scripts/install.ps1 | iex
Or download the installer for your system from
Releases (.exe, .dmg,
.AppImage / .deb / .rpm). There is nothing to configure. Until the builds
are code-signed, browser downloads show a one-time warning; see
docs/DISTRIBUTION.md.
Mobile apps are on the roadmap.
Say hi in the Lounge, our public space for questions, feedback and trying
out a call: with the app installed, open croc://join/ph4j2sg3g3pqhtmibl2pcrrzx5rs7bq77pac5in4yeurokm557vq or paste the
code ph4j2sg3g3pqhtmibl2pcrrzx5rs7bq77pac5in4yeurokm557vq under + Space → Join a space.
crocodile sends and receives files from a terminal, for servers and
scripts, straight to and from the people you'd send them to in the app:
npm install -g crocodile-cli
# or: curl -fsSL https://raw.githubusercontent.com/pwalda/crocodile/main/scripts/install.sh | sh -s -- --cli
crocodile link # use your account (or: crocodile init <name>)
crocodile send backup.tar.gz --to alice#1234
crocodile get --from bob#5678
See apps/cli.
directory ──► list of coordination servers ──► your app picks the fastest
coordination servers (mesh) ── signed metadata, presence, signalling, host election
peers ── WebRTC to the elected host's relay, carrying E2E-encrypted frames
Read ARCHITECTURE.md for the full design, docs/QA.md for testing and releases, and docs/SECURITY.md for the threat model.
| Path | Contents |
|---|---|
apps/desktop | Electron app (React + Tailwind UI) and packaging |
apps/directory | Directory service |
packages/coordinator | Coordination server (library + crocodile-coordinator CLI + Dockerfile) |
packages/relay | Host relay (SFU run by the elected host peer) |
packages/client-core | Platform-neutral client logic, E2E layer, voice engine |
packages/crypto | Identities, signed records, sealed boxes, sender keys |
packages/protocol | Wire formats and schemas |
tests | Integration tests: server mesh, clients, real-browser WebRTC, Electron smoke test |
Requirements: Node.js 22+, pnpm 10 (corepack enable).
pnpm install
pnpm check # typecheck, lint, format and all tests (what CI runs)
pnpm qa:env # local directory + 3 coordination servers
pnpm qa:app alice bob # app instances with separate profiles
# Run a local directory and coordination server, then the desktop app against them
pnpm dev:directory # :7400 (set CROC_DIR_ALLOW_PRIVATE=1 for LAN URLs)
pnpm dev:coordinator -- --directory http://127.0.0.1:7400 --public-url http://127.0.0.1:7443
CROC_DIRECTORIES_OVERRIDE=http://127.0.0.1:7400 pnpm dev:desktop
Useful extras:
以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗