I did get about 90% done with a version for 0.4 that used HTTP instead of doing ftp, scp, etc.
http://zibby.isa-geek.net/BeBot_0.4/AOWebOnline/AOWebOnline_0.0.1.zipAOWebOnline_BeBot04.php goes in custom/modules.
ASZSQLite2.php
config.php
display_online.php
index.php
online.sq2
update_online.php
Go on your web server.
Invent an encryption key (
https://www.grc.com/passwords.htm should do) and paste it into config.php. Add the same encryption key to your bot via settings, and set the URL to update_online.php (Example:
http://zibby.isa-geek.net/AOWebOnline/update_online.php)
Viewing display_online.php should kick out a basic HTML list of who is online. Never got around to making XML output.
In addition to the normal BeBot requirements, you need the PHP mcrypt and mhash modules to run the bot module.
To run the webpage, you need mcrypt, mhash, and SQLite PHP modules.
When there is a change to online status, the bot modules cron job will do a HTTP query to update_online.php. The query looks like
http://www.server.com/aowebonline/update_online.php?string=<encrypted_string>&hmac=<HMAC>&iv=<initilization_vector>. The data is encrypted and authenticated using your encryption key in a way that (according to my understanding of encryption, hashing, IVs, HMACs, etc.) secure as long as the encryption key is never disclosed to a 3rd party.
Mostly this was an exercise in symmetric key encryption. The online list was just something a bit more interesting than "Hello World!"