Denial of Service

As I write this, GeekShed is suffering a large scale Denial of Service attack. It is expected that the attack is the result of a user being banned in the channel owned by Chris Pirillo. Following this ban, much flooding ensued. After this was quashed by #chris ops, a botnet was set on GeekShed. This was a relatively admirable botnet however it was fairly easily quashed by network staff.

Most of the servers that make up GeekShed are currently being bombarded with large volumes of ICMP and UDP traffic. Despite them being in data centres with large backbones and DDOS protection, they cannot withstand the volume of traffic being thrown at them and have buckled. Many of the servers have had to be null routed to prevent damage to other machines and customers. This is the second attack GeekShed has suffered as a result of someone being disgruntled at Chris Pirillo. Sadly, as Chris is currently now tucked up in bed and only offers the channel as a means for people to discuss tech related issues, this doesn’t affect him.

The people who are affected are the network staff who give their time and money to keep GeekShed running. The same network staff who donate their own servers for the good of GeekShed. The same network staff who are dragged out of bed at 4am to watch as their business sites crumble as a result of a misplaced attack.

It saddens me that someone would launch such an attack against a network of volunteers with such little cause. We must now sit out this attack and hope that the perpetrator realises the error of their ways or finds a more worthwhile place to attack. Until this time, service will be intermittent.

TOS Changes

We have today implemented a policy to help tackle ban evasion and various privacy issues on GeekShed. This policy underwent much discussion and we are confident that its implementation is beneficial for GeekShed and its users.

Our full Terms of Service can be found at the usual location.

The changes are as follows:

  • It is prohibited to assist users who are banned from GeekShed in communicating with other users on the network. This means that bots which relay information from one IRC network to GeekShed and back again are now prohibited. This also prohibits allowing banned users to in some way proxy through your Internet connection.
  • Due to the inherently public nature of IRC it is now allowed to post or relay channel conversations to other mediums (including the web, IM networks and other IRC networks) without warning the channel’s users or asking the permission of the channel owner. Channels which are an exception to this policy are those which are secret (chmode +s), private (chmode +p) or have ChanServ’s “Restricted Access” set on. It is prohibited to post or relay conversation from these channels to other mediums without the permission of the channel owner. Naturally, channel owners can modify this policy in any way they like for their own channel. For example, a channel owner of a public channel can prohibit the creation of channel stats by users or the posting of logs to quote databases, etc..
  • It is now prohibited to run any service which allows real time two way conversation between users who are directly connected to GeekShed and users who are not directly connected to GeekShed. This policy prohibits the use of relay bots which bring data from real time external sources such as IM and IRC networks and post it in GeekShed channels or private messages. This policy does not, however, prohibit the use of bots which provide services such as twitter feeds and RSS update notifications. If a user who is not connected to GeekShed would like to converse with users who are connected to GeekShed, they are more than welcome to connect and do so. This is unless, of course, they are banned.


If you have any questions on these changes, ask in #help on irc.geekshed.net.

GeekShed Bot Policy

A bot is defined as any client which joins a channel on the GeekShed IRC network and interacts with it through one or more automated scripts. If your own IRC client runs scripts which can be automatically triggered you are considered to be a bot and may be banned from the network for joining channels without the owner’s permission. To avoid this, be fully aware of the scripts that your client is running and ensure any trigger scripts are disabled in channels where permission has not been given to run them.

The following is an example of such a script:

<Phil> !uptime
<darkly57> I have been awake for 6days 7hrs 6mins 23secs


Bots are welcome on GeekShed providing that they abide by the Terms of Service. Although the whole of this document is relevant the parts especially relevant to bots are sections 7 and 8.

The most important thing to remember is: bots should NOT be joined to channels without the permission of the channel owner.

If you have any questions on allowed bots, please visit us in #help on irc.geekshed.net.

Setting a ban appeal procedure for your channel

We have written and loaded a module into services to allow you to specify a ban appeal procedure for your channel. This module will allow users to see your ban appeal information when they do /cs info #yourchannel and also online at http://www.geekshed.net/chanban/. We have made this URL easy to remember so that you can point people to it if they enter your channel asking about a ban in another channel.

Note: Because of the nature of services, this web page may be up to 5 mins out of date. Every channel with a ban appeal procedure specified will show up on this web page. If you do not wish your channel to show up do NOT specify a ban appeal procedure.

