mibbit + fastundia

If you’ve been on irc.mibbit.net you may have noticed a new face in the staff and help channels – fastundia.

Fastundia has been helping unofficially for a few months, but is now helping to guide and shape mibbit in an official capacity.

Mibbit started out as a simple project to play around with javascript and java, but has grown into a service used and enjoyed by many. Growth has been fantastic, and now we’re able to start growing Mibbit itself.

We have many plans for Mibbit, adding features, protocols, APIs, plugins, scripting and much more. Fastundia and myself will be leading these efforts which we’re both really excited about and believe will take Mibbit to the next level.

Over the next few weeks we’ll be mapping out our plans and aims for Mibbit, and will share these with you on the blog, inviting feedback and ideas. So stay tuned for exciting times ahead :)

Share links to IRC channels (New format)

If you’d like to share links to specific IRC channels to allow users to easily find them, there’s a new and easy way to link.

Previously, we had links of the form http://mibbit.com/?server=<SERVER>&channel=<CHANNEL>

This format is still supported, but we have a new, cooler link format setup, as follows:

http://mibbit.com/#help – This assumes the default IRC server of irc.mibbit.net

http://mibbit.com/#chat@irc.mozilla.org – You can include the IRC server after an @, with an optional port.

http://mibbit.com/#chat@sorcery – You can use the Network name, as shown in the server tab/drop down list, if the network is publicly listed on mibbit.

These links are useful for referencing mibbit from other places – IM, twitter, facebook, etc and give the user an easy simple form to connect to the channel.

Java and Flash communications options

To ensure that users are able to use the Mibbit client on all networks we will be adding the option of using a Java Applet bridge, and a FlashSocket to connect directly from your own machine.

The aim of Mibbit is to ensure that everyone can access a simple, easy to use, powerful web chat, and we’re striving to keep that goal in sight.

Whilst this is not a perfect solution – still may have firewall issues, and not be able to run java/flash on some machines, we feel it is worth providing to users to get the most out of Mibbit, and IRC.

We are still in dialogue with freenode, and will post any progress made there on this blog, but in the meantime, we have users wishing to use the Mibbit client to connect to freenode, and the only way to do this currently is to use a direct connection from the users machine.

The issues with freenode are complex and largely due to trust of 3rd parties (All 3rd parties – not just Mibbit), rather than anything technological. There isn’t anything further coding wise I can do at the moment. If I hear back from freenode staff with suggestions, I’ll be straight on it.

I’ve setup a basic install of pjirc at http://mibbit.com/java/ for now which you are welcome to use if you wish to connect to freenode, and this will be replaced by a version of Mibbit that uses a small Java applet bridge to connect to IRC networks. To clarify, the UI will be exactly the same as it is currently – the Java Applet will only be used for communications. We will then provide a flash option also for those without Java installed. Once again, flash will only be used to communicate with the server – not for the UI.

I hope to have a basic version working within the next few days for the main client, and then the same options will appear for the widget.

Unfortunately I didn’t foresee this situation, so your patience is very much appreciated. If you’re interested in some techie snippets of development, you can follow http://twitter.com/mibbit_svn which details the Mibbit development.

Anti abuse updates #1 (UPDATED)

EDIT: The abuse reports never made it into production, after concerns about privacy and other factors. For current Mibbit privacy policy please check http://www.mibbit.com/privacy.html and if you have any problems with abuse please contact abuse@mibbit.com –Axod

Here’s some improvements to mibbit to handle abuse in light of recent events:

* The dronebl blacklist checking which was added some months ago has been verified, and working. If networks would like mibbit to check against other blocklists, please let me know and I’ll add them in.

* Any KILL messages received from networks are now logged into a new database, including an AbuseReport – details of the IP, nick, server, recent log.

* Anyone on any network, when faced with an abusive user from Mibbit, can now do /ctcp <nick> report <optional_reason>. The client will log an AbuseReport as above, to be dealt with by staff.

* AbuseReports will be handled by mibbit staff, and a decision taken on if the IP should be blocked. Reports will be dealt with as a top priority on Mibbit. If a ban is imposed, it will be instant, and the user will be blocked completely from accessing any Mibbit website – not just the network where the abuse occurred. Note that details about the reporter are logged, and the network, so the abuseReports can’t themselves be abused. We will also check the recent log to determine if the user was indeed abusing / spamming / advertising/etc. We will also be able to see if the KILL was due to some network specific system, such as GHOSTing, in which case, we will simply ignore those. Mibbit does NOT log everything, and will only create a recent log of chat in order to determine if abuse took place or not. This will never be shared with any 3rd party. Your privacy is paramount.

* The mibbit backend now imposes a strict clone limit of 2 when a user connects to non-WEBIRC networks. For WEBIRC networks, the clone limit is dealt with by the ircd directly. This prevents people from opening multiple sessions to mibbit in order to have multiple connections to the same network, with the intent of causing trouble.

These are the first stages of updates to the Mibbit client to battle abuse and misuse of the client, please let me know if there is any feedback on the above. The majority of users are well behaved community players – if you see anyone abusing, using a mibbit client, please do report immediately.

EDIT: The abuse reports never made it into production, and will now be dropped, after concerns about privacy.

Stability issues behind us

We had quite a time working on the backend code last week, and had some stability issues, as many of you may have noticed :) I’ll be writing a tech blog post soon covering a few interesting technical details, but thought I’d share a couple of graphs here:

This graph shows the memory usage on the backend. The red line is how much memory is free. As you can see, once things went bad, they got worse pretty quickly, until memory was all used up, and the backend quit.

Now, after the fixes, here’s the new graph from the last couple of days:

Exactly what we want to see – memory usage rising and falling naturally as the usage rises and falls.

 

During the process of fixing the issues, we’ve also put in place some other protection mechanisms to ensure this sort of issue doesn’t happen again. Including an auto-restart watchdog, which will restart a backend if it thinks it’s about to run out of memory and crash – better than it crashing and requiring a manual restart.

We also hit a milestone of 7,420 outgoing IRC connections from Mibbit yesterday, and at peak we were serving around 2,400 HTTP requests per second.