Advertisement

Build Your Own Self-Hosted Dropbox With Bittorrent Sync

by

The days of having to exchange files between computers on USB sticks seem like a distant memory. Today it’s all about the cloud, the revolution that lets you wireless access data on the go and that changed the way we think about files. Files don't have to be stuck to a device when you can download them from anywhere.

Cloud-based file sync services are easy to setup and work well across all your devices—but the only problem is that you have to trust another service with your data. If it goes down, or gets hacked, your data's gone or at risk. Plus, you'll have to pay more as you start to sync more files.

But there’s another alternative tool that lets you automatically sync files between devices without trusting the cloud. Bittorrent Sync is a file syncing service that connects your computer and device over the internet to update files as they are added or changed. This tutorial will show you how to setup Bittorrent sync across all the devices followed by a discussion on different use cases of this tool to manage your files without hassles or security concerns.

Setting Up Bittorrent Sync

At a glance, Bittorrent Sync looks a lot like Dropbox, but it's a bit different. It syncs your files and directories across multiple computers and devices, but you don’t have access to those files online as you would Dropbox. When you point the Bittorrent Sync app at a directory on your computer, you share those files with any other device that you give a secret passcode to. The data strictly lives on your computer and its storage capacity is only limited to your own hard drive.

Getting Bittorrent Sync to run is easy. Download the app for your operating system from website and follow the usual installation path, keeping all the default and advanced options intact during the setup. With Bittorrent Sync installed, say for example on your Mac Mac, you have to just start by adding folders. Let’s say you want to sync your important document folder in your Mac with your office PC.

To add a folder, click the Add Folder button in My Sync tab. If you are creating a new folder to sync with another computer, click Generate to create a new secret key. Copy the secret key and paste it in the TextEdit for time being. Now, click Choose to select the destination folder from the Finder and if asked, configure your firewall at the first run to allow Bittorrent Sync accept incoming connections.

adding-folders-bittorrent-sync
Adding Folders to Bittorrent Sync 1. Click the Add Folder to open a new popup menu 2. Click Generate to create a new Secret Key 3. Choose the existing or new folder you want to sync

Now make a new document folder in your PC in any directory. With Bittorrent Sync open on the PC, click the Add folder button and select the document folder you just created. In the next step paste the secret key you generated on your Mac. You can either type the secret key or email the secret code to yourself, feel comfortable to choose your own preferred method. Once your device is online, the synchronization process is initiated immediately. Then you can leave it run in the background or access the app’s interface from the Menu Bar (Mac) or Notification Area (Windows). Bittorrent Sync skips the cloud to transfer directly between your devices. Therefore, to keep the files up-to-date, you’ll need to leave your devices on.

Using Bittorrent Sync

In Bittorrent Sync you can see detailed information about the connected devices, folders in sync, ongoing transfers and speed, history of download and upload, and preferences. This is useful because then you’ll be sure your devices are connected and transfers are going properly.

My Sync tab shows you the list of folders in sync, as well as their sizes and number of files inside. After you add a new folder, Bittorrent Sync spends some time indexing it. Indexed files start syncing immediately, even before the whole folder is indexed. Connect Mobile button gives you an option to connect folders on mobile devices to the folders on your computer. They show a unique QR code based on the secret keys for your sync folder and can be either full access or read only. The Info button has a Secret Key and a Properties tab and it varies from folder to folder.

my-sync-tab-bittorrent-sync
Number of options are available in My Sync tab 1. Add Folder 2. Connect Mobile shows you a unique QR code 3. Info tab contains various option to see, change your secret key and properties of a synced folder

The Secret Key tab is used for managing secrets and generating QR codes for connecting mobile devices. The Properties tab contains specific options for the folder. Make sure that the relay server and tracker server is checked in all the synced folders. In scenarios where device on different network can’t communicate directly due to firewall or technical reason, an intermediate relay server passes through encrypted traffic and lets them communicate. If one of your devices has a static and accessible IP, check and enter the IP address and host name on Use predefined hosts so that peers can connect to it directly.

In the Devices tab, you can see the devices you are connected to and what folders you sync with each of them. Status column shows you when sync is finished, and the total amount of data you can upload to or download from a device. Clicking on any of the one of them will show you Sync Queue window, where you can see files left to download/upload.

my-device-tab-bittorrent-sync
Device tab shows you all the listed devices and what folders you sync with each of them

In the Transfer tab, you can see what files are being transferred at the moment, the list of devices you transfer to/from, as well as upload and download speeds for each device. Total transfer speed is shown in the right bottom corner. The History tab shows you recent events connected with the synchronization of your folders. These events are shown for each of the connected devices.

history-tab-bittorrent-sync
History tab shows all the events connected with synchronization, useful to troubleshoot a particular problem related to sync

Sharing With Bittorrent Sync

Sharing files with your friends with Dropbox is pretty easy, but all the members of a shared folder have full read and write privileges. If you’re interested in sharing files for people to view or download only, then you'll have to create a share link for the specific file or folder instead. With Bittorrent Sync this feature is already built into the app and you can manage permission settings for different users from the single interface. To share a folder, click the Info button in the My Sync tab of Bittorrent Sync. I already discussed what’s there in the Info option and from here it should be pretty obvious what you have to do.

Full access secret is a master key for connecting folders. All the folders added with this secret will be granted a full set of permissions for two-way synchronization. You can change the secret key anytime but remember you have to change the secret key for other devices as well to keep the sync running smoothly. So for example, if you share a text document and give someone a full access, then any changes they make to the document are sent to your devices.