To specify ban appeal information for your channel use the following command:

/cs SET channel BANINFO [info]

An example of this would be:

/cs set #phil baninfo Bans cannot be appealed

To remove this, do the command with no appeal procedure specified. For example:

/cs set #phil baninfo

If you have any questions, ask in #help.

Ban Appeal Module

Due to the increasing number of people whining about channel bans in other channels, we came up with an easy solution. This was to create the page at http://www.geekshed.net/2010/04/ban-appeals/ and add information of channel’s ban appeal procedures. This page can than be linked to when someone is wondering what they can do about a channel ban.

However, this is a very messy solution and one that would take much time to maintain. Instead, we have come up with a better solution! We have written and loaded a module for Anope which allows anyone with access to ChanServ’s SET command, on a channel, to set a ban appeal procedure for that channel. This will, sometime in the near future, have the data taken from it and placed dynamically in the table you see in the link above. However, for the moment, ban appeal procedure info is shown if you do a “/cs info” command on a channel. For example: /cs info #help. You will see “Ban appeal information: Bans cannot be appealed”.

To set a ban appeal procedure on your channel use the following command:

/CS SET #channel BANINFO your ban info

For example:

/cs set #help baninfo Bans cannot be appealed

To remove the ban appeal procedure from your channel, just emit the procedure. For example:

/cs set #help baninfo

Anyone who requested that an appeal procedure be added to the site has had it automatically ported over into the new module.

Note: When the web page generation is complete EVERY channel with a ban appeal procedure set will be listed. If you don’t want your channel to be listed do not set an appeal procedure!

Ban Appeals

If you are banned from a channel on GeekShed you will find no help in other channels, especially #help. This post lists the ban appeal procedures for various channels on GeekShed. If the channel you were banned from is not listed on this page and you wish to appeal the ban you should PM the person who banned you. If they do not want to hear you out you should accept this and not PM them further.

This table lists the ban appeal procedures for channels:

