Proxima Gateway
Getting Started

Updates

How update notifications work and how to apply them

When your admin publishes a new release and marks it latest, your dashboard learns about it the next time you load /app. You don't have to restart, watch a feed, or run any command.

The update banner

If your installed version doesn't match the latest, you'll see a blue banner at the top of /app:

✨ Update available: v2.13.0
   <release notes from admin, if any>
                                         [Update now]

The banner only appears when:

  1. A release is marked latest in the dashboard
  2. Your proxy has heartbeated at least once (so the dashboard knows your installedVersion)
  3. installedVersion !== latest.version

If you've never installed (no heartbeat yet), the banner doesn't show — go run the initial install first.

Clicking Update

Update now opens the same stepped progress modal you saw during install. The runner reuses every step:

  1. Stop the existing service (idempotent — handled cleanly even if it's running mid-request)
  2. Download the new binary
  3. Verify the new SHA-256
  4. Atomically swap /usr/local/bin/proxima-gateway
  5. Re-fetch GeoIP databases (skipped if already present and non-empty)
  6. Rewrite config.json — your existing port / firewall / replacement config is preserved; only the license block is refreshed
  7. Restart the service via systemctl
  8. Verify it's active

Total time: usually 10–20 seconds since the GeoIP step is a no-op.

What gets preserved

The runner reads your existing /etc/proxima-gateway/config.json before writing the new one and merges:

  • ✅ All your port configs
  • ✅ All URL / ASN replacements
  • ✅ Blocked countries, excluded users, image URL
  • ✅ Firewall config (rate limits, whitelist, auto-ban thresholds)

Only the license block is overwritten — to ensure the dashboard URL and license key match what's currently in the database.

What gets lost

  • ❌ Anything you added to config.json by hand outside the schema — it's not in the merged copy
  • ❌ Banned IPs in the in-memory firewall cache — they're rebuilt as traffic comes back in (auto-ban works the same way after a restart)

Downgrades

If your admin marks an older version as latest, the banner will offer to "update" you to that older version. The runner doesn't distinguish upgrade from downgrade — it just installs whatever the latest is.

What if I miss a release?

Nothing breaks. The proxy keeps running on the version you have. Updates are opt-in: if you ignore the banner forever, you stay on your current version forever. The dashboard never auto-updates a customer's box.

Update failed — now what?

If the install modal ends in a red Failed state:

  1. Click Show log output at the bottom of the modal — the journal tail from journalctl -u proxima-gateway is appended there.
  2. Most common cause: the new binary's config schema changed and your existing settings need a tweak. Open Configuration → General and re-save to write a clean config; then click Update now again.
  3. Still stuck? See Troubleshooting.

Your old binary is gone at this point (the install step ran successfully — only the start/verify failed). To recover, contact your admin to either re-mark the previous working version as latest so you can roll back, or to investigate the failure.