scriptkitty
scriptkitty is a bot designed to parse PHP code on IRC channels and report back
the output of the snippet.
Its purpose is to test or demonstrate code snippets live either for yourself
or for others. The intended audience are PHP support channels in need of a code
demonstration facility.
Features
- PHP 5.3.1
- Extensions: BCMath, Calender, Date, DOM, GD, JSON, LibXML, MySQL, MySQLi, PCRE, Reflection, Session, SimpleXML, SPL, SQLite, XML
- MySQL 6.0
- User sessions
- File system access (Browse files)
- $_GET, $_POST, $_COOKIE
- Web output
Habitat
For public access, scriptkitty can be found in #php.bottest on QuakeNet or
alternatively be queried on every network it is on (see below).
For a quick introduction please refer to the usage
manual.
scriptkitty is currently used by the following channels:
If you operate a PHP support or other channel yourself and think scriptkitty
would be a valuable asset to it, contact me ("SlashLife") on QuakeNet or
Freenode.
Please do not contact me about adding scriptkitty to any channel you are not
at least an operator in or if your interest in scriptkitty would be merely as a
toy or free idler.
Source Code
scriptkitty is driven by about 15000 lines of C++ and 1200 lines of PHP. An
additional 300 lines of PHP and shellscript each make sure to keep it clean,
while this page consists of around 2500 lines of PHP so far.
Please do not ask me about publishing the whole codebase used in scriptkitty -
for the moment, I have decided to keep it to myself. Should I change my mind, I
will do so on my own; nagging me will only delay it. However, it is vastly
based on the phpparse module of my IRC library which is released under the
terms of the LGPL and has its project site on SourceForge.
Acknowledgement
First of all, my thanks go out to the PHP development team, without which - for obvious reasons - this bot would have no purpose to exist.
On a similar behalf I thank anyone who carefully influenced the C++ language to become the language it is today, without which the bot might exist but most likely would have been a much larger challenge to develop in a secure manner.
However, the security would be nothing without the OS allowing for such models, so a big "Thank you" goes out to the FreeBSD team.
Next I want to express my appreciation to all the testers, whether they were successful at compromising scriptkitty or not. They sure gave her a hard time - sometimes they gave me a hard time as well, but it greatly helped improving the stability of the bot.
And finally: Thanks to the staff of all the channels mentioned above for putting their trust in scriptkitty.
