https://beepy.sqfmi.com/assets/images/beepy-header-001e0cd9dd5b0f424019c6c9655986d7.png

Received your Beepy? We hope you’re as excited as we are! Let’s get you up and running with Beeper as quickly as possible.

We’ve customized gomuks (a CLI Matrix client) and created a branch designed specifically for the Beepy screen and keyboard setup.

GitHub - tulir/gomuks at beepberry

Install instructions

Part 1: Setup on Your Computer

For this section, you’ll need an additional device. A laptop running some form of Unix (Linux, macOS, WSL, etc.) should do! This is necessary because the initial sign-in process to gomuks takes a lot of CPU/RAM resources, which would take forever on a Raspberry Pi. By signing in first on desktop and then transferring to Beepy, it’s much faster. Follow the steps below:

  1. 📦 Download the Beepy gomuks binary to your desktop/laptop. You may need to chmod +x gomuks
    1. macOS
      1. Universal
      2. ARM64
      3. x86-64
    2. Windows (x86-64)
    3. Linux
      1. ARMv7
      2. ARM64
      3. x86-64
  2. 🔑 Export your end-to-end encryption keys
    1. In the Beeper Desktop app, navigate to Gear > Settings > Security & Privacy and scroll down to the Cryptography heading. Then click button Export E2E room keys.
    2. Save the new file as keys.txt in the same folder as the gomuks binary. Remember your password!
  3. 🍎 On Mac OS? Install libolmwith brew install libolm
  4. 💻 Run the gomuks binary with the --log-in-for-transfer flag in your shell:
    1. ./gomuks --log-in-for-transfer
    2. ⚠️ On Mac OS? Additional permissions may be required on macOS
      • View instructions

<aside> ⚠️ Note: Additional permissions may be required on macOS. Please make sure to allow both gomuks and libolm (encryption library) to run on your machine.

If you are having any issues running gomuks, please consult these instructions: https://docs.mau.fi/gomuks/installation.html

</aside>

  1. ✏️ Follow the steps on screen to finish the setup
    1. First, sign in to your Beeper/Matrix account.
      1. Username format is @username:beeper.com where username is your Beeper ID

        Untitled

      2. If you have not set up a password for your Beeper account, contact Beeper Help or use this helpful 3rd party script to set a password: https://github.com/0xdevalias/poc-beeper-password-reset

    2. Next, input the password for your encryption keys—you set this just a minute ago, when you exported your keys!
    3. Finally, input your account recovery passphrase. This is the 48 character recovery code you received when you first set up Beeper. This will verify your new Beepy client on the network.

Part 2: Setup on Beepy

You should now be looking at instructions on screen, and see a new folder named transfer. If you made it this far, you’re doing great!

  1. 🌐 This new transfer folder needs to be copied over to your Beepy. For more on getting your shiny Beepy up-and-running, follow this setup instruction. Once you’re ready to go on that front, copy the folder over with a utility like scp or rsync (for more on file transfer with Linux, see here).

  2. 🌳 Now SSH into your Beepy and set the GOMUKS_ROOT environment variable to match the new location of the transfer directory.

    1. To find out where this is stored, one option is to cd into the directory and then run pwd.
    2. To set the environment variable, add a line at the bottom of ~/.profile along the lines of the following:
    export GOMUKS_ROOT="<path-to-transfer-directory>"
    
  3. 🐭 Next, you’re going to have to edit your gomuks config file located at transfer/config/config.yaml. You’re going to need to tweak a few values to match the new location of transfer on the Beepy (as opposed to your laptop). Specifically:

    An example of the change could look like the following:

    data_dir: /Users/cool-beepy-user-123/Documents/transfer/config
    
    #=>
    
    data_dir: /home/cool-beepy-user-123/transfer/config
    

    All of the new values should start with the same path, to the transfer folder on your Beepy.

    For more on this change, take a look at the gomuks docs.

    <aside> 💡 Optionally, you may want to tweak the download_dir value to match a good new folder on your Beepy as well.

    </aside>