IRCat/README.md

58 lines
1.7 KiB
Markdown
Raw Normal View History

2024-12-09 15:50:02 -08:00
# Codename IRCat
2024-12-08 14:03:09 -08:00
2024-12-08 15:37:25 -08:00
Lightweight IRCd in Python
2024-12-08 14:55:08 -08:00
2024-12-09 15:50:02 -08:00
* [Mastodon tag (for updates)](https://mastodon.swee.codes/tags/CodenameIRCat)
2024-12-08 14:55:08 -08:00
TODO:
- [ ] Implement the base of an IRCd, using Libera.Chat as a reference
2024-12-08 15:58:23 -08:00
- [ ] Add the (full) connection process
- [x] Add join/part, and it's requirements (WHO, etc)
- [x] Implement proper PRIVMSG
- [x] Broadcast QUIT
- [ ] DNS lookup
- [ ] Identity management
- [ ] WallOps
- [ ] Channel invite system
2024-12-08 20:19:10 -08:00
- [ ] Wildcard logic (for +b and +q)
2024-12-08 16:10:40 -08:00
- [ ] Send PING and wait for PONG
2024-12-08 21:44:32 -08:00
- [x] Reply PONG if received PING
2024-12-08 20:18:56 -08:00
- [ ] Change of nicknames
2024-12-08 15:58:23 -08:00
- [ ] User Flags
- [ ] i (invisible)
- [ ] o (IRCOP)
- [ ] w (gets wallops)
- [ ] Channel Flags
- [ ] o \<user\> (CHANOP)
- [ ] v \<user\> (voice)
- [ ] m (moderated, only let voice or op talk)
- [ ] s (don't show in LIST)
- [ ] i (invite-only)
- [ ] t (topic lock)
- [ ] n (no outside msgs, people have to join first)
- [ ] l \<num\> (user limit)
- [ ] b \<usermask\> (ban a user)
- [ ] k \<key\> (password lock)
- [ ] EXTRAS q (Quiet)
- [ ] Destructive features for CHANOPS
- [ ] `KICK`
- [ ] `MODE <channel>`
2024-12-08 16:10:40 -08:00
- [ ] Destructive features for IRCOPS
- [ ] `KILL <user> <comment>`
- [ ] `MODE <external user>`
- [ ] `RESTART`
- [ ] Extra commands
- [ ] `USERS`
- [ ] `WHOIS`
- [ ] `WHOWAS`
2024-12-08 15:37:25 -08:00
- [ ] Implement services.
2024-12-08 15:58:23 -08:00
- [ ] Nickserv
- [ ] ChanServ
2024-12-08 16:48:07 -08:00
- [ ] GitServ (Custom user for pull/restart)
2024-12-08 20:17:51 -08:00
- [ ] Link `PRIVMSG *serv` to `*serv`
2024-12-08 15:37:25 -08:00
- [ ] Add IRCv3 features.
2024-12-09 09:30:43 -08:00
- [x] List capabilities (`CAP LS 302`)
2024-12-09 13:35:10 -08:00
- [ ] `away-notify`
2024-12-08 15:58:23 -08:00
- Will research later.
2024-12-08 15:48:39 -08:00
I am going to fully read [RFC 1459](https://datatracker.ietf.org/doc/html/rfc1459) soon and add each part to the TODO.