2.6 KiB
2.6 KiB
To-Do list
- Implement the base of an IRCd, using Libera.Chat and RFC1459 as a reference
- Add the (full) connection process (0.0.4)
- Add join/part, and it's requirements (WHO, etc) (0.0.1)
- Implement proper PRIVMSG (0.0.1)
- Broadcast QUIT (0.0.1)
- DNS lookup (0.0.1)
- WallOps
- Channel invite system
- Wildcard logic (for +b and +q)
- Send PING and wait for PONG (0.0.1)
- Reply PONG if received PING (0.0.1)
- Change of nicknames (0.0.1)
- Away (0.0.1)
- Multi-server support
LIST
(0.0.5)TOPIC
(0.0.7)
- Database support
- User Flags
- i (invisible)
- o (IRCOP) (0.0.7)
- w (gets wallops)
- Channel Flags
- o <user> (CHANOP) (0.0.7)
- 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 <usermask> (Quiet)
- Destructive features for CHANOPS
KICK
MODE <channel>
- Destructive features for IRCOPS
KILL <user> <comment>
MODE <external user>
RESTART
(0.07)
- Extra commands
NAMES
(0.0.1)WHOIS
(0.0.1)WHOWAS
- Implement services.
- Nickserv (0.0.7)
- ChanServ
- CatServ (Outside of PawServ) (0.0.4)
- Link
PRIVMSG *serv
to*serv
(0.0.4)
- Extra
(not planned)features- ident support (0.0.5)
- Authentication
- Store credentials in
an SQLite3 file.database engine (0.0.1) - Map NickServ IDENTIFY (0.0.7)
- Map PASS (0.0.7)
- Store credentials in
- SSL/TLS
- Use a thread to accept connections on SSL port 6697 (0.0.1)
- Automatically reload the certificate
if defined in config.(0.0.1)
- Add IRCv3 features.
- List capabilities (
CAP LS 302
) (0.0.1) away-notify
tls
(STARTTLS)sasl
server-time
(0.0.7)account-notify
account-tag
(0.0.7)- Will research later. I am going to fully read RFC 1459 soon and add each part to the TODO.
- List capabilities (