My Latest Side-Project
However, the code is pretty messy, and it's not maintained very much by its current author. I emailed him, and he said that I should go ahead and make my changes, and he'll either incorporate my patches into AWStats or I can just call it something different and ship it myself.
I've been making a lot of progress. My first focus has been to take all of the HTML output and put it into templates using the Template Toolkit, which leads to a lot of code cleanup. That's what I'm still working on now, though I've made a lot of progress on it. It's probably also led to security improvements, since I've been correctly filtering things.
I've also started to make the code use CGI.pm instead of manually sending HTTP headers and manually parsing the URL query string.
So far (I think I've worked about six or seven days cumulatively on it) the changes I've made can be represented as a patch of about 4700 lines and 203KB. For anybody who doesn't know these things, that's a huge amount of development. And that's just how big it all is as one patch--if we counted each change I made separately, it'd probably get closer to 6000 lines.
I think this will be a pretty good thing to do, because the current status of all open-source web-log analyzers is:
Webalizer: Hasn't been updated in years.
Analog: Hasn't been updated in years.
AWStats: Maintained only barely, probably full of security holes, very messy code.
And that's it. So since I know Perl pretty well (and AWStats is in Perl), I figured it would be a good thing to re-write and get out there.