Browse Source

Update docs

tags/v1.0.0
Daniel Oaks 5 years ago
parent
commit
9f3691794b
3 changed files with 40 additions and 28 deletions
  1. 3
    1
      README
  2. 33
    27
      docs/MANUAL.md
  3. 4
    0
      docs/MOTDFORMATTING.md

+ 3
- 1
README View File

@@ -46,10 +46,12 @@ If you're updating from a previous version of Oragono, checkout the CHANGELOG fo
46 46
 of important changes you'll want to take a look at. The change log details config changes,
47 47
 fixes, new features and anything else you'll want to be aware of!
48 48
 
49
-If there's been a database update, you'll also need to run this command:
49
+If there's been a database update, you can run this command to upgrade it manually:
50 50
 
51 51
     $ oragono upgradedb
52 52
 
53
+Otherwise, just starting the server will run an automagic backup and upgrade.
54
+
53 55
 
54 56
 === Credits ===
55 57
 

+ 33
- 27
docs/MANUAL.md View File

@@ -5,7 +5,7 @@
5 5
     ▐█▌.▐▌▐█•█▌▐█ ▪▐▌▐█▄▪▐█▐█▌ ▐▌██▐█▌▐█▌.▐▌
6 6
      ▀█▄▀▪.▀  ▀ ▀  ▀ ·▀▀▀▀  ▀█▄▀ ▀▀ █▪ ▀█▄▀▪
7 7
 
8
-         Oragono IRCd Manual 2018-04-11
8
+         Oragono IRCd Manual 2019-02-23
9 9
               https://oragono.io/
10 10
 
11 11
 _Copyright © 2018 Daniel Oaks <daniel@danieloaks.net>_
@@ -49,22 +49,22 @@ If you have any suggestions, issues or questions, feel free to submit an issue o
49 49
 
50 50
 ## Project Basics
51 51
 
