Unofficial mirror · offline-first mesh

bitchat

App stores can be blocked. Phones talking over Bluetooth are much harder to silence. This mirror keeps bitchat’s Android APKs reachable when upstream is throttled, taken down, or censored.

Download

Latest stable build

Loading releases

Fetching the mirror index…

Install & verify

Sideload

  1. Allow your browser to install apps: Settings → Apps → Special app access → Install unknown apps.
  2. Install the APK, then open bitchat.
  3. Grant Nearby devices / Bluetooth. Location may be requested — that is an Android BLE scanning rule, not GPS tracking by the app.

Verify

  1. Copy the SHA-256 shown next to the file (or open checksums).
  2. Run sha256sum your.apk and compare.
  3. Source for each build is the linked upstream commit. bitchat is GPLv3 — you can inspect and rebuild it.

How this works

Upstream APKs are mirrored to Cloudflare R2 on a schedule. This site is static HTML on Vercel — the UI loads here; APKs download from R2.

flowchart TB
  GH["Upstream
bitchat-android
GitHub Releases"] subgraph job["① Mirror job"] direction LR GA["GitHub Actions
weekly"] SYNC["Python sync/
policy · SHA-256 · budget"] GA --> SYNC end subgraph store["② Object storage"] R2[("Cloudflare R2
apk/ · checksums/ · index/")] end subgraph web["③ Static site"] direction LR IDX["releases.json"] VER["Vercel · public/
Download · Archive · Why"] IDX --- VER end BR["Browser"] GH -->|"list releases + tags"| SYNC SYNC -->|"stream APKs one at a time"| R2 SYNC -->|"commit when changed"| IDX IDX -.->|"triggers redeploy"| VER BR -->|"browse UI"| VER BR -->|"download APKs"| R2 classDef src fill:#fff7ed,stroke:#c2410c,color:#7c2d12,stroke-width:2px classDef work fill:#ecfdf5,stroke:#0f766e,color:#134e4a,stroke-width:2px classDef blob fill:#eff6ff,stroke:#1d4ed8,color:#1e3a8a,stroke-width:2px classDef ui fill:#fafaf9,stroke:#57534e,color:#1c1917,stroke-width:2px classDef human fill:#fdf2f8,stroke:#be185d,color:#9d174d,stroke-width:2px class GH src class GA,SYNC work class R2 blob class IDX,VER ui class BR human