IRC-Junkie.org – IRC News

All about Internet Relay Chat

IRC Statistics Software Comparison

Today we shall have a look at the various possibilities available for statistics of activity on IRC, should you decide you want to have some pretty graphs detailing the happenings in a channel or on a whole network.

Most programs presented in this article parse logfiles generated by a variety of IRC clients, with the exception of phpDenora/Denora which needs to be run as a network service to gather its stats. However, both solutions can supplement one another as one may gather and display information that the other does or even can not.

All screenshots show results generated from the same logfile so you can directly compare the output of each software – only the output of phpDenora is taken from a live network and does not represent the numbers shown in the other screenshots. Also, it should be noted that all programs have been tested in their default configuration and most provide a host of options that may output even more detailed and fancier statistics so YMMV.

mIRCStats

Language: Pascal
License: Shareware (Full Version starting from 12$/€)
Type: Log-parser
Logformats: irssi, mIRC, Trillian, Eggdrop, irssi, HydraIRC, ircle, BNC, miau, Winbot, XChat
Output: HTML
Support: Forum

mIRCStats IRC Statistics

mIRCStats IRC Statistics

mIRCStats IRC Statistics

mIRCStats IRC Statistics

mIRCStats IRC Statistics

mIRCStats IRC Statistics

mIRCStats IRC Statistics

mIRCStats IRC Statistics

mIRCStats is one of the older and more well-known packages out there but also the only one in this comparison that is licensed as shareware. However, with paying you get access to even more advanced output and graphing options and put food on the developers table :)

The statistics it outputs leave nothing to be desired, not even in the shareware version. mIRCStats supports a wide variety of IRC clients it can parse logs from and adding new parsers is trivial – just edit a textfile that defines how certain events “look” in the log. There even is an option to automatically upload the generated files via FTP to a server of your choice so the statistics will always be up-to-date.

One downside of mIRCStats is that it is a Windows-only program which means you’ll need an always-on Windows machine that will parse the log and generate the stats if you plan on periodic updates of your stats.

pisg (Perl IRC Statistics Generator)

Language: Perl
License: GPL
Type: Log-parser
Logformats: XChat, mIRC, Eggdrop, BitchX, irssi, virc98, dancer, Trillian, Grufti, mbot, Winbot, zcbot, muh, Energymech, ircII, psyBNC, ircle, infobot, axur, bobot++, oer, perlbot, Vision, pircbot, KVIrc, HydraIRC, sirc, moobot, supybot, blootbot, dircproxy, Konversation
Output: HTML
Support: #pisg

pisg IRC Statistics

pisg IRC Statistics

pisg IRC Statistics

pisg IRC Statistics

pisg IRC Statistics

pisg IRC Statistics

pisg also is a logfile parser and, as the acronym suggests, is written in Perl which makes it multiplatform / multiOS.

The statistics it generates in its default configuration are detailed but beyond that pisg is very extendable and provides many options to further customize the output and statistics parsed and graphed by it – the documentation explains most if not all possible settings in detail. If you are using a client whose logformat is not in its extensive list of supported and supplied parsers you can create your own provided you have some knowledge of regular expressions.

With pisg, the parsing of logfiles can be automated by adding the command to cron or Task Scheduler and if you want to generate statistics for multiple channels you can easily do so by configuring it via its config-file instead of passing commandline arguments to the executable.

risg (Ruby IRC Statistics Generator)

Language: Ruby
License: MIT
Type: Log-parser
Logformats: irssi
Output: HTML, XML, Console
Support: #risg

risg IRC Statistics

risg IRC Statistics

risg IRC Statistics

risg IRC Statistics

risg IRC Statistics

risg IRC Statistics

risg, short for “Ruby IRC Statistics Generator”, also is a multiplatform / multiOS logfile parsing statistics generator programmed in Ruby.

Currently it only parses logfiles that are in irssis’ default format however parser-support is modular and one could create his own parser based on the supplied one for irssi.

Statistics graphed by risg are a bit plain and not as detailed as they could be, but given the low version number and the fact that the software still is considered to be in an “experimental stage of development” things might as well change in the future. The lack of documentation besides a basic setup and usage guide is probably also attributable to the early stage the software is in but all in all risg has potential.

Being a commandline-driven program, risgs’ statistics generation can be automated and its output can be modified, used and mangled limited only by its users imagination.

superseriousstats

Language: PHP
License: BSD
Type: Log-parser
Logformats: Eggdrop, irssi, mIRC
Output: HTML, MySQL
Support: #sss-support

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

SuperSeriousStats IRC Statistics

superseriousstats is of the “logfile parsing” variety too but, to add another programming language to the mix, is written entirely in PHP. It uses a MySQL database for data storage which opens up quite a few possibilities on how and where you can use it besides the full statistics website.

The graphs and statistics sss generates aren’t overly fancy (did you expect anything else from software that calls itself “serious”?) but some customization options are provided so you can still tweak and fiddle with them. As with the previous packages, superseriousstats is to be used from the commandline and can be executed with any scheduling daemon  – provided you have a recent version of PHP installed on the platform of your choice.

Extending the number of logformats / clients supported is just a matter of creating an appropiate parser for which you’d need to have at least a basic understanding of regular expressions.

Denora / phpDenora

Language: C / PHP
License: GPL
Type: Network Service
Logformats: -
Output: HTML, XML, MySQL
Support: #denora

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

phpDenora IRC Statistics

