[WIP] A web interface to your BitTorrent Sync folders, inspired by Dropbox.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Sync
app
chef
config
db
lib
public
script
spec
tmp
vendor
.gitignore
.travis.yml
Cheffile
Cheffile.lock
Gemfile
Gemfile.lock
Procfile
README.md
Rakefile
Vagrantfile
config.ru

README.md

Bitbox

A Dropbox-like frontend for BitTorrent Sync. Includes a file browser and the ability to share files on the Web with links generated from the read-only secret, as well as add new folders through a lovely web interface. A much better alternative to the existing BtSync web app, with some added security precautions to make sure this app being publicly accessible won't inadvertently expose your machine to security risks.

Bitbox communicates with the BitTorrent Sync app via HTTP requests, and as such is only available for the Linux platform. That is, any OS that can run the Linux BtSync app is capable of also running Bitbox. We accomplish communication with the app via the BtSync gem gem by Chris MacNaughton. Indeed, many features of this very app would be impossible without this tool.

Requirements

  • Ruby v1.9+
  • Bundler
  • BTSync for Linux
  • PostgreSQL

Installation

Bitbox is just a Rails app, and as such is pretty simple to install.

Install dependencies first:

$ bundle install

Then, create a user and database for this app:

$ createuser -s 'bitbox'
$ rake db:setup

Now you're ready! Start the BTSync app and run:

$ rails server

You can optionally run our Foreman script that boots both apps at the same time:

$ foreman start

Development

Bitbox uses Rails for our backend API, Bundler for dependency management, and Ember.js on the frontend. Because we are using Ember to develop the frontend portion of the app, we also employ EmberScript to write most of our JavaScript and Emblem for our view templates. We also use Sass and Zurb Foundation to build a slick UI for BitTorrent Sync clients.

Our mission is to provide a secure and fast web client for Sync without interfering with the way the app works for normal clients.

A note on running tests..

Please make sure you have PhantomJS and Istanbul installed before running rake test, as it also runs our JavaScript specs.

Contributing

Please make all contributions in the form of a Git or GitHub pull request. All contributions will be considered for inclusion as long as they must include tests on all levels. When writing controllers, tests for the underlying model functionality as well as its support classes must also be included. For front-end features, we require the use of Jasmine tests as well as Capybara features for proper regression and acceptance testing.