Blog Torrent

A greatly simplified bittorrent experience from Downhill Battle.
(back to frontpage)

Donate!

Downhill Battle is a non-profit organization and we really need your support to be able to fix bugs, add features, manage the project, and improve the interface. (See our priority features below.)

Develop!

Join the Blog Torrent developer team. Check out the sourceforge page and get on the mailing list.

How Blog Torrent works

Blog Torrent is a package that makes Bittorrent easy to use. Bittorrent is the most popular way to distribute large audio and video files online. Right now Bittorrent constitutes about 35% of all internet traffic (for real). Using Bittorrent, anybody with broadband can distribute a large file (for example, television programming) to a mass audience, without needing a big expensive server. This works because with Bittorrent, everyone who wants the file helps distribute it.

Bittorrent Basics

Here's how it works. First, people make files available on their webpages using Bittorrent. In order to download these files, you need to get a Bittorrent client for your computer. Once you have the client, you can download files from any website that uses Bittorrent.


When you click on a link to a file, you actually just get a tiny "torrent" file that tells your Bittorrent client how to get the file you're looking for. Specifically, the torrent file tells your client to connect to a special type of server (called a tracker) to find other people who have all, or parts of, that file. Once your client finds those people, it starts downloading from them. As long as one person has a whole copy of the file, everybody will get it eventually.

Blog Torrent Basics

The problem with Bittorrent is that downloading files can be confusing to first time users, and making files available is difficult for everybody--even geeks. Blog Torrent is a specially packaged version of Bittorrent that solves all these problems by letting the Bittorrent client communicate with the tracker.

Blog Torrent also makes it really easy to set up trackers. Just upload the folder to your website, change some permissions, and it's ready to go.

The Details

Downloading
Once you have Bittorrent installed, using it to download files is really simple. But--and this is going to sound crazy to all you programmers out there--there are tons of people who just never make it over this hurdle. So, what blogtorrent does is give users "easy download" links in addition to links to the torrent files. The "easy download" link gives them the torrent file they want wrapped in an executable installer. The installer just installs Bittorrent, asks them where to save the file, and starts getting the torrent they want.

We can pass information to the installer by using PHP to append data to the .exe file, and a modified version of NSIS that's aware of any data appended to the exe for the Windows installer. For Mac, we include the information in a .zip containing the .app bundle. If they already have Blog Torrent installed, the "easy download" links just give the user a torrent file.

Uploading
This is where things get cool. By letting the tracker talk to the client, we can make starting a torrent as easy as uploading a file to a webpage. When somebody who already has the client clicks upload, they get a small file, that Blog Torrent is registered to handle. The file contains all the necessary information about the tracker, so when the client opens the file, it knows exactly where to upload torrents to. The client just asks the user to pick a file to upload, and when the user picks a file the client makes a torrent out of it, uploads the torrent to our tracker, and begins seeding. There's also an authentication process so that unauthorized users can't upload torrents to the tracker. Finally, we use the same pass-data-to-the-exe technique, so that when a first time user wants to upload something, the get asked to choose a file right after they install (no need to go back to the upload page and click again).

The Tracker
The tracker is a simple PHP tracker (based on FBTT) designed to be easy to install. We chose to use flat files by default and to make MySQL optional so that people don't have to fiddle with setting up a database. Just upload the folder and it's ready to go. Some people might need to change permissions on certain folders, but if that's the case the tracker realizes it and tell them so. The first person to login can make an account, and then they can manage the tracker.

Another feature we're really excited about is RSS. Every tracker makes an RSS feed of all publicly available torrents. The RSS feed supports enclosures, so it will work with programs like Torrentocracy or iPodderX that can automatically download RSS feeds of torrents. The RSS feed also includes "stats" data on your most popular torrents. If people want they can ping Blogtorrent.com with the URL to their RSS feed. At some point, we hope we can put together an awesome, blogdex-style "Blogtorrent Top 40".

Stuff: The new horizons of distance education bring about the new dimensions to be explored further. The networking skills can easily be acquired taking the BCMSN 642-812 exam. For effective security and remote access, exams exist in the form of ISCW 642-825 exam, and the ONT 642-845 exam.