The combination of Denora and phpDenora is unique in that it is the only package in this comparison that must be run as a network service to gather its statistics.

The upside of this is that it can gather statistics and details the other packages can’t provide but on the flipside also means that you will need to have access to the IRC networks configuration or convince one of the admins to install it for you – otherwise you’re out of luck.

The statistics and graphs phpDenora displays are multifaceted & good-looking and due it being a network service it displays statistics for the whole network, not just one or a few channels. Denora introduces StatServ, a pseudoclient like NickServ, to the network that is able to display a selection of statistics in channel messages or notices to you.

Data parsed by Denora is available in a MySQL database or XML which makes it an ideal candidate for modeling the output your way. It should be noted that the successor for phpDenora, called MagIRC, is already in the works but is not anywhere near production-ready and therefore not suitable for most IRC nets.

Verdict:

All solutions generate useful and appealing results – one maybe a bit more than the other but in the end it’s all a matter of taste and largely depends on what you want to achieve.

If you’re looking to customize the output or scope of the graphs you should definately pick the solution that is written in the language you’re already familiar with or comfortable to learn.

What do you use to provide statistics on your network or channel?

  Copyright secured by Digiprove

phpDenora version 1.4.0 is out

The Denora project releases 1.4.0 of phpDenora which is according to Hal9000 mainly a bugfix release “with some changes to the core like utf-8 support”.

Now if you are wondering why there is nothing really new to see in this release, the explanation simply is that phpDenora2 is on the way and it would be a waste of time to dedicate any energy in making substantial changes to phpDenora 1.x. And fear not, an alpha preview release will be available sometime next month.

The changes that have been introduced “require Denora 1.4 and PHP 5.2.” and Hal9000 urges to “read the new System Requirements and the upgrade instructions carefully on the download page.”

Also the Denorastats.org website has been revamped and is worth a look :)

phpDenora fixes XSS vulnerability

After getting notified about a Cross-site scripting vulnerability in phpDenora irc-junkie quickly tried to get in touch with the project.

The vulnerability – which generally can be used to steal cookies – exists at least in phpDenoras then latest stable release, version 1.2.2 and “possibly all other versions” says developer Hal9000.

Due to lacking sanitization it was possible to exploit the vulnerability using specially crafted channelnames that would be visible on several pages of phpDenora – according to phpDenoras Hal9000 on the “channel listing, the channel stats page, the user stats page and the top channel list on the homepage – if the channel is in the top X channels”.

To test if your installation of phpDenora is vulnerable you simply can /join #<script>alert(‘XSS’)</script> and then visit one of the mentioned pages – if you’re getting a popup, you should upgrade.

But, since channels names usually are pretty limited in length and usable charset, serious threats like stolen cookies are unlikely to occur. Nonetheless this recent upgrade is a recommended one.

The download for phpDenora 1.2.3 can be found here.

Thanks go to Shawn for reporting the vulnerability, to w00t for making the initial intermediary contact to Hal9000 and of course to Hal9000 for being so quick to fix the vulnerability.

Denora IRC-Statistics version 1.4.1 released

Changes in the latest version include improved Charybdis support, Nefarious and other P10 IRCD improvements, compiling on Windows has been fixed, some other minor fixes which are unnamed and an as vaguely described “potential security issue in string handling has been adressed”.

Compiling on Windows with SQL enabled has been a “last minute fix” so the developers consider this a test release for Windows and appreciate any feedback via their bugtracker

The homepage of the project is located here

Denora 1.4.0 Released

“Yes. Oh, yes… It’s there,” the Denora website announced. “Over two years and 9 months after the last stable release, we now finally set the next major version in the wild: Denora 1.4.0! There have been hundreds of changes, improvements and fixes. We believe Denora 1.4 will bring you a more reliable and satisfying experience.”

Denora is an IRC server and network statistics package. Derived from Thales and Anope it is linked to the network as an IRC services server. Denora developer Hal9000 explains: “Basically Denora connects to its uplink ircd and fetches information about servers, channels and users. This information is partially stored in flat files and can be used to generate an HTML file, or requested via an XMLRPC interface. But the most interesting part perhaps is Denora’s ability to connect to an SQL server. Besides the basic stuff that is also stored in flatfiles, in SQL mode Denora can assign a Bot to a channel and let it monitor how much users talk and so on. This information can be used in a number of ways, the most common being via phpDenora, which is a parallel project that provides a web frontend to Denora. Also, Denora allows the addition of modules. Because of the code similarity to Anope, people familiar with coding for Anope should find at ease writing modules for Denora as well.”

It took almost 3 years to release this new stable version. IRC-Junkie asked Hal9000 why it took this long. “First I believe we were a bit too careful about releasing Denora 1.2 back in 2006, as it already was superior to version 1.1. Then we had a server hard drive crash, which ruined our SVN repository. So we had to basically go on from what we had, not really knowing what had been changed when and how. Last but not least, the founder Trystan decided to leave the project, and other devels/testers became less active.”

Hal9000 plans to release minor 1.4.x versions over time so users will not have to wait this long anymore.

Denora 1.4 is now considered stable on Unreal 3.2 and InspIRCd 1.1 networks, Nefarious, ircu and other p10-based ircds are considered to work “pretty well” with this new release.

There is no release yet for Windows. Hal9000 explains: “We got an issue with *printf functions, making Denora crash when trying to compose some longer SQL queries. We still have little clue about how to fix this, but I hope that we’ll get some help from experienced windows C coders :)