Legendary file-sharing site The Pirate Bay may have finally been forced offline, but that doesn’t mean that the less-than-legal file-sharing scene has slowed down—the shady BitTorrent hydra has many more heads to take The Pirate Bay’s place. In fact, if the folks at torrent site Isohunt have their way, there will very soon be many, many more heads: the site has released an open sourced "copy" of The Pirate Bay called "Open Bay" that anyone with access to a Web server can install and run.

The Open Bay project maintainers have set up a GitHub repository for the Open Bay application and written instructions covering how to get your very own Open Bay site up and running—complete with example configuration files. To make it work, you need at minimum a Web server running Apache or Nginx and PHP (either with mod_php or PHP-FPM or whatever other PHP method you prefer); since we’ve got one of those in our closet, we decided to take a crack at installing the application to see how it works.

What Open Bay is not

I was hoping that Open Bay would be a full-featured Bittorrent site wherein I could both search for and also add torrents; I’d planned on setting everything up and then offering out a complete set of Linux ISO torrent links to prove that it worked. However, it’s important to be clear at the outset that Open Bay’s primary purpose is to be a copy of The Pirate Bay.

The key word here is "copy," because to really make Open Bay work for you, you either need to use Isohunt’s remote torrent database—which makes Open Bay really just a self-hosted front end rather than a full featured torrent site—or you need to download an almost 900MB torrent database dump (which comes as a 441MB gzipped CSV file with about 8 million torrents and their associated magnet link hashes, sourced from The Pirate Bay as well as other torrent sites). The intent is that you first set up the Open Bay application, then either point it at Isohunt’s database or dump the CSV file into your own MySQL database. Once you’ve brought these two halves together, the resultant whole is a torrent search site with about 8 million working torrents you can search through and download.

What you can’t do is list your own torrents—at least, not without directly adding them to the MySQL database. This definitely helps keep the Open Bay application simpler both from a development perspective and also for would-be Open Bay administrators to install and configure, but it also limits the application’s usefulness. For right now, it’s really good for only one thing: running a static sort-of copy of The Pirate Bay.

Forging ahead anyway

But, what the heck, it’s Friday, so we set it up anyway—though without importing the large database dump needed to really fill out its functionality.

We’ve already got our Nginx Web server humming along, so we cloned the GitHub repository down into a spare directory. Easy so far!

There’s an included Nginx example configuration file, so we did a bit of tweaking on that so that it matched our setup and worked with HTTPS; we also added a CNAME to our local bind9 DNS server so that we could hit the site up directly by name. Our PHP-FPM configuration was already in pretty good shape, so we left that alone.

After reloading Nginx, we headed to our new Open Bay site, which greeted us with the setup screens:









We first left all the options at default and clicked through, and it worked exactly as advertised; we had a searchable (if a bit slow) gigantic bunch of torrents on our screen, courtesy of Isohunt. Total setup time for this was probably something like ten minutes, including faffing around at the command line.

But simple is never enough for us, so we deleted the directory, re-cloned it from GitHub, and visited again. This time, we wanted to see about taking matters into our own hands and go fully self-hosted with our own database.

There are actually two things you need to do to make this work well: the first is to create a MySQL database (and, if you’re doing it the right way, to also create a dedicated MySQL user and password to go with it). The second is to set up your own instance of Sphinx, a powerful and fast search application that Open Bay can take advantage of. Getting Sphinx set up took a bit of time, since it wasn’t an application we’d previously fiddled with, but between Open Bay’s included Sphinx example configuration and the documentation, we got it working without too many hitches.

If you don’t use Isohunt’s default remote database or import the big 8 million-torrent CSV dump, you start out with a very spare site: your database gets created with just five torrents in it.









These are real and functional and can be downloaded, but as noted earlier there’s no easy way to actually add your own torrents to the list—nothing at all like The Pirate Bay’s upload button. If you want to stuff your own torrents in there and use this as your own private torrent search engine, the only way to do it is to manually edit the MySQL database. Fortunately, that’s not super-difficult: there’s only a single table and it's pretty straightforward what fields are what.

As a protest statement against copyright, Open Bay works pretty well—anyone with shared hosting and the ability to run PHP can toss it up within minutes and be contributing to copyright infringement across a wide range of media—the default configuration’s 8 million torrents include TV, movies, books, software, and music (and, yes, a lot of porn). But as an actual useful web application, it has a ways to go. We’d have preferred to see something like this launch at least with the ability to upload your own torrents; in its current form, Open Bay doesn’t have much utility beyond pure piracy.