These are my limitations: * It does not need to be synchronous (although it can be). * It is running behind a router or firewall *(this means I probably can't log on to it)... * It should provide a log of activity that can be analysed or uploaded to a server later.