We're inviting new users to try the next RepoGo on TestFlight. Join the betaWhat's changing

Your computer

Use your own relay

Your phone reaches your computer through a relay. By default that's RepoGo's. Everything on it is end-to-end encrypted, so the relay only forwards bytes it can't read. If you'd rather that traffic never touch RepoGo's servers at all, run your own relay and point the host at it.

Run a relay#

The relay is part of the open-source host, in the relay folder of repogoapp/host:

bash
git clone https://github.com/repogoapp/host
cd host
PORT=8080 RELAY_SERVER_ID=my-relay go run ./relay

Put it behind HTTPS so your phone can reach it as wss://, for example wss://relay.example.com/ws. Give each relay its own RELAY_SERVER_ID and keep it the same across restarts.

On your own relay, one message between the host and your phone can be up to 256 MB, instead of 8 MB on RepoGo's. Set RELAY_MAX_MESSAGE_MB to the same size on the relay if you change it; a phone can still run short of memory well before 256 MB.

Point the host at it#

bash
npx @repogo/host relay set wss://relay.example.com/ws

This removes every paired device and restarts the host on the new relay. A phone saves the relay's address when it pairs, so each device needs to pair again with npx @repogo/host pair.

  • npx @repogo/host relay shows which relay the host uses.
  • npx @repogo/host relay reset goes back to RepoGo's relay. Devices pair again here too.

The setting belongs to this computer. Other environments keep their own relay.

What still goes through RepoGo#

  • Notifications and Live Activities. Apple only accepts them from RepoGo, so the host keeps a second connection to RepoGo's relay for these alone. It carries no chat or code.
  • Pairing links. repogo.app holds the invite for a couple of minutes, encrypted with the code only your phone sees.
  • Public tunnels (*.repogo.dev) use RepoGo's tunnel gateway, as before.