Search For Channel:
Channel Appeal Procedure
#247fixes Bans cant be appealed
#_RTFM_ None, ya got banned, deal with it
#` None, ya got banned, deal with it
#Amazed Appease me with a burnt offering
#atmosphir Bans Cannot be Appealed
#Ben95111 Ban can be appealed at http://tinyurl.com/baninben
#blaster If you broke the "One Rule" policy and were banned, don’t bother appealing. You must apologize for your behavior, that is all.
#BNC Bans cannot be appealed
#Chris Post in the forum at http://www.geekshed.net/chrisbans/
#CNETFans Cnetfans@gmail.com
#coolsecretspy Coming Soon
#Corey E-Mail Corey@geekshed.net
#CornishNerd If you’re smart enough to get banned, do us a favour and stay out. Thanks.
#Craighton If you are banned please send an email to bans@logiclounge.com stating your nick that you were banned with and why you believe that you should be unbanned
#DAKlives No way no how
#DragonHeartsDomain Email dragonheart@wickeddreamz.cc if you feel this was done in error.
#ericjess Read "Ban Appeal Instructions" here – http://www.geekshed.net/forums/viewforum.php?f=32 – and post a thread according to those requirements
#Fort Bans cannot be appealed
#freekie E-Mail Corey@geekshed.net
#GingerGeek Bans may be appealed. Please email appeal@gingergeek.co.uk. However if you were banned for a good reason then it is unlikely I will lift your ban. If you abuse your Ban lift then you will be banned forever. Ban Evasion is not tolerated and you will be banned forever. Apart from a few exceptions.
#gio Bans can be appealed via email: Gio@insidethemindofgio.com
#hell If you’re banned, then tough. I am a strict person >.>
#help Bans cannot be appealed
#henco There are no rules in #henco – If you’re banned, you’ve been a prat, and it is unlikely you will be unbanned.
#Hooch Bans cannot be appealed. Please do not idle in this channel unless you are a Hooch user or a member of Hooch bot staff.
#iamaddictedtoirc None, ya got banned, deal with it
#iscifitv Bans on iscifi.tv must be taken to Mr Hnack. Good luck with that!
#jake Bans may be appealed at http://support.jakewright.net
#Jordan Email Jordan@Jordancooktech.com with and explanation why you was banned and why you wish to be unbanned
#Josh You may appeal your channel ban at this link http://www.geekshed.net/2010/04/ban-appeals/
#Joshua{XP} If you wish to appeal a ban from #Joshua{XP}, please visit http://joshuaxp.webs.com/forums.htm?forumID=2660845&page=1&topicID=1441345 and we will get back to you as soon as we can.
#kyltmer Some bans to the channel can be appealed at: http://kyltmer.is-a-geek.com/live/banappeals.php
#LexiesDomain You Cannot Appeal Your Ban. (Don’t be stupid in the first place, dummy)
#martyni To appeal a ban please send MartyniP a memo, /ms send MartyniP [WHY YOU SHOULD BE UNBANNED]
#milo To appeal a ban please refer to the ban appeal procedure detailed on the chat page of MiloSoft Blog (http://www.milosoft.eu). As an alternative you may email banappeals@milosoft.eu
#Orangeagreen To appeal a ban, please join #AlexKiernan and ask for more info.
#pandysroom If you walked my plank, there is no unringing that bell!
#PC-Tech E-Mail joes-computer-repair@hotmail.com
#phil If you’re dumb enough to get banned, it will stay that way.
#PokemonOmega Bans cannot be appealed
#rockmosphir I can forgive peoples who wants to be unbanned and never ever do something offensive
#RTFM None, ya got banned, deal with it
#srpeanut E-Mail bans@srpeanut.webuda.com
#star107 Please PM CamBlack to work out a solution.
#tech You can appeal at http://www.techchat.co.tv/chat/banappeal/
#tech-bans If you got banned, you deserved it. Case Closed.
#TechieFaqs None, ya got banned, deal with it
#tengrrl You’re all opers. Unban your damn self.
#TheShed TheShed doesn’t have many rules, if you got banned, you deserved it. Case Closed.
#thetechtalk Email admin@darkgamer.co.uk or darkgamer120@gmail.com or join #thetechtalk-bans to appeal
#thetechzonelive Bans cannot be appealed
#tim Bans are removed when it is decided you are allowed back in. There is no appeal process.
#TreeOfSouls PM HumanNoMore or Eltu
#unmoderated Bans cannot be appealed
#vote E-Mail bans@srpeanut.webuda.com
#Zetacon Bans cannot be appealed

How to add a list of users in your GeekShed IRC channel to your website

GeekShed now provides a live XML formatted output of users in your channel. This can be parsed and placed on your own website in the form of a list, table, etc.

The XML output can be found at http://www.geekshed.net/usertable.php?chan=. An example of the use of this for #phil is http://www.geekshed.net/usertable.php?chan=phil. To parse this into a table on your website, you can use the following PHP code. All you need do is place the code at the required location on the page and adjust the channel name at the top of the code. Following this, you can adjust the HTML to fit your site’s requirements.

<?php
// Edit This
$chan = 'phil';

// Don't edit this
$xml = simplexml_load_file('http://www.geekshed.net/usertable.php?chan='.$chan);
?>

<!-- Edit this HTML to suit your layout -->

<table>
   <tr>
      <td style="text-align: center;"><strong>Nickname</strong></td>
      <td style="text-align: center;"><strong>Status</strong></td>
      <td style="text-align: center;"><strong>Clones</strong></td>
      <td style="text-align: center;"><strong>Active (Not Away)</strong></td>
   </tr>

<?php
foreach ($xml->user as $user) {
   echo "\t<tr>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->nick}</td>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->status}</td>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->clones}</td>\n";
   echo "\t\t<td style=\"text-align: center;\">{$user->away}</td>\n";
   echo "\t</tr>\n";
}
?>
</table>


You can also access the away message left by a user who is away using $user->awaymsg inside the foreach loop.

The DTD for the XML can be found at http://www.geekshed.net/xml/userlist.dtd.

As at 08 April 2010 the returned XML now has double escaped entities (e.g. < goes to &lt; and ASCII char 2 goes to &#002;). SimpleXML in the above example will do a single unescape on these such that &lt; goes to < such that it can be used in web pages whilst keeping them valid. If you use it for anything else you will need to be sure to unescape sufficiently to give you the original characters.

If you have any questions about this, ask in #help.