This is a follow-up post to this one (Dedicated BitTorrent Server).
My enthusiasm for TorrentFlux was a bit overblown because after using it for a few weeks I came to the understanding that TorrentFlux sucks. Sorry to be so blunt but it's a fact (at least on a Windows Server & in comparison to other Windows clients). The web script is buggy and crashes often. When it's not crashing, it's busy having no idea how to read 3/4 of the torrents you try to upload to it and the logging is so poor that the user has no clue as to the nature of a failure.
So, we're back to using the best BitTorrent client out there uTorrent. Of course uTorrent is a desktop application but it does come with a built in WebUI feature that allows users to remote control it from anywhere from any web browser. So for this to meet the goals of the previous post we need to be able to access the BitTorrent web server from any client and we need the server to run as a service so we don't have to log in with remote desktop and turn on uTorrent each time someone on the network wants to use it.
First things first, we install uTorrent on the Windows 2003 server. Next we edit the uTorrent properties to use the correct port for our network and setup WebUI. These settings can be found in the properties sheet of the program. See this post for detailed instructions for installing WebUI. Basically, I just had to download a zip file, rename it to WebUI.zip and place it in my user's %APPDATA% directory.
I launched uTorrent and verified that I could access http://localhost:3000/gui/ in the web browser (3000 is the port I run WebUI on).
Next up is the Windows NT Service Wrapper. Rather than write something I used an awesome Service daemon on code-project called XYNTService. Below you can see the ini configuration I used to setup the service.
[Settings]
ServiceName=XYNTService
CheckProcessSeconds = 30
[Process0]
CommandLine = C:\Progra~1\uTorrent\uTorrent.exe
WorkingDir= C:\Progra~1\uTorrent
PauseStart= 1000
PauseEnd= 1000
UserInterface = Yes
Restart = Yes
In the Service Control Manager in Windows (compmgmt.msc) I set the service to log on with the account I installed uTorrent with. It won't work otherwise.
Thats it! Now we have a BitTorrent Server running on a network server that all of our users can use and we don't have to install BT software on every machine and we can monitor our users activity!