docs: add a full docs/ manual (architecture, configuration, modes, operators, linking, ircv3, anti-abuse, deployment, building) and refresh the README for the reactor pool + TLS-in-reactor + resilience
This commit is contained in:
parent
d8a963d0f9
commit
bd054f7721
11 changed files with 1182 additions and 11 deletions
71
docs/ircv3.md
Normal file
71
docs/ircv3.md
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
# IRCv3
|
||||
|
||||
echoIRCd implements a broad set of [IRCv3](https://ircv3.net) capabilities. A
|
||||
client negotiates them with `CAP LS` / `CAP REQ`; `cap-notify` keeps the client
|
||||
informed as they change. This page groups what's supported.
|
||||
|
||||
## Message tags & framing
|
||||
|
||||
| Capability | What it adds |
|
||||
|------------|--------------|
|
||||
| `message-tags` (+ `msgid`) | Arbitrary message tags, and a unique `msgid` on messages. |
|
||||
| `server-time` | A `time` tag with the server's timestamp on each message. |
|
||||
| `account-tag` | The sender's logged-in account as a tag. |
|
||||
| `echo-message` | The server echoes your own `PRIVMSG`/`NOTICE` back to you. |
|
||||
| `labeled-response` | Correlate a response batch to the command that caused it. |
|
||||
| `batch` | Group related messages (history playback, netjoins, …). |
|
||||
| `standard-replies` | Structured `FAIL` / `WARN` / `NOTE` replies. |
|
||||
| `TAGMSG` | A tag-only message (e.g. typing / reactions) with no text body. |
|
||||
|
||||
## Membership & identity
|
||||
|
||||
| Capability | What it adds |
|
||||
|------------|--------------|
|
||||
| `extended-join` | Account and real name included in `JOIN`. |
|
||||
| `account-notify` | Notified when a user logs in / out of an account. |
|
||||
| `away-notify` | Notified when a user's away state changes. |
|
||||
| `chghost` | Notified when a user's host/ident changes (instead of a rejoin). |
|
||||
| `setname` | Change your real name in-session (`SETNAME`). |
|
||||
| `multi-prefix` | See all of a member's status prefixes at once. |
|
||||
| `userhost-in-names` | Full `nick!user@host` in `NAMES`. |
|
||||
| `invite-notify` | Channel ops see invites to their channel. |
|
||||
|
||||
## Authentication
|
||||
|
||||
| Capability | What it adds |
|
||||
|------------|--------------|
|
||||
| `sasl` | `AUTHENTICATE` with **PLAIN** or **EXTERNAL** (client-cert / CertFP), relayed to the services server. See [linking](linking.md). |
|
||||
| `draft/account-registration` | Create and confirm an account in-band with `REGISTER` / `VERIFY`. |
|
||||
|
||||
## History & messaging
|
||||
|
||||
| Capability | What it adds |
|
||||
|------------|--------------|
|
||||
| `draft/chathistory` | `CHATHISTORY` — fetch recent messages for a conversation. |
|
||||
| `draft/message-redaction` | `REDACT` — delete/redact a prior message. |
|
||||
| `draft/multiline` | Send one logical message spanning multiple lines. |
|
||||
| `draft/read-marker` | `MARKREAD` — set/query the last-read point of a conversation. |
|
||||
| `draft/relaymsg` | `RELAYMSG` — speak under a spoofed relay nick (for bridges). |
|
||||
|
||||
## Monitoring & notifications
|
||||
|
||||
`MONITOR` (+ `extended-monitor`), the legacy `WATCH` list, `SILENCE`, and
|
||||
caller-id (`ACCEPT` + user mode `+g`) let clients track other users' presence and
|
||||
control who may message them.
|
||||
|
||||
## Metadata & misc
|
||||
|
||||
| Capability / feature | What it adds |
|
||||
|----------------------|--------------|
|
||||
| `draft/metadata-2` | `METADATA` key/value data on users and channels. |
|
||||
| `draft/extended-isupport` | Re-request the current ISUPPORT tokens on demand. |
|
||||
| `draft/json-log` | Stream the server log to an oper as JSON. |
|
||||
| `EXTJWT` | A short-lived, server-signed HS256 token a client can present elsewhere. |
|
||||
| network icon / profile link | Advertise a network icon and per-account profile URLs. |
|
||||
|
||||
## ISUPPORT
|
||||
|
||||
On registration the server advertises its limits and features via `RPL_ISUPPORT`
|
||||
(005), including `PREFIX`, `CHANMODES`, `EXTBAN` (see [modes](modes.md)), `WHOX`,
|
||||
`CHATHISTORY`, `MONITOR` / `WATCH` / `SILENCE` sizes, `NICKLEN` / `CHANNELLEN`,
|
||||
`CASEMAPPING=ascii`, `UTF8ONLY`, and `NETWORK`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue