owen

I was over at Dave and Larry’s last weekend for D&D, and ended up doing a bunch of computer maintenance. I laid some CAT-5 and installed anti-virus, firewall, and anti-spyware software. But Dave asked me to do something extra, and I’m having trouble finding a solution.

Here’s what he wants to do: He wants to run a private server on his system that people can access to download photo/video/audio files. He wants to be able to organize them and describe them, and I presume that allowing comments on the videos is desirable.

Now, I already installed Apache. Getting that working was pretty simple after I beat the hardware firewall in line. I mapped port 88 to his new subdomain so it’s easy to access the site on his computer from http://dave.example.com:88 . I set up a DynDNS client service on my account so that he could automatically update his dynamic IP to that subdomain. I installed PHP preliminarily so that he could run some kind of portal. The trouble is that there aren’t any good file-only portals that I’d suggest for him to run.

My first inclination is to go for something as complicated as PHP-Nuke. You must understand that Dave is not a blogger, and I don’t ever expect him to be. I think he really would rather tell a service on his computer where a file on his system resides, and simply have it serve the file. He probably doesn’t want to bother with uploading or moving files, or with running Apache and PHP and MySQL, espeically since he’s one of those guys that shuts down everything in the tray in order to eek every last bit of speed for his games.

Maybe the solution is to build a small Delphi app that serves files. It could sit in his tray, and when he wants to add a new file to the online archive, he can just right-click, pick “Add File…”, and be done with it.

An application like this could easily be used to produce RSS output for filetypes, ping outside services or email users on each update, and even secure access to its files using a small user database. All of the data could be kept in a small proprietary database, negating the need to install something huge like MySQL. It could even generate a BitTorrent Tracker page, and start the torrent server on-demand (perhaps even only if the screen saver is running). With a bit more coding it could become a resourceful client, too.

Client features could include RSS searching for torrents based on keywords. The client could use xml-rpc (or some other RPC model) to upload search results to a central server so that peers can make use of the data, too.

The really best part about it is that it doesn’t need all of the extra services. Such a program could provide the web server, the web application, a database backend, and DynDNS support, all stuffed into a convenient tray application that one could disable to conserver processor/bandwidth for games.

I wonder what the feasibility of writing such a thing would be.