logo
icon

PaperPhone

A WeChat-style, end-to-end encrypted IM app with stateless ECDH E2EE, WebRTC video/voice calls, Cloudflare R2 file storage, and iOS PWA support — fully self-hostable.

PlatformZeabur
Deployed8
Publisherauthor619dev
Deployed8 times
Publisher619dev
Created2026-03-25
Services
service icon
service icon
service icon
service icon
Tags
ChatSecurityCommunication

PaperPhone IM

A WeChat-style, end-to-end encrypted instant messaging application.

Security

  • Stateless ECDH + XSalsa20-Poly1305 — per-message ephemeral keys, forward secrecy without session state
  • Zero-knowledge server — only ciphertext is stored; private keys never leave the device
  • Four-tier key persistence — memory → localStorage → sessionStorage → IndexedDB, survives WebView restarts

Features

  • 📹 Video & Voice Calls — WebRTC P2P (1:1) + Mesh (group up to 6)
  • 🌐 Multi-language — Chinese, English, Japanese, Korean, French
  • 📱 iOS PWA — "Add to Home Screen" via Safari, no enterprise cert needed
  • 💬 Rich messaging: text, images, voice, emoji, delivery receipts, typing indicators
  • 🗂️ Cloudflare R2 file storage (images & voice messages)

After Deployment

  1. Open the domain assigned to the client service.
  2. Register an account — cryptographic keys are generated locally on your device.
  3. (Optional) Configure Cloudflare R2 for image/voice uploads — set R2_* variables on the server service.
  4. (Optional) Configure Cloudflare TURN for cross-network video calls — set CF_CALLS_APP_ID and CF_CALLS_APP_SECRET.

Docker Hub Images

  • facilisvelox/paperphone-client:latest
  • facilisvelox/paperphone-server:latest