Python ircd
What is it?
Python ircd is a zero-configuration, single server
irc daemon written in python, including ChanServ and NickServ using
sqlite as database backend.
It is compatible with at least irssi, mIrc,
xchat, opera and supybot
I use it primarily to test my supybot
plugins.
Requirements
- python2.5 (python2.4 and below does not
work)
- py-sqlite3
Is it stable?
No. Bug reports are always welcome.
Where to get it?
Python ircd is contained in a single file, sirc.py. Just download and execute it.
Features
ChanServ
- Registration of channels.
- Initial topic for each registered
channel. It is set each time the channel is created
(i.e., joined by someone at a time it was empty.
- Overtake protection. The first user
joining a channel keeps op status only if he's the founder or
on the sop/aop list. A channel owner/SOP/AOP can always join
their channel by using the ChanServ FORCEJOIN command.
- Permission lists. No arbitrary "user
levels". You have SOPs, AOPs, HOPs, and VOPs. SOPs may
modify the AOP, HOP and VOP lists.
NickServ
Nick registration. Users may kill their nick by
using the GHOST command. At this time, no password recovery is
possible.
Channels
Only #-Channels are suppored. #-Channels are networkwide channels,
and since there's only one server, all channels are network wide.
The following modes are supported:
- +n PRIVMSGs to a channel may be sent only
by users joined in that channel
- +t Topic may be set by a chanop
only.
- +l n n is the maximum amount of
users
- +i Only invited users may join
- +r Only users identified with NickServ
may join
- +s Channel is secret; whois $(USER)
doesn't show the issuee is in that channel, if the issuer is
not, too. Also, channel does not show up in a LIST
command.
- +(o|h|v) $(USER) User is op/halfop/has
voice
Bugs
A lot of stuff is still hardcoded. DoS-protection is missing
completely. Sanity checks for channel names, etc. need a thorough review.
The operator password, reindeerflotilla, is hardcoded. Please
search for it in the source file and CHANGE IT! Thanks.
Contact the author
Best way to contact me is via email.