One more thing:
Freenode has given me about ~20 slots to work with on this demo. If you can't connect, try another network, like `irc.rizon.net` or something.
KiwiIRC uses this protocol apparently. I asked the author about it and they said they have worked out special arrangements with some networks to implement it, and accept connections exclusively from Kiwi, I presume? After all, a password is required according to this spec:
https://kiwiirc.com/docs/webirc
The 20 slot limit being mentioned is just in regards to the demo connecting to freenode. The demo connects to freenode from a single IP address and freenode has limits on how many connections you can have from one IP. It's not something you need to worry about in a normal use-case.
It's really stable (been using it for weeks without restarting) and I've even implemented a mobile interface: https://db.tt/fYTswBwO
You'll find the install instructions in the README (or just `npm install shout`). No configuration required. Should take under a minute to get it running if you already have NPM.
It's open source. Feel free to try it, browse the code and leave some feedback. If you want to work with me, it's open for contributions!
I've been thinking about storing the logs in .txt-files (with the option to turn this feature on/off). This way, I could let the user download the logs directly via the browser.
I'm not familiar with how difficult it may be, so please tell me if I'm off base. But couldn't you offer the option for either text logs or HTML logs? I know that when given the option, I opt for HTML logs for the ease of reading.
While I haven't implemented the logging yet, I'm thinking about storing them in the JSON-format. Messages are already stored as JavaScript object, so I think this is my best option. And exporting them as .txt on demand, shouldn't be a problem either.