Select number
🔍
Type to search across all chats
Select a chat to view messages
Contact info
👤

Settings & Docs

Sync Status

Architecture

WA Phone → Syncthing → crypt15.js decrypt → SQLite → Hono API → Browser UI
  • Server: Hono on Node.js, port 4010, PM2 process wa-manager
  • Decryption: pure Node (server/src/crypt15.js) — AES-256-GCM + zlib
  • Watch: fs.watch on data/{num}/Databases/ — auto-decrypts on new backup, hot-reloads DB
  • Client: Vanilla JS SPA at client/index.html, served as static by Hono
  • Keys: data/{num}/key.hex — 64-char hex, gitignored
  • Media: data/{num}/Media/... — synced separately via Syncthing (plain files)

Limitations

  • Chat freshness: limited by WhatsApp backup frequency (daily by default). Not real-time.
  • Media availability: only files auto-downloaded to phone appear. Enable WA auto-download on WiFi.
  • Read-only viewer: cannot send messages.
  • Search scope: per-number only — no cross-number search.
  • Root not required: works with the standard WA backup mechanism.