Controlling BOINC remotely

From BOINC

The BOINC client typically is controlled by the BOINC Manager or the Boinccmd tool running on the same machine:

Gui auth.png

The two programs communicate over a local connection, using 'GUI RPC' (Graphical User Interface Remote Procedure Call). It's also possible to use the BOINC Manager to control a client on a different host:

Gui auth2.png

You can use add-on programs such as BoincTasks or BOINCView to control many BOINC clients at once:

Gui auth3.png

Access control for GUI RPC

GUI RPCs are divided into two categories:

  • Status operations which return information about tasks, project, etc.
  • Control operations which change the state of BOINC (suspend/resume, add project, etc.).

Some GUI RPCs are authenticated with a GUI RPC password. This is stored in the file gui_rpc_auth.cfg in the BOINC data directory. On a multiuser computer, this should be protected against access by other users. When BOINC client first runs, it generates a random password. You can change it if you like; max length is 255 characters.

Local access

A "local" RPC is one that comes from the computer where the BOINC client is running (but perhaps from a different logged-in user).

Local status RPCs are not authenticated. On a multiuser computer, a user can see the status of any other user's BOINC client.

Local control RPCs are authenticated using the GUI RPC password.

Remote access

A "remote" RPC is one that comes from a different computer.

All remote RPCs (both status and control) are authenticated using the GUI RPC password.

By default, remote RPCs are not accepted from any host. To specify a set of hosts from which RPCs are allowed, create a file remote_hosts.cfg in your BOINC data directory containing a list of allowed DNS host names or IP addresses (one per line). Only these hosts will be able to connect. The remote_hosts.cfg file can also have comment lines that start with either a # or a ; character.

You can also set <allow_remote_gui_rpc>1</allow_remote_gui_rpc> in the options section of a cc_config.xml file (see Client configuration).

Alternatively, if you run the client with the --allow_remote_gui_rpc command line option, it will accept connections from any host (subject to password authentication). If you have a remote_hosts.cfg file but also start the client with --allow_remote_gui_rpc, the file will be ignored, and any host will be allowed to connect.

Note that the "Read config file" on the BOINC Manager, Advanced menu will also read in the remote_hosts.cfg file i.e. a restart of the client is not required to enable changes to the remote host list.