Faux-IRCd to detect client versions through handshake behavior
Go to file
jesopo b533e2d0f8 detect turboirc 2019-09-08 12:48:29 +01:00
.gitignore Initial commit 2019-07-03 09:25:06 -04:00
LICENSE Initial commit 2019-07-03 09:25:06 -04:00
README.md add ii and sic to README.md 2019-07-07 12:20:11 +01:00
start.py detect turboirc 2019-09-08 12:48:29 +01:00

README.md

ircfuz

Faux-IRCd to detect client versions through handshake behavior

Currently (2019-07-04) detects: aicia, androirc, bitchx, burd, erc, hexchat, icechat, igloo, ii, irccloud, irssi, kiwiirc, konversation, limechat, mibbit, mirc, mutter, palaver, pidgin, polari, qicr, quassel, revolution, sic, textual, thelounge, weechat, znc

detection methods

  • PING :123 -> PONG :123 OR PONG 123 (pong_colon)
  • PONGing an invalidly long PING (longpong)
  • longpong causing an overflow (longpong_overflow)
  • PING tokens being cut at space (spacepong)
  • not recognising ping as PING (lowerpong)
  • PING a :twoping -> PONG :a twoping (twopong)
  • PING a :twoping -> PONG twoping (twopong_cut)
  • NICK before USER (nick_first)
  • USER disused params (user_hostname and user_servername)
  • PROTOCTL in response to NAMESX (protoctl)
  • IRCv3 support (cap)
  • IRCv3.2 CAP dance (cap_302)
  • count of CAP REQ lines (cap_req_count)
  • If the client sent CAP LIST (cap_list)