|
|
3b2f30965a
|
abbreviation: a unique command-prefix resolves to its full command (abbreviation = yes)
|
2026-08-11 18:46:16 +00:00 |
|
|
|
56d3774647
|
rline: native regex engine (thompson nfa, no backtracking) + RLINE regex bans (registration/enforce/stats R/matchonnickchange)
|
2026-08-10 21:48:52 +00:00 |
|
|
|
f371ed0a18
|
connclass: cidr/parent/port/limit/globalmax + hashed/trusted-cert passwords, per-class recvq/sendq + fakelag, and rfc1413 ident
|
2026-08-10 18:46:42 +00:00 |
|
|
|
f5f888dbaa
|
connectclass: per-class connection policy (allow/deny, localmax, password, maxchans, pingfreq, timeout, modes) + PASS
|
2026-08-10 17:49:12 +00:00 |
|
|
|
1dd7f77ca8
|
operprefix + ojoin: server oper prefix (!/mode y, above owner) auto-granted to opers + OJOIN command
|
2026-08-10 13:01:07 +00:00 |
|
|
|
61954f6c5c
|
conn_waitpong: optionally require a PONG cookie before registration (anti-bot)
|
2026-08-09 23:04:14 +00:00 |
|
|
|
e0d849b4c9
|
showfile: serve a text file as its own command (e.g. /RULES), config-driven like aliases
|
2026-08-09 23:00:07 +00:00 |
|
|
|
7a99f49ca4
|
geoip: native maxmind .mmdb reader, G: geoban extban, GEOIP command, whois country
|
2026-08-09 21:43:57 +00:00 |
|
|
|
19157e0722
|
websocket: native RFC 6455 transport (ws:// + wss://) — handshake, framing, ping/pong keepalive, idle timeout, origin/proxy flags, via_websocket
|
2026-08-09 18:45:12 +00:00 |
|
|
|
4b1f096ed8
|
rpc: JSON-RPC-over-HTTP control interface — native httpd + json + dispatch, core provider
|
2026-08-09 15:54:05 +00:00 |
|
|
|
b0d767a809
|
modules: port account_registration (REGISTER/VERIFY over async HTTP API) + async http infra
|
2026-08-09 11:48:17 +00:00 |
|
|
|
131471e245
|
modules: move all per-module state/config out of server.rs/config.rs into own files
|
2026-08-09 11:18:04 +00:00 |
|
|
|
789c2ca14f
|
reputation module: per-IP score (tick accrual + persistence) + REPUTATION command; on_tick module hook
|
2026-08-09 07:28:48 +00:00 |
|
|
|
5f3ae2123d
|
ircv3_metadata_db: persist channel metadata across restart
|
2026-08-09 07:25:42 +00:00 |
|
|
|
d4ce5c008f
|
connflood: refuse connection floods from a single IP
|
2026-08-09 01:28:09 +00:00 |
|
|
|
f4c01e1bf8
|
OPERMOTD, self-service VHOST, and command aliases (config-driven)
|
2026-08-09 01:19:24 +00:00 |
|
|
|
6be8e5ebcb
|
xline_db: persist x-lines/cbans to disk, reload on start
|
2026-08-09 01:15:43 +00:00 |
|
|
|
cab53016e8
|
TBAN timed channel bans (auto-lift on the tick)
|
2026-08-09 00:58:37 +00:00 |
|
|
|
ab7188bb70
|
move draft/multiline into its own module file
|
2026-08-08 22:49:54 +00:00 |
|
|
|
d4c4c1a7d0
|
draft/multiline: inbound BATCH parsing + concat assembly, deliver assembled lines; advertise limits
|
2026-08-08 22:07:04 +00:00 |
|
|
|
f5cc12e809
|
connect: oper can dial a configured server link on demand
|
2026-08-08 20:19:14 +00:00 |
|
|
|
cc3240c04f
|
x-lines: eline (ban exempt), shun (drop commands), qline (reserved nicks)
|
2026-08-08 20:16:05 +00:00 |
|
|
|
1b7dbc4c0e
|
labeled-response + batch: capture a labeled command's replies and wrap them (single label tag / BATCH / ACK)
|
2026-08-08 19:53:34 +00:00 |
|
|
|
02528df5e9
|
sasl external: request tls client cert, plumb sha256 certfp through to user, relay to services; advertise sasl=PLAIN,EXTERNAL on tls
|
2026-08-08 19:36:48 +00:00 |
|
|
|
e736188378
|
dnsbl on connect (m_dnsbl-style, ipv4+ipv6, own module), cache + parallelize resolver, group connect notices before cap
|
2026-08-08 02:26:02 +00:00 |
|
|
|
4fc26d13e9
|
reverse-dns clients on connect with pre-registration notices (checking ident / looking up your hostname)
|
2026-08-07 18:39:03 +00:00 |
|
|
|
58596aea66
|
scale the socket engine: mio epoll reactor for client connections (tens of thousands on a few threads)
|
2026-08-05 16:46:13 +00:00 |
|
|
|
9b12791774
|
import echoircd — from-scratch irc daemon in native rust
|
2026-08-05 16:10:31 +00:00 |
|