Boxi

A graphical user interface for Box Backup, the online encrypted backup system by Ben Summers.

Summary

Boxi is a graphical user interface to configure, manage, and administer the Internet backup software called Box Backup by Ben Summers, available from http://www.fluffy.co.uk/boxbackup.

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 http://www.wxwidgets.org/. This means that it should be possible in theory to compile Boxi on Windows, Macintosh and most UNIX systems, although so far only the following systems have been tested:

Feedback about and patches for compatibility with other systems are most welcome.

Download

The latest stable version of Boxi is 0.1.0.

Source code for all platforms (version 0.1.0)
http://prdownloads.sourceforge.net/boxi/boxi-0.1.0.tar.gz

Compiled executable for Windows/Cygwin (version 0.0.7)
http://prdownloads.sourceforge.net/boxi/boxi-0_0_7.zip

Latest source code from Subversion
The latest source code is experimental, a work in progress, and not guaranteed to compile or run on any system. Your mileage may vary. You can get it from Sourceforge's Subversion server:
 svn co https://svn.sourceforge.net/svnroot/boxi/trunk/boxi

See http://sourceforge.net/svn/ for more details about Subversion, or to browse the repository online.

Compiling

Boxi is distributed as source code, and binaries for Windows/Cygwin. Source code must be compiled before use.

The following programs and libraries are required to compile Boxi:

If you are working from a CVS checkout, you will also need:

CVS users need to run these commands first:

        ./autogen.sh
        ./make-image-headers.pl

If you downloaded a release version, just extract the contents of the archive, and change into the directory it creates (e.g. boxi-0.1.0).

For all users, it should be enough to then run the following commands:

        ./configure
        make

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.

Screenshots

No project would be complete without a gratuitous display of the author's skill at creating truly, incredibly awful user interfaces:

daemonctrl.png illustration

config.png illustration

locations.png illustration

filelist.png illustration

Changes

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.

A note about versions

Henceforth, odd minor numbers (x.1.y, x.3.y, etc.) will be experimental, and even numbers (x.2.y, x.4.y) slightly less experimental (maybe stable one day).

Version 0.1.0 (released 2005-05-26)
http://prdownloads.sourceforge.net/boxi/boxi-0.1.0.tar.gz

Commemorates the release of public CVS, and interest of other developers in joining in the project, with a minor version number increase.

Fixed compilation on wxWindows 2.6.0 (at least on Cygwin, hopefully Linux too).

Tweaked Box Backup's build infrastructure to require fewer rebuilds, while still satisfying dependencies (I hope :-)

Version 0.0.7 (released 2005-05-21)
http://www.qwirx.com/boxi/boxi-0.0.7.tar.gz

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)
http://www.qwirx.com/boxi/boxi-0.0.6.tar.gz (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
http://www.qwirx.com/boxi/boxi-0.0.5.tar.gz (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
http://www.qwirx.com/boxi/boxi-0.0.4.tar.gz (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
http://www.qwirx.com/boxi/boxi-0.0.3.tar.gz (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!

Bugs

``There are no bugs, just undocumented features'' (unknown)

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 :-)

If you find a problem that's not documented in the TODO file, please submit a bug report on the Sourceforge bug tracker, at http://sourceforge.net/tracker/.

To request a new feature, please use the Sourceforge RFE tracker at http://sourceforge.net/tracker/.

License

This software is copyright (C) Chris Wilson <boxi_README@qwirx.com>, 2004-05. Licensed for public distribution under the GNU General Public License (GPL), version 2 or later (http://www.gnu.org/licenses/gpl.html).

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 http://www.fluffy.co.uk/boxbackup/license.html. This component is NOT covered by the GPL.

The file boxbackup.patch contains a number of changes to Box Backup which are useful for Boxi. That file is under the same license as Box Backup, i.e. a BSD-like license, and copyright assigned to Ben Summers.

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!

Generously hosted by SourceForge:

SourceForge.net Logo

Support This Project