52
-Let's go over some basics, for those new to Oragono. My name's Daniel, and I started the project (it was forked off a server called [Ergonomadic](https://github.com/edmund-huber/ergonomadic) that'd been around for a few years). In addition to Oragono, I also do a lot of IRC specification work with the [various](https://modern.ircdocs.horse) [ircdocs](https://defs.ircdocs.horse) [projects](https://ircdocs.horse/specs/) and with the [IRCv3 WG](https://ircv3.net/).
52
+Let's go over some basics, for those new to Oragono. My name's Daniel, and I started the project (it was forked off a server called [Ergonomadic](https://github.com/edmund-huber/ergonomadic) that'd been around for a number of years). In addition to Oragono, I also do a lot of IRC specification work with the [various](https://modern.ircdocs.horse) [ircdocs](https://defs.ircdocs.horse) [projects](https://ircdocs.horse/specs/) and with the [IRCv3 Working Group](https://ircv3.net/).
53 53
 
54 54
 Oragono's a new IRC server, written from scratch. My main goals when starting the project was to write a server that:
55 55
 
56
-- Is fully-functional (most of my attempts in the past which had been 'toy' quality).
57
-- I could easily prototype new [IRCv3](https://ircv3.net/) proposals and features in.
58
-- I could consider a reference implementation for the [Modern spec](https://modern.ircdocs.horse).
56
+- Is fully-functional.
57
+- I can use to very easily prototype new [IRCv3](https://ircv3.net/) proposals and features.
58
+- I can consider a reference implementation for the [Modern spec](https://modern.ircdocs.horse).
59 59
 
60
-All in all, these have gone pretty well. The server has relatively extensive command coverage, it prototypes a whole lot of the IRCv3 proposals and accepted/draft specs, and I pretty regularly update it to match new behaviour written into the Modern spec.
60
+All in all, these have gone pretty well. The server has relatively extensive command coverage, it prototypes a whole lot of the IRCv3 proposals and accepted/draft specs, and we pretty regularly update it to match new behaviour written into the Modern spec.
61 61
 
62 62
 Some of the features that sets Oragono apart from other servers are:
63 63
 
64
-- Extensive IRCv3 support (more than any other server, currently).
65
-- Extensive logging and oper privilege levels.
64
+- Extensive IRCv3 support.
65
+- Extensive logging and oper privilege levels configuration.
66 66
 - Integrated user account and channel registration system (no services required!).
67
-- Native Unicode support (including casemapping for that Unicode).
67
+- Native Unicode support (including appropriate casemapping).
68 68
 - Support for [multiple languages](https://crowdin.com/project/oragono).
69 69
 
70 70
 
@@ -141,28 +141,28 @@ If you want to use a TLS client certificate to authenticate (`SASL CERTFP`), the
141 141
 
142 142
 Once you've registered, you'll need to setup SASL to login (or use NickServ IDENTIFY). One of the more complete SASL instruction pages is Freenode's page [here](https://freenode.net/kb/answer/sasl). Open up that page, find your IRC client and then setup SASL with your chosen username and password!
143 143
 
144
-## Nickname reservation
144
+## Account/Nick Modes
145 145
 
146 146
 Oragono supports several different modes of operation with respect to accounts and nicknames.
147 147
 
148 148
 ### Traditional / lenient mode
149 149
 
150
-This is the mode that matches the typical pre-modern ircd behavior. In this mode, there is no connection between account names and nicknames. Anyone can use any nickname (as long as it's not already in use by another running client). However, accounts are still useful: they can be used to register channels (see below), and some IRCv3-capable clients (with the `account-tag` or `extended-join` capabilities) may be able to take advantage of them.
150
+This is the default mode, and makes Oragono's services act similar to Quakenet's Q bot. In this mode, users cannot own or reserve nicknames. In other words, there is no connection between account names and nicknames. Anyone can use any nickname (as long as it's not already in use by another running client). However, accounts are still useful: they can be used to register channels (see below), and some IRCv3-capable clients (with the `account-tag` or `extended-join` capabilities) may be able to take advantage of them.
151 151
 
152
-To enable this mode, set the following configs (they are the defaults):
152
+To enable this mode, set the following configs (this is the default mode):
153 153
 
154 154
 * `accounts.registration.enabled = true`
155 155
 * `accounts.authentication-enabled = true`
156 156
 * `accounts.nick-reservation.enabled = false`
157 157
 
158
-### Nick reservation
158
+### Nick ownership
159 159
 
160
-This is the mode corresponding to a typical IRC network with a service system (like Freenode). In this mode, registering an account gives you privileges over the use of that account as a nickname. The server will then help you to enforce control over your nickname(s):
160
+This mode makes Oragono's services act like those of a typical IRC network (like Freenode). In this mode, registering an account gives you privileges over the use of that account as a nickname. The server will then help you to enforce control over your nickname(s):
161 161
 
162 162
 * You can proactively prevent anyone from using your nickname, unless they're already logged into your account
163 163
 * Alternately, you can give clients a grace period to log into your account, but if they don't and the grace period expires, the server will change their nickname to something else
164
-* Alternately, you can forego any proactive enforcement --- but if you decide you want to reclaim your nickname from a squatter, you can `/msg Nickserv ghost stolen_nickname` and they'll be disconnected
165
-* You can associate additional nicknames with your account by changing to it and then issuing `/msg nickserv group`
164
+* Alternately, you can forego any proactive enforcement  but if you decide you want to reclaim your nickname from a squatter, you can `/msg Nickserv ghost stolen_nickname` and they'll be disconnected
165
+* You can associate additional nicknames with your account by changing to it and then issuing `/msg NickServ group`
166 166
 
167 167
 To enable this mode, set the following configs:
168 168
 
@@ -170,16 +170,16 @@ To enable this mode, set the following configs:
170 170
 * `accounts.authentication-enabled = true`
171 171
 * `accounts.nick-reservation.enabled = true`
172 172
 
173
-The following additional configs are recommended:
173
+The following additional configs may be of interest:
174 174
 
175 175
 * `accounts.nick-reservation.method = timeout` ; setting `strict` here effectively forces people to use SASL, and some popular clients either do not support SASL, or have bugs in their SASL implementations.
176
-* `accounts.nick-reservation.allow-custom-enforcement = true` ; this allows people to opt into strict enforcement, or opt out of enforcement. For details on how to do this, `/msg nickserv help enforce`.
176
+* `accounts.nick-reservation.allow-custom-enforcement = true` ; this allows people to opt into strict enforcement or opt out of enforcement as they wish. For details on how to do this, `/msg NickServ help enforce`.
177 177
 
178 178
 ### SASL-only mode
179 179
 
180 180
 This mode is comparable to Slack, Mattermost, or similar products intended as internal chat servers for an organization or team. In this mode, clients cannot connect to the server unless they log in with SASL as part of the initial handshake. This allows Oragono to be deployed facing the public Internet, with fine-grained control over who can log in.
181 181
 
182
-In this mode, clients must have a valid account to connect, so they cannot register their own accounts. Accordingly, an operator must do the initial account creation, using the `SAREGISTER` command of NickServ. (For more details, `/msg nickserv help saregister`.) To bootstrap this process, you can make an initial connection from localhost, which is exempt (by default) from the requirement, or temporarily add your own IP to the exemption list. You can also use a more permissive configuration for bootstrapping, then switch to this one once you have your account. Another possibility is permanently exempting an internal network, e.g., `10.0.0.0/8`, that only trusted people can access.
182
+In this mode, clients must have a valid account to connect, so they cannot register their own accounts. Accordingly, an operator must do the initial account creation, using the `SAREGISTER` command of NickServ. (For more details, `/msg NickServ help saregister`.) To bootstrap this process, you can make an initial connection from localhost, which is exempt (by default) from the requirement, or temporarily add your own IP to the exemption list. You can also use a more permissive configuration for bootstrapping, then switch to this one once you have your account. Another possibility is permanently exempting an internal network, e.g., `10.0.0.0/8`, that only trusted people can access.
183 183
 
184 184
 To enable this mode, set the following configs:
185 185
 
@@ -216,21 +216,27 @@ To see which languages are supported, run this command:
216 216
 
217 217
 In the resulting text, you should see a token that looks something like this:
218 218
 
219
-    draft/languages=5,en,~fr-FR,no,~pt-BR,tr-TR
219
+    draft/languages=11,en,~ro,~tr-TR,~el,~fr-FR,~pl,~pt-BR,~zh-CN,~en-AU,~es,~no
220 220
 
221 221
 That's the list of languages we support. For the token above, the supported languages are:
222 222
 
223 223
 - `en`: English
224
-- `fr-FR`: French (incomplete)
224
+- `en-AU`: Australian English
225
+- `el`: Greek
226
+- `es`: Spanish
227
+- `fr-FR`: French
225 228
 - `no`: Norwegian
226
-- `pt-BR`: Brazilian Portugese (incomplete)
229
+- `pl`: Polish
230
+- `pt-BR`: Brazilian Portugese
231
+- `ro`: Romanian
227 232
 - `tr-TR`: Turkish
233
+- `zh-CN`: Chinese
228 234
 
229 235
 To change to a specific language, you can use the `LANGUAGE` command like this:
230 236
 
231
-    /LANGUAGE tr-TR
237
+    /LANGUAGE ro zh-CN
232 238
 
233
-The above will change the server language to Turkish. Substitute any of the other language codes in to select other languages, and run `/LANGUAGE en` to get back to standard English.
239
+The above will change the server language to Romanian, with a fallback to Chinese. English will always be the final fallback, if there's a line that is not translated. Substitute any of the other language codes in to select other languages, and run `/LANGUAGE en` to get back to standard English.
234 240
 
235 241
 Our language and translation functionality is very early, so feel free to let us know if there are any troubles with it! If you know another language and you'd like to contribute, we've got a CrowdIn project here: [https://crowdin.com/project/oragono](https://crowdin.com/project/oragono)
236 242
 
@@ -284,7 +290,7 @@ Every deployment's gonna be different, but you can use certificates from [Let's
284 290
 5. By default, `certbot` will automatically renew your certificates. Oragono will only reread certificates when it is restarted, or during a rehash (e.g., on receiving the `/rehash` command or the `SIGHUP` signal). You can add an executable script to `/etc/letsencrypt/renewal-hooks/post` that can perform the rehash. Here's one example of such a script:
285 291
 
286 292
 ```bash
287
-#/bin/bash
293
+#!/bin/bash
288 294
 pkill -HUP oragono
289 295
 ```
290 296
 
@@ -543,7 +549,7 @@ One exception is services frameworks like [Anope](https://github.com/anope/anope
543 549
 
544 550
 If you're looking for a bot that supports modern IRCv3 features, check out [bitbot](https://github.com/jesopo/bitbot/)!
545 551
 
546
-## HOPM
552
+## Hybrid Open Proxy Monitor (HOPM)
547 553
 
548 554
 [hopm](https://github.com/ircd-hybrid/hopm) can be used to monitor your server for connections from open proxies, then automatically ban them. To configure hopm to work with oragono, add operator blocks like this to your oragono config file, which grant hopm the necessary privileges:
549 555
 
@@ -592,7 +598,7 @@ kline = "DLINE ANDKILL 2h %i :Open proxy found on your host.";
592 598
 
593 599
 ## ZNC
594 600
 
595
-Versions of ZNC prior to 1.7 have a [bug](https://github.com/znc/znc/issues/1212) in their SASL implementation that renders them incompatible with Oragono. However, you should be able to authenticate from ZNC using its [nickserv](https://wiki.znc.in/Nickserv) module.
601
+Versions of ZNC prior to 1.7 have a [bug](https://github.com/znc/znc/issues/1212) in their SASL implementation that renders them incompatible with Oragono. However, you should be able to authenticate from ZNC using its [NickServ](https://wiki.znc.in/Nickserv) module.
596 602
 
597 603
 
598 604
 --------------------------------------------------------------------------------------------

+ 4
- 0
docs/MOTDFORMATTING.md View File

@@ -54,3 +54,7 @@ Here are the color names we support, and which IRC colors they map to:
54 54
       14  | grey
55 55
       15  | light grey
56 56
     --------------------
57
+
58
+In addition, some newer clients can make use of the colour codes 16-98, though they don't
59
+have any names assigned. Take a look at this table to see which colours these numbers are:
60
+https://modern.ircdocs.horse/formatting.html#colors-16-98

Loading…
Cancel
Save