continuwuity/BEEPER.md
2026-07-10 17:37:29 +00:00

3 KiB

Setup

Server

  • Use this fork
  • Make sure email works (config)
    • Or don't use email if testing
      Login still needs an email address, so !admin users change-email user user@mail.invalid
  • Set well_known.client if using delegation (config)
  • Route api.server.name to c10y if registration is enabled

Android

  1. Get an APK from somewhere
  2. apktool d com.beeper.android.apk
  3. Edit com.beeper.android/smali_classes3/com/beeper/datastore/Environment.smali
    • Replace these strings with the server url and name (around line 200)
          .line 50
          .line 51
          const-string v7, "https://matrix.beeper.com"
      
          .line 52
          .line 53
          const-string v8, "https://api.beeper.com"
      
          .line 54
          .line 55
          const-string v4, "PROD"
      
          .line 56
          .line 57
          const/4 v5, 0x3
      
          .line 58
          const-string v6, "beeper.com"
      
  4. apktool b com.beeper.android
  5. uber-apk-signer -a com.beeper.android/dist/com.beeper.android.apk
  6. Install com.beeper.android/dist/com.beeper.android-aligned-debugSigned.apk

Registration

Seems to work fine

Login

  1. Open Beeper and log in
  2. When it gets to Syncing inbox... wait a few minutes to make sure it's done and then close the app
  3. adb root
  4. adb pull /data/data/com.beeper.android/matrix/account.db{,-shm,-wal} .
  5. sqlite3 account.db "INSERT INTO store VALUES ('first_sync_done', 1);"
  6. adb push account.db /data/data/com.beeper.android/matrix/account.db
  7. adb shell
    • ls -l /data/data/com.beeper.android/matrix and check the file owners
    • chown u0_a??? /data/data/com.beeper.android/matrix/account.db change u0_a??? to match
    • rm /data/data/com.beeper.android/matrix/account.db-*
  8. Open Beeper again

Linux

  1. curl -OL https://api.beeper.com/desktop/download/linux/x64/stable/com.automattic.beeper.desktop
  2. chmod +x com.automattic.beeper.desktop
  3. ./com.automattic.beeper.desktop --appimage-extract
  4. find ./squashfs-root/resources/app/build -type f -print0 | xargs -0 sed -i '' -e 's|https://api.beeper.com|https://matrix.server.name|g'
  5. squashfs-root/beepertexts
  6. Log in / register
  7. When it gets to Syncing inbox... wait a few minutes to make sure it's done and then close Beeper
  8. sqlite3 ~/.config/BeeperTexts/account.db "INSERT INTO store VALUES ('first_sync_done', 1);"
  9. Open it again

Issues

  • The displayname and profile picture is sometimes not shown in the settings (but is fine everywhere else)
    • They usually appear after changing either
  • Changing the email doesn't work yet
  • The app occasionally crashes
  • UIAA is not implemented yet
  • Messages can't be sent if m.room.power_levels has events_default > powerlevel, even if m.room.message would allow it
  • Beeper Desktop is weird with the room timeline
  • Push/background notifications don't work