index › projects

symlink | projects

IRC stuff

I've spent large amounts of time on the Internet Relay Chat. I contribute to the IRCv3 Working Group, which aims to extend the 30-year-old protocol with modern features.

At the same time, I collect information about the past and present of IRC. I have a dedicated IRC documentation repository where I collect documentation about the software & the protocol – including the extension list and the family tree of IRC servers.

My writings page has a few articles documenting various bits and pieces I've written myself.

(I also archive the software itself on my laptop; not many clients, though, mostly just servers and services. It's a shame how FTP sites tend to go down...)

Also, some scripts for the Eggdrop bot: g_cap.tcl for authenticating to SASL-enabled networks, and g_ts6.tcl implementing the TS6 server-server protocol because why the hell not

code & hacks

I suck at updating this list, so you might find my code repository's readme.txt a bit more informative. But here are some things I'd worked in the past:

mpris – control MPRISv2-compatible music players

dbus-name – list and monitor DBus service names

kc – juggle multiple Kerberos ccaches

pklist – dump a parsable list of Kerberos 5 tickets – useful in shell scripts

getpaste – view Zerobin posts on the command line

dh – do a D-H key exchange over IRC

treeify – format any path-like input as a tree

rwho – maintains a centralized list of user login sessions (kinda like who/finger)

ssh-publickeyd – an RFC 4819 subsystem for OpenSSH servers; used by SecureCRT's "Public Key Assistant" (requires authorized_keys.py)

lib/authorized_keys.py – parse OpenSSH's authorized_keys files, with support for options and future key types

lib/sexp.py – parse S-expressions in Python (based on Rivest's original C code). This can parse the private keys stored by OTR.

denettalk – break Nettalk "NCTCTC001" chat encryption (based on crypto code by an anonymous author)

And a whole bunch of other programs and scripts.

All code released under WTFPL v2 unless noted otherwise.