After some trial and error, I discovered a few ways to do this. The easiest solution requiring no Windows client and no external programs is option 1. The absolute easiest method is option 2, use µTorrent for Windows.
Share between computers running µTorrent without a tracker
This assumes that your µTorrent machines can open their own ports in your firewall using uPNP or NAT-PMP. While this may work with other torrent clients, I've had the best luck when using µTorrent. Also, it seems to be one of the few that will allow us to manually add peers, the crucial step.
For simplicity, we'll call the machine with the file(s) to share, "server", even though bittorrent has no concept of a server.
On the server machine, select
New Torrent from the
- Select the file or parent directory you want to share
- Make sure the tracker list is empty
Create and Save As... and give your torrent file a name.
At this point, you need to figure out your server's internet IP address. If you don't know how, try http://whatismyip.com.
With the IP in hand, you need to figure out what port µTorrent has opened in your firewall. You can find this in the preferences or by clicking on the right-most icon in the status bar at the bottom of the main µTorrent window.
Send the torrent file along with the IP and Port (e-mail, instant message, etc.) to your colleague(s).
Each of them should open that torrent file with µTorrent, select the torrent in the list, and select the
Peers list. They may have to show the Details Pane from the View menu if not already visible.
Right-click in the Peers list and choose
Enter the server's IP and Port like this: IP:Port.
The client should now connect to the server and start/resume the transfer.
Note: If the server cannot open a port in the firewall, you could add the client peers to the server's peer list, too.
Use a Windows machine with µTorrent as a tracker
In the Preferences, under Advanced, set bt.enable_tracker to true. Now, create a new torrent as described above, but put
http://IP:PORT/announce in the tracker list using the same IP and Port described above. Once this is done, your clients will not need the
Add Peer... step. They can simply open the torrent file with µTorrent.
Note: The Windows machine running the µTorrent tracker doesn't have to be the server or the clients. If you have any Windows machine available, you could run µTorrent on it and have it serve as your tracker. (I didn't actually test this, but in theory, it should work.)
Install a simple php web-server tracker
If you already have access to a webserver, the easiest tracker I found to install is BitStorm, a single-file php tracker. Simply place the php file on your server somewhere and then put
http://server/path/to/bitstorm.php in your tracker list when creating a new torrent. The clients should only need the torrent file.
Note: If I were going to leave this running for the sharing of private files, I would put it on an HTTPS server with a username and password pair to protect it. Then change the tracker url to
Install an actual compiled tracker program
I found several of these that will compile and run on OSX, but none of them seem to work properly in my testing. My tests may have been complicated by the fact that my tracker and clients all had the same IP address (my external IP). Regardless, I don't think this is the right solution because you shouldn't need to require developer tools to be installed.
Warning: I tried using Vuze, an OSX torrent client with a built-in tracker, but I couldn't get it to work. However, it seems that it installed several plugins into every single browser on my system and changed all of my default search engines. Be careful.