Read only secret is generated on the basis of master secret and is used for one-way synchronization. It means that any folder with a read-only secret will be fully synced, but changes made in it will not be reflected in folders operated by a master secret. Also you cannot change the secret for read-only folders. So, for example, if you share a photo and give someone a read-only access, then any edits made in the photo will not sync back to your folder.

One-time secret option creates a code that lets you share the folder with others, with either full or read-only access, but the code becomes invalid after 24 hours.

How I Use Bittorrent Sync

Bittorrent Sync is amazing in number of ways. Because of its simplicity, it allows for uses far beyond what it advertises. Infact I’ve been using this tool from the alpha version and I found out some really useful applications of this tool.

Sync Keepass Database on All Computers and Devices

I use Keepass for managing all my passwords and I need access to these passwords on all platforms (Mac/Phone/Tablet/PC). With the help of this plugin I can sync my database across all the platforms, so I have been using that for a year or so. But the thought of having my sensitive information on a third party service like Dropbox bothered me. Keepass stores my passwords in an encrypted format, but I don’t want to use cloud service at all.

First, install Bittorrent Sync for Android and iOS. There is a "Database" folder in my computer, and it's already synced between my PC and Mac. Now open Bittorrent Sync, select your password database folder, and then click the Connect Mobile button. You’ll see a QR code popup in a new window.

Now open Bittorrent Sync on the phone and tap the Add folder icon in the top right corner. On the next screen, tap Choose Folder, then select where you want to save the data on your phone and press the Choose Folder button. You’ll return to the Add folder screen. Tap Scan QR code, which will activate your camera and take the picture. The text field area is automatically populated when you photograph the QR code. Once the code’s there, tap Done.

bittorrent-sync-android-setup
To sync data just choose the folder and scan QR code, toggle Automatic sync as well

On iOS you don’t have to choose where to save your synced data. Just snap the QR code and Bittorrent Sync takes care of the rest. However, there’s a slight difference between the Android and iOS version. When performing a sync on iOS, you can’t close the app or your sync will stop. This could be possible due to restrictions on apps running in the background, but otherwise the app is reliable and works efficiently on iOS.

Sharing a Photo Collection

Your awesome batch of photo collection is growing and you’d like to show these photos to everyone in your family and friends. You don’t want to zip the photos and email them as a separate zip file, it’s time consuming and error prone. Cloud services can get pricey if you're sharing a lot of photos, and it's easy for someone to accidentally delete your favorite photos.

With Bittorrent Sync, share the folder’s sync read-only key with grandparents, friends and let everyone who’s interested keep up-to-date as you add new photos.

Personal Data Multiple Backup

I installed Bittorrent Sync on every computer possible, including my brother's laptop, and designated a folder for my data. This help me in effectively distributing backups to multiple places and protect my data from hardware failure. If you have a NAS (Network Attached Storage) device then you can install Bittorrent Sync on your NAS as well. That way, you'll have even more places to get your files back from if your computer ever dies or gets stolen.

Camera Roll Backup

Bittorrent Sync makes photo backup a trivial process. Click the Backup tab to enable automatic camera backup. Once you click enable, you’ll get a secret to enter onto your desktop. Hop into your computer and add a folder to sync. In the Shared secret field, enter the secret from your phone. In the Folder to Sync field, choose a new folder and name it Camera Backup. Once enabled, each photo will be backed up to that folder on your computer every time you open the Sync app.

camera-roll-backup-bittorrent-sync
Camera Roll Backup is an easy way to backup your photos to computer

Versioning With Bittorrent Sync

Dropbox is like a time machine. It keeps snapshots of every change in your Dropbox folder over the last 30 days. So even if you saved a bad change, or if the file has been damaged or deleted, you can restore the file to an older version with only a few clicks. But in contrast, Bittorrent Sync versioning support isn’t obvious by default, and you need to make certain changes in Folder Options setting of your PC to get it working. For Windows 8 open the View tab and select the Hidden items checkbox in the Show/Hide section of the menu.

A folder titled “.SyncArchive” will appear in the synced folder. Inside you’ll notice a the collection of saved, older version of files you’ve made changes to. Bittorrent Sync saves 30 days worth of version history by default. You can change the duration by visiting Preferences → Advanced → sync_trash_ttl, you’ll see the number ‘30’ in text entry field. Change that number to whatever the number of days you’d like Bittorrent Sync to save version histories for and then click the Set button.

There are two more configuration settings in which you can specify the maximum file size limit for patching and versioning. max_file_size_diff_for_patching determines a size difference between versions of one file for patching. When it is reached or exceeded, the file will be updated by downloading missing chunks of information (patches). By default it is 1MB. max_file_size_for_versioning determines maximum file size for creating file versions. When this size is exceeded, versions will not be created to save space or disk. By default it is 1MB.

You can definitely change these values but mind it if you increase the value substantially, your free storage space on your computer can decrease at quite a rapid rate. Generally I use versioning only for the articles and text documents.

advanced-preferences-bittorrent-sync
Advanced Preferences Menu in Bittorrent Sync

Conclusion

Bittorrent Sync gets a lot of the basics right. Setup is easy and you can share any folder with ease and access control in mind. You don’t have to worry about storage quota, cost, privacy and it’s underlying file transfer technology is quite robust. I am testing this app right from alpha version and apart from few UI glitches, the file transfer between the computer and mobile is seamless without error.

I hope with this tutorial you got the basics of Bittorrent Sync and if you have any trouble in getting started with Bittorrent Sync or have any unique method you want to share, be sure to let us know in the comments below.









Advertisement