Skip to content

Keep a local folder on your Mac automatically and continually synchronized with a remote server (Mac or Unix / Linux).

License

Notifications You must be signed in to change notification settings

jhuckaby/OpenBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Overview

OpenBox is a Mac OS X application which can synchronize folders to remote servers via SSH and Rsync, and keep them synchronized automatically and continuously in the background, similar to how Dropbox behaves. If you make changes to any file or folder, those changes are instantly detected and propagated to the server. You can setup multiple boxes pointing to different servers, automatically copy URLs to your clipboard (if uploading to a web server for example), and receive notifications when sync operations complete.

To download the app, visit OpenBox.io.

Features

  • OpenBox is built on standard tools including SSH and Rsync, so it is compatible with most Unix based servers.
  • Use a password or SSH key to connect to your server. All passwords are stored securely in the Mac OS X Keychain.
  • All OpenBox settings can be exported as a plain text file, and imported to OpenBox on another Mac.
  • Specify custom include and/or exclude filename pattern matches. Those horrible .DS_Store files are excluded by default.
  • Optionally show floating desktop notifications for file transfers starting and/or completing, with Growl if available.
  • Got a web server? Easily setup a box to automatically copy URLs to your clipboard the moment files are uploaded.
  • All sync transactions are logged, including the actual rsync commands issued and full verbose output.
  • If your connection drops or server goes down, OpenBox will keep track of all changes and re-sync the next time it can.
  • To protect against accidental replacements, files are only overwritten if their modification dates are newer.
  • To save on bandwidth and increase speed, files are automatically compressed as they travel over the wire.
  • Optionally enable a special backup mode, which creates timestamped backups of files when they are replaced.
  • Optionally limit the bandwidth used by OpenBox when files are sent and received (configurable per folder).

Languages

The OpenBox UI is written in HTML5 / JavaScript, and the background daemons are written in Perl. The app is wrapped in a shell called Cocui which makes it behave like a real OS X app.

Acknowlegements

OpenBox would not be possible without the following awesome tools / libraries:

  • Rsync
    • An incredible standard Unix / Mac command-line tool for synchronizing folders over the network.
  • Cocui - COCoa User Interface mockup
    • This incredible framework allows you to make "native" Mac OS X apps using only HTML5 and JavaScript.
  • CocoaDialog
    • This tool provides command-line access to Mac OS X native dialogs and more.
  • Mac::FSEvents
    • This is a Perl module which provides access to the Mac OS X FSEvents API, for instant notification of changed files.
  • IO::Pty::Easy
    • This module allows a script to drive command-line tools such as Rsync and SSH, even providing passwords when prompted.
  • JSON::PP
    • A pure Perl implementation of JSON encoding and decoding.
  • jQuery
    • The best JavaScript library ever invented.
  • HTML5 Boilerplate
    • Awesome framework for writing HTML5 apps.

And my thanks to the following artists / designers for use of their work:

Legal

OpenBox v1.0

Copyright (c) 2012 - 2014 Joseph Huckaby

Source Code released under the MIT License:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Please note that OpenBox relies on, and ships with, several 3rd party libraries, which have with their own license agreements. The MIT License only covers the 1st party OpenBox code, written by Joseph Huckaby.

About

Keep a local folder on your Mac automatically and continually synchronized with a remote server (Mac or Unix / Linux).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published