A graphical user interface for Box Backup


Boxi is a graphical user interface to configure, manage, and administer the Internet backup software called Box Backup by Ben Summers, available from

Box Backup is ``an open source, completely automatic on-line backup system for UNIX'' with the following advantages:

Boxi is a graphical user interface to allow easy configuration and administration of the Box Backup client, and access to files on the server.

Boxi is developed in C++ using the wxWidgets GUI toolkit, available from This means that it should be possible in theory to compile Boxi on Windows, Macintosh and most UNIX systems, although so far only Linux and Cygwin have been tested. Feedback and patches for compatibility with other systems are most welcome.


The latest stable version of Boxi is 0.0.7.

Source code
Compiled executable for Windows (Cygwin)


Boxi is distributed as source code, and must be compiled before use.

The following programs and libraries are required to compile Boxi:

It should be enough to extract the contents of the archive, and run the following commands:


Don't even think about installing it yet! There really isn't any point. Run ``src/boxi [-c] [<config-file>]'' to start the GUI.

The ``-c'' option is ignored if present, and provided to comfort those more familiar with the Box Backup command-line tools.

daemonctl illustration

config illustration

locations illustration

filelist illustration


This software is currently experimental. I hope that you will try it and find it useful, but it doesn't come with any warranty, not even that it won't give your dog hiccups. If it breaks, you get to keep both pieces.

Version 0.0.7 (released 2005-05-21)

No need to start with the name of a configuration file any more! Built-in defaults for configuration values.

Load configurations from a file while Boxi is running.

Prompt to save configuration changes when exiting Boxi.

Checks configuration for errors in real time while editing.

Fewer pop-up warnings on Cygwin.

First binary release for Windows (Cygwin).

Version 0.0.6 (released 2005-05-08) (released 2005-05-08)

Server Files panel: hide deleted files and old versions of files on the server (see the new ``View'' menu). Disable Delete/Undelete buttons when a file is selected (need a protocol change to make this work for files).

Locations panel: edit and remove backup locations.

Local Files panel: view include/exclude status and reasons for local files.

Backup Daemon panel: new GUI control panel for the bbackupd daemon. Start and stop the daemon, kill it, ask it to sync or reload (with Real Buttons(TM)).

Box Backup: integrated build process with GNU autotools. Fixed ``make clean'' to do what I want (ensure a rebuild next time). Fixed ``make'' to work properly when remaking after a code change. Moved command socket handling to a separate class, to make it easier to access from other places in the code. Listen for command socket connections and commands while a backup is in progress, while sleeping on error, and while sleeping on store full.

Server Connection: new class to encapsulate server interface.

General: fixed Cygwin (more or less, perhaps less :-). Many thanks to Gary for his enthusiasm pushing me to make this happen.

The code is stable, but not all new (or existing!) features work perfectly. The interface to control Local Files checking on server needs more work. Some things, like location matching, don't work on Cygwin but do work on Linux (and possibly other Unixes).

Version 0.0.5 (released 2005-03-19)

Separated configuration settings into Basic and Advanced, to be less intimidating for new users and to fit more easily into the available screen space.

Allow navigating into directories by double-clicking files in the server file list (similar to Windows Explorer behaviour).

Allow sorting the file list by filename, size or date, in forward or reverse order. Replaced the ``Flags'' column by ``Last Modified'' date, which is more useful.

Redraw the GUI during directory restore operations, showing progress in the status bar (current file and number of files restored).

Changed most error message dialogs to have more politically-correct titles (Boxi Error and Boxi Message).

Added the ``-c'' command-line option, which is ignored, and renamed README.txt back to README, to stop Make from complaining.

Many thanks to Richard Eigenmann for these suggestions.

Version 0.0.4 (released 2005-03-14)

Added the ability to restore files and directories from the server, and to delete and undelete directories.

Fixed many crashes due to server disconnecting during operation, and internal buffer overflows in Box Backup's debugging code.

Display file sizes (nicely formatted) in the server file list.

Version 0.0.3 (released 2005-03-01)

Split the code into multiple files (modules), which should make it easier to understand and faster to recompile after making changes.

Fixed a bug that made it impossible to connect to the server and browse files stored there, since before version 0.0.2 was released.

Missing essential configuration parameters are detected when trying to connect to the server, and a warning is given.

Exceptions are handled much better, with Real Error Messages(TM).

You can now save your changes to the configuration file by selecting the ``Save'' option from the ``File'' menu. This feature should be used with extreme caution! PLEASE back up your configuration file first!


Boxi does not prompt to save changes if the config file is changed and you try to exit, or you have an open connection to the store daemon.

It is not yet possible to undelete files on the server, due to protocol limitations.

See the TODO file for a list of bugs to fix and features which are planned for future releases. Feel free to contribute patches or suggestions for new features :-)


This software is copyright (C) Chris Wilson <>, 2004-05. Licensed for public distribution under the GNU General Public License (GPL), version 2 or later (

Contains a copy of Box Backup by Ben Summers, which is separately licensed under a license very similar to the BSD license, which can be seen at This component is NOT covered by the GPL.

Portions of Boxi are copied, based on or inspired by Box Backup itself, and it is not possible to compile Boxi without linking to the Box Backup code. Therefore, the Boxi code contains the attribution required by the Box Backup license, that it contains code by Ben Summers. This attribution must not be removed from the code!