Skip to main content
Beta · BOINC GUI RPC

A terminal you can actually boinc from.

boincrs is a fast, keyboard-first Rust TUI for your local BOINC client. Attach projects, track tasks, monitor transfers, and toggle run modes — without leaving the terminal.

Rust · ratatui · tokioBOINC · 7.16 / 7.20 / 8.2Targets · Linux · macOS · WindowsLicense · MIT
boincrs · 127.0.0.1:31416
┌ Selected Task ─────────────────────────────────────────────────────┐
│ PrimeGrid · llrTRP · 68% · [RUN] · 01:12 / 00:34                   │
│ deadline 2026-04-28 14:20 · chkpt 01:08 · exit —                   │
└────────────────────────────────────────────────────────────────────┘
┌ [focus] Projects ────┬ Tasks ───────────────┬ Transfers ───────────┐
│ >> PrimeGrid         │ READY TO REPORT      │ ↑ 12.3 MB   74%      │
│    Asteroids@home    │ RUNNING (by %)       │ ↓  4.1 MB   retry    │
│    World Community   │ WAITING / READY      │ ↓  2.8 MB   done     │
└──────────────────────┴──────────────────────┴──────────────────────┘
j/k move · tab switch pane · r refresh · q quit

Why the terminal?

BOINC already runs as a background daemon on your machine. A TUI is the shortest path between "what is my client doing?" and an answer — readable over SSH, fast on old hardware, and friendly to keyboards and screen readers alike.

01 / Local-first

Talks to your local BOINC

Connects to the GUI RPC endpoint on 127.0.0.1:31416 by default. No remote accounts, no cloud middleman — just your daemon.

02 / Three panes

Projects · Tasks · Transfers

Task groups (READY TO REPORT → RUNNING → WAITING/READY) match how you actually think about BOINC workloads.

03 / Auto-attach

PrimeGrid + Asteroids@home

Drop an account key into .env and boincrs attaches and updates the project on startup.

04 / Accessible

No color-only UI

State is always labeled in text — [RUN], [REPORT], [ACTIVE] — and NO_COLOR=1 keeps the semantics intact.

05 / Resilient

Reconnect with backoff

Transient RPC failures trigger bounded exponential backoff (1 s → 30 s, ±25% jitter) instead of crashing.

06 / Typed errors

No .unwrap() in src/**

Errors flow through AppResult / AppError with thiserror. CI refuses new unwrap or expect in production code.

What you get

  • Multi-pane TUI for projects, tasks, and transfers.
  • Selected-task header with progress, deadline, checkpoint, and exit status.
  • Keyboard navigation (tab, j/k, arrows) across every pane.
  • Action keys for project/task/transfer operations and client run modes.
  • Diagnostics bundle export (D) for bug reports.
  • BOINC compatibility matrix validated in CI: 7.16.x, 7.20.x, 8.2.x.

What it is not

  • Not a remote BOINC dashboard — local GUI RPC only, for now.
  • Not a project chooser UI — you still pick projects you trust.
  • Not a replacement for BOINC Manager — it's a complement for keyboard workflows.
  • Not a monitoring cloud — your account keys live in .env on your box.

Ready to drive BOINC from the keyboard?

Clone the repo, point at your local daemon, and you'll be attaching projects in under five minutes.

Getting started →